From cdca28fd5acaf1417ae7804f71a25a6be7e146b8 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 30 Apr 2023 10:59:24 +0200 Subject: [PATCH] Core: add CMake functions to create .qm out of .ts files --- cMake/FreeCAD_Helpers/SetupQt.cmake | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/cMake/FreeCAD_Helpers/SetupQt.cmake b/cMake/FreeCAD_Helpers/SetupQt.cmake index bbe1316b0a..0719104459 100644 --- a/cMake/FreeCAD_Helpers/SetupQt.cmake +++ b/cMake/FreeCAD_Helpers/SetupQt.cmake @@ -15,7 +15,7 @@ if(BUILD_GUI) list (APPEND FREECAD_QT_COMPONENTS WinExtras) endif() endif() - list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets) + list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets LinguistTools) if (BUILD_WEB) list (APPEND FREECAD_QT_COMPONENTS WebEngineWidgets) endif() @@ -62,4 +62,26 @@ if (Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION VERSION_LESS 5.15.0) qt5_wrap_cpp("${outfiles}" ${ARGN}) set("${outfiles}" "${${outfiles}}" PARENT_SCOPE) endfunction() + + function(qt_add_translation _qm_files) + qt5_add_translation("${_qm_files}" ${ARGN}) + set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE) + endfunction() endif() + +function(qt_find_and_add_translation _qm_files _tr_dir _qm_dir) + file(GLOB _ts_files ${_tr_dir}) + set_source_files_properties(${_ts_files} PROPERTIES OUTPUT_LOCATION ${_qm_dir}) + qt_add_translation("${_qm_files}" ${_ts_files}) + set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE) +endfunction() + +function(qt_create_resource_file outfile) + set(QRC "\n \n") + foreach (it ${ARGN}) + get_filename_component(qmfile "${it}" NAME) + string(APPEND QRC " translations/${qmfile}") + endforeach() + string(APPEND QRC " \n\n") + file(WRITE ${outfile} ${QRC}) +endfunction()