diff --git a/CMakeLists.txt b/CMakeLists.txt index 45c9f24..e3f0de8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,15 +6,15 @@ set(HEADER_FILES misc/undefxmlparsermacros.h misc/trylocker.h misc/adoptlocker.h - misc/dialogutils.cpp - misc/desktoputils.cpp + misc/dialogutils.h + misc/desktoputils.h models/checklistmodel.h resources/qtconfigarguments.h resources/resources.h ) set(SRC_FILES - misc/dialogutils.h - misc/desktoputils.h + misc/dialogutils.cpp + misc/desktoputils.cpp models/checklistmodel.cpp resources/qtconfigarguments.cpp resources/resources.cpp diff --git a/cmake/modules/QtConfig.cmake b/cmake/modules/QtConfig.cmake index 631c3ef..74e9f0d 100644 --- a/cmake/modules/QtConfig.cmake +++ b/cmake/modules/QtConfig.cmake @@ -61,6 +61,17 @@ endif() set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) -if(${WIDGETS_GUI} STREQUAL "yes") +if(WIDGETS_UI_FILES AND "${WIDGETS_GUI}" STREQUAL "yes") set(CMAKE_AUTOUIC ON) + if(INSTALL_UI_HEADER) + # also add installd for header files generated by uic + foreach(UI_FILE WIDGETS_UI_FILES) + get_filename_component(UI_NAME "${UI_FILE}" NAME_WE) + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/ui_${UI_NAME}.h" + DESTINATION "include/${META_PROJECT_NAME}/ui" + COMPONENT header + ) + endforeach() + endif() endif() diff --git a/cmake/modules/QtGuiConfig.cmake b/cmake/modules/QtGuiConfig.cmake index c911e70..04dd481 100644 --- a/cmake/modules/QtGuiConfig.cmake +++ b/cmake/modules/QtGuiConfig.cmake @@ -8,6 +8,7 @@ if(${WIDGETS_GUI} STREQUAL "yes") -DMODEL_UNDO_SUPPORT ) list(APPEND WIDGETS_FILES ${WIDGETS_HEADER_FILES} ${WIDGETS_SRC_FILES} ${WIDGETS_RES_FILES} ${WIDGETS_UI_FILES}) + list(APPEND ADDITIONAL_HEADER_FILES ${WIDGETS_HEADER_FILES}) if(WIDGETS_FILES) list(APPEND ADDITIONAL_QT_MODULES Widgets) message(STATUS "Building with Qt Widgets GUI.") @@ -27,6 +28,7 @@ if(${QUICK_GUI} STREQUAL "yes") -DGUI_QTQUICK ) list(APPEND QML_FILES ${QML_HEADER_FILES} ${QML_SRC_FILES} ${QML_RES_FILES}) + list(APPEND ADDITIONAL_HEADER_FILES ${QML_HEADER_FILES}) if(QML_FILES) list(APPEND ADDITIONAL_QT_MODULES Quick) message(STATUS "Building with Qt Quick GUI.") @@ -41,7 +43,7 @@ endif() # set "GUI-type" to WIN32 to hide console under windows if(WIN32) - if(${WIDGETS_GUI} STREQUAL "yes" or ${QUICK_GUI} STREQUAL "yes") + if(${WIDGETS_GUI} STREQUAL "yes" OR ${QUICK_GUI} STREQUAL "yes") list(APPEND QT_MODULES Gui) set(GUI_TYPE WIN32) endif()