From df53287060966d78ffccac78342fb5d0a028f835 Mon Sep 17 00:00:00 2001 From: sola.lu <sola.lu.greentest.com.cn> Date: 周二, 10 6月 2025 19:03:07 +0800 Subject: [PATCH] 1.添加翻译,about,手册,login这几个按钮到标题栏。 --- src/CMakeLists.txt | 86 ++++++++++++++++-------------------------- 1 files changed, 33 insertions(+), 53 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b0c2943..815e4da 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,10 +1,10 @@ -qm_import(Filesystem Preprocess) -qm_init_directories() +qm_import(Preprocess) -set(QWINDOWKIT_PROJECT_DESCRIPTION "Cross-platform window customization framework") -set(QWINDOWKIT_PROJECT_COPYRIGHT "Copyright 2023 Stdware Collections") 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 @@ -12,7 +12,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) @@ -25,7 +33,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) @@ -48,8 +56,8 @@ if(WIN32 AND NOT FUNC_NO_WIN_RC AND(${_type} STREQUAL "SHARED")) qm_add_win_rc(${_target} NAME ${QWINDOWKIT_INSTALL_NAME} - DESCRIPTION ${QWINDOWKIT_PROJECT_DESCRIPTION} - COPYRIGHT ${QWINDOWKIT_PROJECT_COPYRIGHT} + DESCRIPTION ${QWINDOWKIT_DESCRIPTION} + COPYRIGHT ${QACTIONKIT_COPYRIGHT} ) endif() @@ -67,6 +75,7 @@ # Add include directories target_include_directories(${_target} PRIVATE ${QWINDOWKIT_BUILD_INCLUDE_DIR}) + target_include_directories(${_target} PRIVATE .) # Library name if(${_target} MATCHES "^QWK(.+)") @@ -106,22 +115,18 @@ if(NOT FUNC_NO_SYNC_INCLUDE) # Generate a standard include directory in build directory qm_sync_include(. "${QWINDOWKIT_GENERATED_INCLUDE_DIR}/${_inc_name}" ${_install_options} - ${FUNC_SYNC_INCLUDE_OPTIONS} + ${FUNC_SYNC_INCLUDE_OPTIONS} FORCE ) target_include_directories(${_target} PUBLIC "$<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) @@ -145,21 +150,20 @@ 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" - DESCRIPTION "${QWINDOWKIT_PROJECT_DESCRIPTION}" + qm_setup_doxygen(QWindowKit_RunDoxygen + NAME "QWindowKit" + DESCRIPTION "${QWINDOWKIT_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 @@ -173,40 +177,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() \ No newline at end of file -- Gitblit v1.9.1