| | |
| | | set(QWINDOWKIT_GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/../include) |
| | | set(QWINDOWKIT_BUILD_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/../etc/include) |
| | | |
| | | set(QWINDOWKIT_ENABLED_TARGETS) |
| | | set(QWINDOWKIT_ENABLED_SUBDIRECTORIES) |
| | | |
| | | # ---------------------------------- |
| | | # Configurations |
| | | # ---------------------------------- |
| | | set(QMSETUP_DEFINITION_SCOPE DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
| | | set(QMSETUP_DEFINITION_NUMERICAL on) |
| | | |
| | | qm_add_definition(QWINDOWKIT_TEST_CONFIG true) |
| | | qm_add_definition(QWINDOWKIT_ENABLE_QT_WINDOW_CONTEXT |
| | | CONDITION QWINDOWKIT_ENABLE_QT_WINDOW_CONTEXT |
| | | ) |
| | | qm_add_definition(QWINDOWKIT_ENABLE_STYLE_AGENT |
| | | CONDITION QWINDOWKIT_ENABLE_STYLE_AGENT |
| | | ) |
| | | qm_add_definition(QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS |
| | | CONDITION QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS |
| | | ) |
| | | |
| | | qm_generate_config(${QWINDOWKIT_BUILD_INCLUDE_DIR}/QWKCore/qwkconfig.h) |
| | | |
| | |
| | | # ---------------------------------- |
| | | # CMake API |
| | | # ---------------------------------- |
| | | function(qwk_add_library _target) |
| | | macro(qwk_add_library _target) |
| | | set(options AUTOGEN NO_SYNC_INCLUDE NO_WIN_RC) |
| | | set(oneValueArgs SYNC_INCLUDE_PREFIX PREFIX) |
| | | set(multiValueArgs SYNC_INCLUDE_OPTIONS) |
| | |
| | | |
| | | # Add include directories |
| | | target_include_directories(${_target} PRIVATE ${QWINDOWKIT_BUILD_INCLUDE_DIR}) |
| | | target_include_directories(${_target} PRIVATE .) |
| | | |
| | | # Library name |
| | | if(${_target} MATCHES "^QWK(.+)") |
| | |
| | | "$<BUILD_INTERFACE:${QWINDOWKIT_GENERATED_INCLUDE_DIR}>" |
| | | ) |
| | | endif() |
| | | endfunction() |
| | | endmacro() |
| | | |
| | | # ---------------------------------- |
| | | # Main Project |
| | | # ---------------------------------- |
| | | add_subdirectory(core) |
| | | |
| | | if(QWINDOWKIT_BUILD_STYLE_SUPPORT) |
| | | add_subdirectory(stylesupport) |
| | | endif() |
| | | |
| | | if(QWINDOWKIT_BUILD_WIDGETS) |
| | | add_subdirectory(widgets) |
| | |
| | | set(_install_options INSTALL_DIR share/doc/${QWINDOWKIT_INSTALL_NAME}) |
| | | endif() |
| | | |
| | | set(_doc_targets) |
| | | qm_collect_targets(_doc_targets SHARED STATIC) |
| | | set(_doc_targets ${QWINDOWKIT_ENABLED_TARGETS}) |
| | | |
| | | set(QWINDOWKIT_DOXYGEN_TAGFILE |
| | | ${CMAKE_BUILD_SHARE_DIR}/doc/${QWINDOWKIT_INSTALL_NAME}/${QWINDOWKIT_INSTALL_NAME}_tagfile.xml |
| | | CACHE FILEPATH "QWINDOWKIT doxygen tag file path" FORCE |
| | | CACHE FILEPATH "QWindowKit doxygen tag file path" FORCE |
| | | ) |
| | | |
| | | qm_import(Doxygen) |
| | | qm_setup_doxygen(QWINDOWKIT_RunDoxygen |
| | | NAME "QWINDOWKIT" |
| | | qm_setup_doxygen(QWindowKit_RunDoxygen |
| | | NAME "QWindowKit" |
| | | DESCRIPTION "${QWINDOWKIT_PROJECT_DESCRIPTION}" |
| | | MDFILE ../README.md |
| | | OUTPUT_DIR ${CMAKE_BUILD_SHARE_DIR}/doc/${QWINDOWKIT_INSTALL_NAME} |
| | | INPUT QWINDOWKIT |
| | | INPUT ${QWINDOWKIT_ENABLED_SUBDIRECTORIES} |
| | | TARGETS ${_doc_targets} |
| | | DEPENDS ${_doc_targets} |
| | | NO_EXPAND_MACROS Q_OBJECT Q_GADGET Q_DECLARE_TR_FUNCTIONS |
| | |
| | | ) |
| | | |
| | | # Install shared files |
| | | install(DIRECTORY ../share/ |
| | | DESTINATION share/${QWINDOWKIT_INSTALL_NAME} |
| | | ) |
| | | include("../share/install.cmake") |
| | | endif() |