diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-05-15 14:35:42 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-15 23:03:23 +0200 |
commit | f16a77d78342acba9df2195dd20c9e2ce06a61ff (patch) | |
tree | 03a349df494d39a95d459cc16506b45a3b1ce694 /mkspecs | |
parent | 4f7a6bdabe1f0e73e9895ae8676449fda591718f (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')
-rw-r--r-- | mkspecs/cmake/Qt5BasicConfig.cmake.in | 4 |
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 |