From e6abbe68a2126fe02b1f304ac356570568958099 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 24 Jun 2012 19:36:27 +0200 Subject: [PATCH] Create imported targets if the library files exist Handle the cases where the user does ./configure -debug make make install make release make release_install Thereby making the installed configuration different to the 'configured' configuration. Change-Id: Ib351d8a84c4333ebcbd305d68a37c16f86869559 Reviewed-by: Oswald Buddenhagen Reviewed-by: Brad King Reviewed-by: Stephen Kelly --- mkspecs/cmake/Qt5BasicConfig.cmake.in | 26 ++++++++++++++++++++++++++ mkspecs/features/create_cmake.prf | 1 + 2 files changed, 27 insertions(+) diff --git a/mkspecs/cmake/Qt5BasicConfig.cmake.in b/mkspecs/cmake/Qt5BasicConfig.cmake.in index 212a186a41..6f19f5f411 100644 --- a/mkspecs/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/cmake/Qt5BasicConfig.cmake.in @@ -150,10 +150,36 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !isEmpty(CMAKE_DEBUG_TYPE) _populate_imported_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + +!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) +!!IF isEmpty(CMAKE_RELEASE_TYPE) +!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" AND EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +!!ELSE + if (EXISTS \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" AND EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) +!!ENDIF + _populate_imported_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + endif() +!!ENDIF // CMAKE_RELEASE_TYPE +!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD + !!ENDIF // CMAKE_DEBUG_TYPE !!IF !isEmpty(CMAKE_RELEASE_TYPE) _populate_imported_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" ) + +!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD) +!!IF isEmpty(CMAKE_DEBUG_TYPE) +!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE) + if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" AND EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +!!ELSE + if (EXISTS \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" AND EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) +!!ENDIF + _populate_imported_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" ) + endif() +!!ENDIF // CMAKE_DEBUG_TYPE +!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD + !!ENDIF // CMAKE_RELEASE_TYPE endif() diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 7cace8116e..266c80429a 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -76,6 +76,7 @@ macx { } } else:win32 { CMAKE_WINDOWS_BUILD = "true" + CMAKE_FIND_OTHER_LIBRARY_BUILD = "true" CMAKE_BIN_SUFFIX = ".exe" CMAKE_LIB_FILE_LOCATION_DEBUG = Qt$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}d$$eval(QT.$${MODULE}.MAJOR_VERSION).dll