From f16a77d78342acba9df2195dd20c9e2ce06a61ff Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 15 May 2012 14:35:42 +0200 Subject: 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 --- mkspecs/cmake/Qt5BasicConfig.cmake.in | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'mkspecs/cmake/Qt5BasicConfig.cmake.in') 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 -- cgit v1.2.3