aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-07-08 13:50:18 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-07-08 13:50:18 -0500
commit14cc1d096a1f7801991cb88c4646913b0d656c5f (patch)
treeb9d3e7cc18c77c4b09201a15992b5acdf7addeff
parent840421fd7bdc914c0256e85cdf0868ee2d21ba4e (diff)
parenta00ed6a75aef82084e42297f63619a064ad5f066 (diff)
downloadmonzero-gui-14cc1d096a1f7801991cb88c4646913b0d656c5f.tar.gz
monzero-gui-14cc1d096a1f7801991cb88c4646913b0d656c5f.tar.xz
monzero-gui-14cc1d096a1f7801991cb88c4646913b0d656c5f.zip
Merge pull request #2976
a00ed6a cmake: implement translations support (xiphon)
-rw-r--r--CMakeLists.txt3
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--translations/CMakeLists.txt24
3 files changed, 27 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0143259b..298902f8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -487,4 +487,7 @@ if (HIDAPI_FOUND OR LibUSB_COMPILE_TEST_PASSED)
endif()
endif()
+add_subdirectory(translations)
+get_directory_property(TRANSLATIONS_QRC DIRECTORY translations DEFINITION TRANSLATIONS_QRC)
+
add_subdirectory(src)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a1cc871d..8800c2fb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -6,7 +6,7 @@ add_subdirectory(model)
add_subdirectory(openpgp)
add_subdirectory(zxcvbn-c)
-qt5_add_resources(RESOURCES ../qml.qrc)
+qt5_add_resources(RESOURCES ../qml.qrc ${TRANSLATIONS_QRC})
# Compile source files (.h/.cpp)
file(GLOB SOURCE_FILES
diff --git a/translations/CMakeLists.txt b/translations/CMakeLists.txt
index fe193ca1..8f1c0bc6 100644
--- a/translations/CMakeLists.txt
+++ b/translations/CMakeLists.txt
@@ -1 +1,23 @@
-qt5_add_resources(RESOURCE_FILES *.ts)
+file(GLOB TS_FILES *.ts)
+
+set(QRC "<RCC><qresource prefix=\"/\">")
+foreach(TS_FILE ${TS_FILES})
+ get_filename_component(QM_FILE ${TS_FILE} NAME_WE)
+ set(QM_FILE ${CMAKE_CURRENT_BINARY_DIR}/${QM_FILE}.qm)
+
+ execute_process(COMMAND lrelease -compress -nounfinished -removeidentical ${TS_FILE} -qm ${QM_FILE}
+ RESULT_VARIABLE RET
+ OUTPUT_VARIABLE OUT
+ ERROR_VARIABLE ERR
+ )
+ if(RET)
+ message(FATAL_ERROR "${TS_FILE}: lrelease returned non-zero exit code: ${RET} ${OUT} ${ERR}")
+ endif()
+
+ get_filename_component(QM_FILE_NAME ${QM_FILE} NAME)
+ string(APPEND QRC "<file>${QM_FILE_NAME}</file>")
+endforeach()
+string(APPEND QRC "</qresource></RCC>")
+
+set(TRANSLATIONS_QRC ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc)
+file(WRITE ${TRANSLATIONS_QRC} ${QRC})