2016-10-08 19:07:28 +02:00
|
|
|
cmake_minimum_required(VERSION 3.3.0 FATAL_ERROR)
|
|
|
|
|
2016-04-16 00:50:31 +02:00
|
|
|
# after including this module, AppConfig must be included
|
|
|
|
|
|
|
|
# enable Qt Widgets GUI
|
2016-07-10 00:22:20 +02:00
|
|
|
if(WIDGETS_GUI)
|
2016-04-16 00:50:31 +02:00
|
|
|
add_definitions(
|
|
|
|
-DGUI_QTWIDGETS
|
|
|
|
-DMODEL_UNDO_SUPPORT
|
|
|
|
)
|
|
|
|
list(APPEND WIDGETS_FILES ${WIDGETS_HEADER_FILES} ${WIDGETS_SRC_FILES} ${WIDGETS_RES_FILES} ${WIDGETS_UI_FILES})
|
2016-04-16 18:32:56 +02:00
|
|
|
list(APPEND ADDITIONAL_HEADER_FILES ${WIDGETS_HEADER_FILES})
|
2016-04-16 00:50:31 +02:00
|
|
|
if(WIDGETS_FILES)
|
|
|
|
list(APPEND ADDITIONAL_QT_MODULES Widgets)
|
|
|
|
message(STATUS "Building with Qt Widgets GUI.")
|
|
|
|
else()
|
|
|
|
message(STATUS "Qt Widgets GUI is not available.")
|
|
|
|
endif()
|
|
|
|
else()
|
2016-07-10 00:22:20 +02:00
|
|
|
message(STATUS "Building WITHOUT Qt Widgets GUI.")
|
2016-04-16 00:50:31 +02:00
|
|
|
endif()
|
|
|
|
|
|
|
|
# enable Qt Quick GUI
|
2016-07-10 00:22:20 +02:00
|
|
|
if(QUICK_GUI)
|
2016-04-16 00:50:31 +02:00
|
|
|
add_definitions(
|
|
|
|
-DGUI_QTQUICK
|
|
|
|
)
|
|
|
|
list(APPEND QML_FILES ${QML_HEADER_FILES} ${QML_SRC_FILES} ${QML_RES_FILES})
|
2016-04-16 18:32:56 +02:00
|
|
|
list(APPEND ADDITIONAL_HEADER_FILES ${QML_HEADER_FILES})
|
2016-04-16 00:50:31 +02:00
|
|
|
if(QML_FILES)
|
|
|
|
list(APPEND ADDITIONAL_QT_MODULES Quick)
|
2016-07-16 23:12:02 +02:00
|
|
|
list(APPEND ADDITIONAL_QT_REPOS "declarative")
|
2016-04-16 00:50:31 +02:00
|
|
|
message(STATUS "Building with Qt Quick GUI.")
|
|
|
|
else()
|
|
|
|
message(STATUS "Qt Quick GUI is not available.")
|
|
|
|
endif()
|
|
|
|
else()
|
2016-07-10 00:22:20 +02:00
|
|
|
message(STATUS "Building WITHOUT Qt Quick GUI.")
|
2016-04-16 00:50:31 +02:00
|
|
|
endif()
|
|
|
|
|
2016-08-19 16:16:10 +02:00
|
|
|
if(WIDGETS_GUI OR QUICK_GUI)
|
2016-07-27 18:51:25 +02:00
|
|
|
list(APPEND QT_MODULES Gui)
|
2016-10-29 00:26:06 +02:00
|
|
|
|
2016-08-19 16:16:10 +02:00
|
|
|
# set "GUI-type" to WIN32 to hide console under windows
|
|
|
|
if(WIN32)
|
|
|
|
set(GUI_TYPE WIN32)
|
|
|
|
endif()
|
2016-07-27 18:51:25 +02:00
|
|
|
|
2016-10-29 00:26:06 +02:00
|
|
|
# add source files requried by both GUI variants
|
2016-07-27 18:51:25 +02:00
|
|
|
list(APPEND SRC_FILES ${GUI_SRC_FILES})
|
|
|
|
list(APPEND ADDITIONAL_HEADER_FILES ${GUI_HEADER_FILES})
|
2016-04-16 00:50:31 +02:00
|
|
|
endif()
|
2016-08-19 16:16:10 +02:00
|
|
|
|
2016-08-19 22:37:43 +02:00
|
|
|
# add option for enabling/disabling static Qt plugins
|
2016-10-08 19:07:28 +02:00
|
|
|
if("Svg" IN_LIST ADDITIONAL_QT_MODULES)
|
|
|
|
# Qt Svg module is not optional
|
|
|
|
set(SVG_SUPPORT ON)
|
|
|
|
else()
|
|
|
|
option(SVG_SUPPORT "enables/disables svg support for Qt GUI" OFF)
|
|
|
|
endif()
|
2016-08-19 22:37:43 +02:00
|
|
|
option(SVG_ICON_SUPPORT "enables/disables svg icon support for Qt GUI (only affects static builds where QSvgPlugin will be built-in if enabled)" ON)
|