diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2019-05-23 15:13:06 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2019-09-17 12:37:14 +0000 |
commit | c3f31b6332e4b96e2089b0d6a15d617cc2cae49f (patch) | |
tree | 833bd21bd86cc260eefadd5fb1e305413140dff2 /cmake | |
parent | dac42e9e28be1d9dade5acedee82271fba794495 (diff) |
CMake: Handle translations
(Optionally) re-generate .ts files from CMake by running lupdate and
run lrelease to generate .qm files.
Changes to qmake:
* src/libs/3rdparty/syntax-highlighting/src/cli/kate-syntax-highlighter.cpp
is no longer translated: It's a command line tool that is not used by creator
* src/libs/aggregation/examples/text/main.cpp is no longer included in ts files
* src/libs/qt-breakpad/qtcrashhandler/* is no longer included in ts files:
It is not built right now
Change-Id: Iec018da86a111a68ec983a880cef2961b48ccdf9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtCreatorAPI.cmake | 53 |
1 files changed, 48 insertions, 5 deletions
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 1613455fc6..db98b9751c 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -94,6 +94,22 @@ set(__QTC_TESTS "" CACHE INTERNAL "*** Internal ***") # Internal functions # +function(append_extra_translations target_name) + if(NOT ARGN) + return() + endif() + + if(TARGET "${target_name}") + get_target_property(_input "${target_name}" QT_EXTRA_TRANSLATIONS) + if (_input) + set(_output "${_input}" "${ARGN}") + else() + set(_output "${ARGN}") + endif() + set_target_properties("${target_name}" PROPERTIES QT_EXTRA_TRANSLATIONS "${_output}") + endif() +endfunction() + function(update_cached_list name value) set(_tmp_list "${${name}}") list(APPEND _tmp_list "${value}") @@ -321,8 +337,8 @@ endfunction() # function(add_qtc_library name) - cmake_parse_arguments(_arg "STATIC;OBJECT" "" - "DEFINES;DEPENDS;INCLUDES;PUBLIC_DEFINES;PUBLIC_DEPENDS;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;PROPERTIES" ${ARGN} + cmake_parse_arguments(_arg "STATIC;OBJECT;SKIP_TRANSLATION" "" + "DEFINES;DEPENDS;EXTRA_TRANSLATIONS;INCLUDES;PUBLIC_DEFINES;PUBLIC_DEPENDS;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;PROPERTIES" ${ARGN} ) if (${_arg_UNPARSED_ARGUMENTS}) @@ -384,6 +400,11 @@ function(add_qtc_library name) set_property(SOURCE ${file} PROPERTY SKIP_AUTOMOC ON) endforeach() + set(skip_translation OFF) + if (_arg_SKIP_TRANSLATION) + set(skip_translation ON) + endif() + qtc_output_binary_dir(_output_binary_dir) set_target_properties(${name} PROPERTIES SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}" @@ -426,13 +447,15 @@ function(add_qtc_library name) COMPONENT Devel EXCLUDE_FROM_ALL ) endif() + + append_extra_translations("${name}" "${_arg_EXTRA_TRANSLATIONS}") endfunction(add_qtc_library) function(add_qtc_plugin target_name) cmake_parse_arguments(_arg - "EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY" + "EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION" "VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC" + "CONDITION;DEPENDS;EXTRA_TRANSLATIONS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;SOURCES;EXPLICIT_MOC" ${ARGN} ) @@ -585,6 +608,11 @@ function(add_qtc_plugin target_name) set(plugin_dir "${_arg_PLUGIN_PATH}") endif() + set(skip_translation OFF) + if (_arg_SKIP_TRANSLATION) + set(skip_translation ON) + endif() + qtc_output_binary_dir(_output_binary_dir) set_target_properties(${target_name} PROPERTIES SOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}" @@ -598,8 +626,10 @@ function(add_qtc_plugin target_name) ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}" RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}" OUTPUT_NAME "${name}" + QT_SKIP_TRANSLATION "${skip_translation}" ${_arg_PROPERTIES} ) + append_extra_translations("${target_name}" "${_arg_EXTRA_TRANSLATIONS}") enable_pch(${target_name}) foreach(file IN LISTS _arg_EXPLICIT_MOC) @@ -693,7 +723,9 @@ function(extend_qtc_plugin target_name) endfunction() function(add_qtc_executable name) - cmake_parse_arguments(_arg "SKIP_INSTALL" "DESTINATION" "DEFINES;DEPENDS;INCLUDES;SOURCES;PROPERTIES" ${ARGN}) + cmake_parse_arguments(_arg "SKIP_INSTALL;SKIP_TRANSLATION" + "DESTINATION" + "DEFINES;DEPENDS;EXTRA_TRANSLATIONS;INCLUDES;SOURCES;PROPERTIES" ${ARGN}) if ($_arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "add_qtc_executable had unparsed arguments!") @@ -736,13 +768,21 @@ function(add_qtc_executable name) target_include_directories("${name}" PRIVATE "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES}) target_compile_definitions("${name}" PRIVATE ${_arg_DEFINES} ${TEST_DEFINES} ${DEFAULT_DEFINES}) target_link_libraries("${name}" PRIVATE ${_arg_DEPENDS} ${_TEST_DEPENDS}) + + set(skip_translation OFF) + if (_arg_SKIP_TRANSLATION) + set(skip_translation ON) + endif() + qtc_output_binary_dir(_output_binary_dir) set_target_properties("${name}" PROPERTIES BUILD_RPATH "${_RPATH_BASE}/${_RELATIVE_LIB_PATH}" INSTALL_RPATH "${_RPATH_BASE}/${_RELATIVE_LIB_PATH}" RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}" + QT_SKIP_TRANSLATION "${skip_translation}" ${_arg_PROPERTIES} ) + append_extra_translations("${name}" "${_arg_EXTRA_TRANSLATIONS}") enable_pch(${name}) if (NOT _arg_SKIP_INSTALL) @@ -790,6 +830,9 @@ function(add_qtc_test name) add_test(NAME ${name} COMMAND ${name}) fix_test_environment(${name}) endif() + + # Never translate tests: + set_tests_properties(${name} PROPERTIES QT_SKIP_TRANSLATION ON) endfunction() function(finalize_qtc_gtest test_name) |