diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
index 85cbf28f93c194be004351efea89812aec4d34f0..6584b56bce36254dfc6e55cac7dab96b97115b59 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 ba70c4adce14557b426d2b61c43fa4973bcd8894..18ea81a3d909265e8d4cc55b94347d6251cf9426 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
         )