Create imported targets if the library files exist
authorStephen Kelly <stephen.kelly@kdab.com>
Sun, 24 Jun 2012 17:36:27 +0000 (19:36 +0200)
committerQt by Nokia <qt-info@nokia.com>
Mon, 16 Jul 2012 14:30:55 +0000 (16:30 +0200)
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 <oswald.buddenhagen@nokia.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
mkspecs/cmake/Qt5BasicConfig.cmake.in
mkspecs/features/create_cmake.prf

index 212a186..6f19f5f 100644 (file)
@@ -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()
index 7cace81..266c804 100644 (file)
@@ -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