36 lines
1.5 KiB
CMake
36 lines
1.5 KiB
CMake
# determines the JavaScript provider (either Qt Script or Qt Declarative)
|
|
|
|
set(JS_PROVIDER "auto" CACHE STRING "specifies the JavaScript provider: auto (default), qml, script or none")
|
|
if(${JS_PROVIDER} STREQUAL "auto")
|
|
find_package(Qt5Script)
|
|
if(Qt5Script_FOUND)
|
|
set(JS_PROVIDER Qt5::Script)
|
|
set(JS_DEFINITION "-D${META_PROJECT_NAME}USE_SCRIPT")
|
|
message(STATUS "No JavaScript provider explicitly specified, defaulting to Qt Script.")
|
|
else()
|
|
find_package(Qt5Qml REQUIRED)
|
|
set(JS_PROVIDER Qt5::Qml)
|
|
set(JS_DEFINITION "-D${META_PROJECT_NAME}USE_JSENGINE")
|
|
message(STATUS "No JavaScript provider explicitly specified, defaulting to Qt QML.")
|
|
endif()
|
|
else()
|
|
if(${JS_PROVIDER} STREQUAL "script")
|
|
find_package(Qt5Script REQUIRED)
|
|
set(JS_PROVIDER Qt5::Script)
|
|
set(JS_DEFINITION "-D${META_PROJECT_NAME}USE_SCRIPT")
|
|
message(STATUS "Using Qt Script as JavaScript provider.")
|
|
elseif(${JS_PROVIDER} STREQUAL "qml")
|
|
find_package(Qt5Qml REQUIRED)
|
|
set(JS_PROVIDER Qt5::Qml)
|
|
set(JS_DEFINITION "-D${META_PROJECT_NAME}USE_JSENGINE")
|
|
message(STATUS "Using Qt QML as JavaScript provider.")
|
|
elseif(${JS_PROVIDER} STREQUAL "none")
|
|
set(JS_DEFINITION "-D${META_PROJECT_NAME}NO_JSENGINE")
|
|
message(STATUS "JavaScript provider has been disabled.")
|
|
else()
|
|
message(FATAL_ERROR "The specified JavaScript provider '${JS_PROVIDER}' is unknown.")
|
|
endif()
|
|
endif()
|
|
|
|
list(APPEND LIBRARIES ${JS_PROVIDER})
|