diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 80 | ||||
-rw-r--r-- | src/core/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/module/integrated/version_checking_module/CMakeLists.txt | 9 | ||||
-rw-r--r-- | src/pinentry/CMakeLists.txt | 9 | ||||
-rw-r--r-- | src/ui/CMakeLists.txt | 12 |
5 files changed, 92 insertions, 29 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6a7cf4a8..a464b4c3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -53,9 +53,17 @@ if (APPLE) endif() find_package(OpenSSL REQUIRED) -# Introduce Qt -# Support Qt version: 6.x -find_package(Qt6 6 COMPONENTS Core Test Widgets PrintSupport Network Core5Compat LinguistTools REQUIRED) + +if(GPGFRONTEND_QT5_BUILD) + # Introduce Qt + # Support Qt version: 5.15.x + find_package(Qt5 5.15 COMPONENTS Core Widgets PrintSupport Network LinguistTools REQUIRED) +else() + # Introduce Qt + # Support Qt version: 6.x + find_package(Qt6 6 COMPONENTS Core Widgets PrintSupport Network Core5Compat LinguistTools REQUIRED) +endif() + # Qt configuration set(CMAKE_AUTOMOC ON) @@ -447,22 +455,56 @@ if (BUILD_APPLICATION) "${LOCALE_TS_PATH}/GpgFrontend.zh_TW.ts" "${LOCALE_TS_PATH}/GpgFrontend.it_IT.ts") file(GLOB_RECURSE ALL_SOURCE_FILES RELACTIVE ${CMAKE_SOURCE_DIR}/src/*.cpp) - qt_add_translations(${AppName} - RESOURCE_PREFIX "/i18n" - TS_FILES ${TS_FILES} - SOURCES ${ALL_SOURCE_FILES} - INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/src) - - file(GLOB QT_TRANSLATIONS_TS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/third_party/qttranslations/translations/*.ts) - list(FILTER QT_TRANSLATIONS_TS INCLUDE REGEX ".*(qt|qtbase)_.*\.ts$") - add_custom_target(qttranslations ALL) - qt_add_lrelease(qttranslations - TS_FILES ${QT_TRANSLATIONS_TS} - QM_FILES_OUTPUT_VARIABLE QT_TRANSLATIONS_QM) - qt_add_resources(${AppName} "qttranslations" - PREFIX "/i18n_qt" - BASE ${CMAKE_CURRENT_BINARY_DIR} - FILES ${QT_TRANSLATIONS_QM}) + + if(GPGFRONTEND_QT5_BUILD) + # TODO + qt5_add_translation(GF_TRANSLATIONS_QM ${TS_FILES}) + message(STATUS "GF_TRANSLATIONS_QM ${GF_TRANSLATIONS_QM}") + + set(GF_QM_TRANSLATIONS_RESOURCE_FILE "${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc") + file(WRITE ${GF_QM_TRANSLATIONS_RESOURCE_FILE} "<!DOCTYPE RCC>\n<RCC version=\"1.0\">\n <qresource prefix=\"i18n\">\n") + foreach(QM_FILE ${GF_TRANSLATIONS_QM}) + file(RELATIVE_PATH QM_FILENAME ${CMAKE_CURRENT_BINARY_DIR} ${QM_FILE}) + file(APPEND ${GF_QM_TRANSLATIONS_RESOURCE_FILE} " <file alias=\"${QM_FILENAME}\">${QM_FILE}</file>\n") + endforeach() + file(APPEND ${GF_QM_TRANSLATIONS_RESOURCE_FILE} " </qresource>\n</RCC>\n") + qt5_add_resources(GF_I18N_RESOURCES ${GF_QM_TRANSLATIONS_RESOURCE_FILE}) + + file(GLOB QT_TRANSLATIONS_TS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/third_party/qttranslations/translations/*.ts) + list(FILTER QT_TRANSLATIONS_TS INCLUDE REGEX ".*(qt|qtbase)_.*\.ts$") + qt5_add_translation(QT_TRANSLATIONS_QM ${QT_TRANSLATIONS_TS}) + + set(QT_QM_TRANSLATIONS_RESOURCE_FILE "${CMAKE_CURRENT_BINARY_DIR}/qt_i18n.qrc") + file(WRITE ${QT_QM_TRANSLATIONS_RESOURCE_FILE} "<!DOCTYPE RCC>\n<RCC version=\"1.0\">\n <qresource prefix=\"qt_i18n\">\n") + foreach(QM_FILE ${QT_TRANSLATIONS_QM}) + file(RELATIVE_PATH QM_FILENAME ${CMAKE_CURRENT_BINARY_DIR} ${QM_FILE}) + file(APPEND ${QT_QM_TRANSLATIONS_RESOURCE_FILE} " <file alias=\"${QM_FILENAME}\">${QM_FILE}</file>\n") + endforeach() + file(APPEND ${QT_QM_TRANSLATIONS_RESOURCE_FILE} " </qresource>\n</RCC>\n") + qt5_add_resources(GF_I18N_RESOURCES ${QT_QM_TRANSLATIONS_RESOURCE_FILE}) + + message(STATUS "GF_I18N_RESOURCES ${GF_I18N_RESOURCES}") + + target_sources(${AppName} PRIVATE ${GF_I18N_RESOURCES}) + else() + qt_add_translations(${AppName} + RESOURCE_PREFIX "/i18n" + TS_FILES ${TS_FILES} + SOURCES ${ALL_SOURCE_FILES} + INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/src) + file(GLOB QT_TRANSLATIONS_TS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/third_party/qttranslations/translations/*.ts) + list(FILTER QT_TRANSLATIONS_TS INCLUDE REGEX ".*(qt|qtbase)_.*\.ts$") + add_custom_target(qttranslations ALL) + qt_add_lrelease(qttranslations + TS_FILES ${QT_TRANSLATIONS_TS} + QM_FILES_OUTPUT_VARIABLE QT_TRANSLATIONS_QM) + qt_add_resources(${AppName} "qttranslations" + PREFIX "/i18n_qt" + BASE ${CMAKE_CURRENT_BINARY_DIR} + FILES ${QT_TRANSLATIONS_QM}) + endif() + + endif() # if building linux package diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index a37ea7ee..b5dd3571 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -99,9 +99,14 @@ endif() # link libarchive target_link_libraries(gpgfrontend_core PRIVATE archive) - -# link Qt core -target_link_libraries(gpgfrontend_core PUBLIC Qt6::Core) + +if(GPGFRONTEND_QT5_BUILD) + # link Qt core + target_link_libraries(gpgfrontend_core PUBLIC Qt5::Core) +else() + # link Qt core + target_link_libraries(gpgfrontend_core PUBLIC Qt6::Core) +endif() # set up pch target_precompile_headers(gpgfrontend_core diff --git a/src/module/integrated/version_checking_module/CMakeLists.txt b/src/module/integrated/version_checking_module/CMakeLists.txt index f122be88..76459b0e 100644 --- a/src/module/integrated/version_checking_module/CMakeLists.txt +++ b/src/module/integrated/version_checking_module/CMakeLists.txt @@ -46,8 +46,13 @@ endif () target_link_libraries(gpgfrontend_integrated_module_version_checking PRIVATE gpgfrontend_module_sdk) -# link Qt -target_link_libraries(gpgfrontend_integrated_module_version_checking PRIVATE Qt6::Network) +if(GPGFRONTEND_QT5_BUILD) + # link Qt + target_link_libraries(gpgfrontend_integrated_module_version_checking PUBLIC Qt5::Network) +else() + # link Qt + target_link_libraries(gpgfrontend_integrated_module_version_checking PUBLIC Qt6::Network) +endif() # property set_property(TARGET gpgfrontend_integrated_module_version_checking PROPERTY AUTOMOC ON) diff --git a/src/pinentry/CMakeLists.txt b/src/pinentry/CMakeLists.txt index b31e4f05..3145719a 100644 --- a/src/pinentry/CMakeLists.txt +++ b/src/pinentry/CMakeLists.txt @@ -37,8 +37,13 @@ add_library(gpgfrontend_pinentry SHARED ${PINENTRY_SOURCE}) target_link_libraries(gpgfrontend_pinentry PUBLIC gpgfrontend_core) -# link Qt core -target_link_libraries(gpgfrontend_pinentry PUBLIC Qt6::Widgets) +if(GPGFRONTEND_QT5_BUILD) + # link Qt core + target_link_libraries(gpgfrontend_pinentry PUBLIC Qt5::Widgets) +else() + # link Qt core + target_link_libraries(gpgfrontend_pinentry PUBLIC Qt6::Widgets) +endif() # spdlog target_link_libraries(gpgfrontend_pinentry PRIVATE spdlog) diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index c9c27462..3f0686e2 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -47,9 +47,15 @@ add_library(gpgfrontend_ui SHARED ${UI_SOURCE}) set(_export_file "${CMAKE_CURRENT_SOURCE_DIR}/GpgFrontendUIExport.h") generate_export_header(gpgfrontend_ui EXPORT_FILE_NAME "${_export_file}") -# link Qt -target_link_libraries(gpgfrontend_ui - Qt6::Network Qt6::PrintSupport Qt6::Test Qt6::Core5Compat) +if(GPGFRONTEND_QT5_BUILD) + # link Qt + target_link_libraries(gpgfrontend_ui + Qt5::Core Qt5::Widgets Qt5::Network Qt5::PrintSupport) +else() + # link Qt + target_link_libraries(gpgfrontend_ui + Qt6::Core Qt6::Widgets Qt6::Network Qt6::PrintSupport Qt6::Core5Compat) +endif() # link gpgfrontend_core |