aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt80
-rw-r--r--src/core/CMakeLists.txt11
-rw-r--r--src/module/integrated/version_checking_module/CMakeLists.txt9
-rw-r--r--src/pinentry/CMakeLists.txt9
-rw-r--r--src/ui/CMakeLists.txt12
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