Sine Striker
2024-11-21 ba8e8a32fc6e909ad0a2c152e36b6660c01fdad5
src/CMakeLists.txt
@@ -14,7 +14,15 @@
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)
@@ -27,7 +35,7 @@
# ----------------------------------
# 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)
@@ -115,16 +123,12 @@
            "$<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)
@@ -175,40 +179,16 @@
# Install
# ----------------------------------
if(QWINDOWKIT_INSTALL)
    # Add install target
    set(_install_dir ${CMAKE_INSTALL_LIBDIR}/cmake/${QWINDOWKIT_INSTALL_NAME})
    # Add version file
    write_basic_package_version_file(
        "${CMAKE_CURRENT_BINARY_DIR}/${QWINDOWKIT_INSTALL_NAME}ConfigVersion.cmake"
        VERSION ${PROJECT_VERSION}
        COMPATIBILITY AnyNewerVersion
    )
    # Add configuration file
    configure_package_config_file(
        ${CMAKE_CURRENT_LIST_DIR}/${QWINDOWKIT_INSTALL_NAME}Config.cmake.in
        "${CMAKE_CURRENT_BINARY_DIR}/${QWINDOWKIT_INSTALL_NAME}Config.cmake"
        INSTALL_DESTINATION ${_install_dir}
        NO_CHECK_REQUIRED_COMPONENTS_MACRO
    )
    # Install cmake files
    install(FILES
        "${CMAKE_CURRENT_BINARY_DIR}/${QWINDOWKIT_INSTALL_NAME}Config.cmake"
        "${CMAKE_CURRENT_BINARY_DIR}/${QWINDOWKIT_INSTALL_NAME}ConfigVersion.cmake"
        DESTINATION ${_install_dir}
    )
    # Install cmake targets files
    install(EXPORT ${QWINDOWKIT_INSTALL_NAME}Targets
        FILE "${QWINDOWKIT_INSTALL_NAME}Targets.cmake"
    qm_basic_install(
        NAME ${QWINDOWKIT_INSTALL_NAME}
        VERSION ${QWINDOWKIT_VERSION}
        INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${QWINDOWKIT_INSTALL_NAME}
        CONFIG_TEMPLATE "${QWINDOWKIT_INSTALL_NAME}Config.cmake.in"
        NAMESPACE ${QWINDOWKIT_INSTALL_NAME}::
        DESTINATION ${_install_dir}
        EXPORT ${QWINDOWKIT_INSTALL_NAME}Targets
        WRITE_CONFIG_OPTIONS NO_CHECK_REQUIRED_COMPONENTS_MACRO
    )
    # Install shared files
    install(DIRECTORY ../share/
        DESTINATION share/${QWINDOWKIT_INSTALL_NAME}
    )
    include("../share/install.cmake")
endif()