SVN commit 1070849 by neundorf:

-introduce imported targets for the various Qt4 libraries, so we can handle the 
release- and debug-libraries finally properly.

Tested on my machine with Linux with kdelibs, kdeutils and some other module, 
and also tested under Windows by Saro.

If you suddenly get strange linking-related errors with Qt4 libraries, please 
let me know ASAP.

This should also help the installation of KDE under Windows, since with these 
imported Qt libraries
the location of the Qt-libraries is not fixed at kdelibs-buildtime anymore (for 
the installed dependencies-file), but determined at 3rd-party cmake-time.
So different locations of Qt on a Windows-development machine should be no 
problem anymore.
(I'd like to have some feedback on this )

Alex

CCMAIL: [email protected]
CCMAIL: [email protected]
CCMAIL: <[email protected]>



 M  +24 -27    FindQt4.cmake  


--- trunk/KDE/kdelibs/cmake/modules/FindQt4.cmake #1070848:1070849
@@ -892,39 +892,36 @@
   ############################################
 
   MACRO (_QT4_ADJUST_LIB_VARS basename)
+#    message(STATUS "Adjusting ${basename}, release: 
-${QT_${basename}_LIBRARY_RELEASE}- debug: -${QT_${basename}_LIBRARY_DEBUG}-")
     IF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+      ADD_LIBRARY(Qt4__${basename} SHARED IMPORTED )
 
-      # if the release- as well as the debug-version of the library have been 
found:
-      IF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
-        # if the generator supports configuration types then set
-        # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
-        IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-          SET(QT_${basename}_LIBRARY       optimized 
${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
-        ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-          # if there are no configuration types and CMAKE_BUILD_TYPE has no 
value
-          # then just use the release libraries
-          SET(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE} )
-        ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-        SET(QT_${basename}_LIBRARIES       optimized 
${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
-      ENDIF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+      IF(WIN32)
+        SET(_QT4_LIBRARY_PROPERTY_NAME IMPLIB)
+      ELSE(WIN32)
+        SET(_QT4_LIBRARY_PROPERTY_NAME LOCATION)
+      ENDIF(WIN32)
 
-      # if only the release version was found, set the debug variable also to 
the release version
-      IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
-        SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
-        SET(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE})
-        SET(QT_${basename}_LIBRARIES     ${QT_${basename}_LIBRARY_RELEASE})
-      ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT 
QT_${basename}_LIBRARY_DEBUG)
 
-      # if only the debug version was found, set the release variable also to 
the debug version
-      IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
-        SET(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
-        SET(QT_${basename}_LIBRARY         ${QT_${basename}_LIBRARY_DEBUG})
-        SET(QT_${basename}_LIBRARIES       ${QT_${basename}_LIBRARY_DEBUG})
-      ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT 
QT_${basename}_LIBRARY_RELEASE)
+      IF (QT_${basename}_LIBRARY_RELEASE)
+        SET_PROPERTY(TARGET Qt4__${basename} APPEND PROPERTY 
IMPORTED_CONFIGURATIONS RELEASE)
+        SET_PROPERTY(TARGET Qt4__${basename}        PROPERTY 
IMPORTED_${_QT4_LIBRARY_PROPERTY_NAME}_RELEASE 
"${QT_${basename}_LIBRARY_RELEASE}" )
+#        message(STATUS "Setting IMPORTED_LOCATION_RELEASE to 
-${QT_${basename}_LIBRARY_RELEASE}-")
+      ENDIF (QT_${basename}_LIBRARY_RELEASE)
 
-      # put the value in the cache:
-      SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The 
Qt ${basename} library" FORCE)
+      IF (QT_${basename}_LIBRARY_DEBUG)
+        SET_PROPERTY(TARGET Qt4__${basename} APPEND PROPERTY 
IMPORTED_CONFIGURATIONS DEBUG)
+        SET_PROPERTY(TARGET Qt4__${basename}        PROPERTY 
IMPORTED_${_QT4_LIBRARY_PROPERTY_NAME}_DEBUG "${QT_${basename}_LIBRARY_DEBUG}" )
 
+#       message(STATUS "Setting IMPORTED_LOCATION_DEBUG to 
-${QT_${basename}_LIBRARY_DEBUG}-")
+
+        SET_PROPERTY(TARGET Qt4__${basename} PROPERTY 
MAP_IMPORTED_CONFIG_PROFILE DEBUG)
+        SET_PROPERTY(TARGET Qt4__${basename} PROPERTY 
MAP_IMPORTED_CONFIG_DEBUGFULL DEBUG)
+      ENDIF (QT_${basename}_LIBRARY_DEBUG)
+
+      SET(QT_${basename}_LIBRARY       Qt4__${basename} )
+      SET(QT_${basename}_LIBRARIES     Qt4__${basename} )
+
       IF (QT_${basename}_LIBRARY)
         SET(QT_${basename}_FOUND 1)
       ENDIF (QT_${basename}_LIBRARY)
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to