summaryrefslogtreecommitdiffstats
path: root/mkspecs/cmake
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-05-15 14:35:42 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-15 23:03:23 +0200
commitf16a77d78342acba9df2195dd20c9e2ce06a61ff (patch)
tree03a349df494d39a95d459cc16506b45a3b1ce694 /mkspecs/cmake
parent4f7a6bdabe1f0e73e9895ae8676449fda591718f (diff)
Use IF(NOT TARGET ...) before creating imported targets.
Initially we didn't do this because someone could accidentally create another target of a conflicting name, and used a variable to store whether we have created the target already or not. That wasn't adequeate to deal with finding the package in a scope like a function, so we used a directory property. However, the directory property is not valid in the same scopes as the defined target. For example, finding a Qt module in both a directory and a subdirectory causes a conflict. As it is already unlikely that a target would be accidentally created with a name like Qt5::Core, we should simply use the IF(TARGET) form. Change-Id: If64f25d45f51edcd1edb0d4bfb5ed3bb2479bd27 Reviewed-by: David Faure <faure@kde.org>
Diffstat (limited to 'mkspecs/cmake')
-rw-r--r--mkspecs/cmake/Qt5BasicConfig.cmake.in4
1 files changed, 1 insertions, 3 deletions
diff --git a/mkspecs/cmake/Qt5BasicConfig.cmake.in b/mkspecs/cmake/Qt5BasicConfig.cmake.in
index a6e39b6e99..fa8a371bb9 100644
--- a/mkspecs/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/cmake/Qt5BasicConfig.cmake.in
@@ -109,9 +109,7 @@ list(APPEND _Qt5Gui_LIB_DEPENDENCIES ${JPEG_LIBRARIES})
!!ENDIF # Static
-get_property(_qt5$${CMAKE_MODULE_NAME}TargetExists DIRECTORY PROPERTY _Qt5$${CMAKE_MODULE_NAME}_target)
-if (NOT _qt5$${CMAKE_MODULE_NAME}TargetExists)
- set_property(DIRECTORY PROPERTY _Qt5$${CMAKE_MODULE_NAME}_target TRUE)
+if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!IF !isEmpty(CMAKE_STATIC_TYPE)
add_library(Qt5::$${CMAKE_MODULE_NAME} STATIC IMPORTED)
!!ELSE