summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2021-10-13 10:41:02 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2021-10-14 09:13:25 +0000
commitc2b42232ae9723a2811bb601cab53043e0e6efa4 (patch)
tree19039dd5b186ad5468554183a7381b4faa02315e
parentbc7639620a13a60c249afce60c2b238da16d6e15 (diff)
downloadqttools-c2b42232ae9723a2811bb601cab53043e0e6efa4.tar.gz
qt_add_lupdate: Fix SOURCES and INCLUDE_DIRECTORIES arguments
Both arguments did not properly set the passed values. Fixes: QTBUG-97389 Change-Id: I686ac6d100dd9cce0b1214568ef01144677e5366 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 23b348e9e9583c8face308e58fcd2ac14f905b4d) Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/linguist/Qt6LinguistToolsMacros.cmake8
-rw-r--r--tests/auto/cmake/test_translation_api/CMakeLists.txt12
2 files changed, 18 insertions, 2 deletions
diff --git a/src/linguist/Qt6LinguistToolsMacros.cmake b/src/linguist/Qt6LinguistToolsMacros.cmake
index 4bfd5c48a..f0d99dd4d 100644
--- a/src/linguist/Qt6LinguistToolsMacros.cmake
+++ b/src/linguist/Qt6LinguistToolsMacros.cmake
@@ -155,10 +155,14 @@ function(qt6_add_lupdate target)
INCLUDE_DIRECTORIES
OPTIONS)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT arg_INCLUDE_DIRECTORIES)
+ if(arg_INCLUDE_DIRECTORIES)
+ qt_internal_make_paths_absolute(includePaths "${arg_INCLUDE_DIRECTORIES}")
+ else()
set(includePaths "$<TARGET_PROPERTY:${target},INCLUDE_DIRECTORIES>")
endif()
- if(NOT arg_SOURCES)
+ if(arg_SOURCES)
+ qt_internal_make_paths_absolute(sources "${arg_SOURCES}")
+ else()
set(sources "$<TARGET_PROPERTY:${target},SOURCES>")
endif()
diff --git a/tests/auto/cmake/test_translation_api/CMakeLists.txt b/tests/auto/cmake/test_translation_api/CMakeLists.txt
index 9d1394566..ea20ff320 100644
--- a/tests/auto/cmake/test_translation_api/CMakeLists.txt
+++ b/tests/auto/cmake/test_translation_api/CMakeLists.txt
@@ -118,6 +118,18 @@ if("${staticlib1_resource_targets}" STREQUAL "")
message(FATAL_ERROR "staticlib1_resource_targets is empty.")
endif()
+# Explicitly specify SOURCES.
+create_app(app6)
+qt6_add_translations(app6
+ TS_FILES myobject_cs.ts
+ SOURCES myi18nobject.cpp)
+
+# Explicitly specify INCLUDE_DIRECTORIES.
+create_app(app7)
+qt6_add_translations(app7
+ TS_FILES myobject_nl.ts
+ INCLUDE_DIRECTORIES some_dir)
+
# Build the update_translations target
add_custom_target(my_all_target
ALL