From 6009af9aced49b3331b2c5349b33aa567bdcda3f Mon Sep 17 00:00:00 2001
From: Stephen Kelly <stephen.kelly@kdab.com>
Date: Thu, 27 Sep 2012 13:01:12 +0200
Subject: [PATCH] Create IMPORTED targets for the linguist tools.

We already create IMPORTED targets for the qtbase tools
since qtbase/189a5d8af12788a30121210066de647a6dc3a167

Change-Id: I89a1c59b4e14f0f5bdc71dfca0165e625c779715
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
---
 src/linguist/Qt5LinguistToolsConfig.cmake.in | 29 ++++++++++++++++----
 src/linguist/Qt5LinguistToolsMacros.cmake    |  4 +--
 2 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
index 85cbf28f9..6584b56bc 100644
--- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
@@ -1,12 +1,31 @@
 
-get_filename_component(_qt5_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+get_filename_component(_qt5_linguisttools_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
 
+if (NOT TARGET Qt5::lrelease)
+    add_executable(Qt5::lrelease IMPORTED)
+
+    set_target_properties(Qt5::lrelease PROPERTIES
 !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
-set(QT_LRELEASE_EXECUTABLE \"${_qt5_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-set(QT_LUPDATE_EXECUTABLE \"${_qt5_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+        IMPORTED_LOCATION \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\"
 !!ELSE
-set(QT_LRELEASE_EXECUTABLE \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-set(QT_LUPDATE_EXECUTABLE \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+        IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\"
 !!ENDIF
+    )
+endif()
+
+if (NOT TARGET Qt5::lupdate)
+    add_executable(Qt5::lupdate IMPORTED)
+
+    set_target_properties(Qt5::lupdate PROPERTIES
+!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+        IMPORTED_LOCATION \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\"
+!!ELSE
+        IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\"
+!!ENDIF
+    )
+endif()
+
+set(Qt5_LRELEASE_EXECUTABLE Qt5::lrelease)
+set(Qt5_LUPDATE_EXECUTABLE Qt5::lupdate)
 
 include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5LinguistToolsMacros.cmake\")
diff --git a/src/linguist/Qt5LinguistToolsMacros.cmake b/src/linguist/Qt5LinguistToolsMacros.cmake
index ba70c4adc..18ea81a3d 100644
--- a/src/linguist/Qt5LinguistToolsMacros.cmake
+++ b/src/linguist/Qt5LinguistToolsMacros.cmake
@@ -72,7 +72,7 @@ function(QT5_CREATE_TRANSLATION _qm_files)
           file(WRITE ${_ts_lst_file} "${_lst_file_srcs}")
         endif()
         add_custom_command(OUTPUT ${_ts_file}
-            COMMAND ${QT_LUPDATE_EXECUTABLE}
+            COMMAND ${Qt5_LUPDATE_EXECUTABLE}
             ARGS ${_lupdate_options} "@${_ts_lst_file}" -ts ${_ts_file}
             DEPENDS ${_my_sources} ${_ts_lst_file} VERBATIM)
     endforeach()
@@ -94,7 +94,7 @@ function(QT5_ADD_TRANSLATION _qm_files)
         endif()
 
         add_custom_command(OUTPUT ${qm}
-            COMMAND ${QT_LRELEASE_EXECUTABLE}
+            COMMAND ${Qt5_LRELEASE_EXECUTABLE}
             ARGS ${_abs_FILE} -qm ${qm}
             DEPENDS ${_abs_FILE} VERBATIM
         )
-- 
GitLab