Hi,

msvc needs to distinguish between debug and release libs to avoid crashes (it use a different runtime and therefore some symbols/functions are incompatible). To respect this behaviour, we currently need to add a whole bunch of cmake lines to every FindFoo.cmake. For an example see FindBlitz.cmake

To simplify this, I wrote a new macro FIND_LIBRARY_EX() which allows a new keyword 'WIN32_DEBUG_POSTFIX' (similar to cmake's DEBUG_POSTFIX). Due to cmake script limitations it needs to be the second and third argument:

FIND_LIBRARY_EX(BLITZ_LIBRARIES
  WIN32_DEBUG_POSTFIX d
  qimageblitz
  PATHS
  $ENV{QIMAGEBLITZDIR}/lib
  ${KDE4_LIB_DIR}
  ${LIB_INSTALL_DIR}
)

-> on win32, qimageblitz (release lib) and qimageblitzd (debug lib) is searched and added to BLITZ_LIBRARIES
-> it does not change anything on non-win32 platforms

I would like to check in this change tomorrow. Later I want to change all kde libraries to have a debug postfix on win32 and use this macro for those libs too.

Any objections?
Christian
Index: modules/FindBlitz.cmake
===================================================================
--- modules/FindBlitz.cmake     (revision 715620)
+++ modules/FindBlitz.cmake     (working copy)
@@ -10,6 +10,8 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
+include(FindLibraryEx)
+
 if (BLITZ_INCLUDES AND BLITZ_LIBRARIES)
   set(Blitz_FIND_QUIETLY TRUE)
 endif (BLITZ_INCLUDES AND BLITZ_LIBRARIES)
@@ -23,32 +25,15 @@
   ${KDE4_INCLUDE_DIR}
   ${INCLUDE_INSTALL_DIR}
 )
-if(MSVC)
-  FIND_LIBRARY(BLITZ_LIBRARIES_DEBUG NAMES qimageblitzd)
-  FIND_LIBRARY(BLITZ_LIBRARIES_RELEASE NAMES qimageblitz)
 
-  if(BLITZ_LIBRARIES_DEBUG AND BLITZ_LIBRARIES_RELEASE)
-    set(BLITZ_LIBRARIES optimized ${BLITZ_LIBRARIES_RELEASE}
-                        debug ${BLITZ_LIBRARIES_DEBUG})
-  else(BLITZ_LIBRARIES_DEBUG AND BLITZ_LIBRARIES_RELEASE)
-    if(BLITZ_LIBRARIES_DEBUG)
-      set(BLITZ_LIBRARIES ${BLITZ_LIBRARIES_DEBUG})
-    else(BLITZ_LIBRARIES_DEBUG)
-      if(BLITZ_LIBRARIES_RELEASE)
-        set(BLITZ_LIBRARIES ${BLITZ_LIBRARIES_RELEASE})
-      endif(BLITZ_LIBRARIES_RELEASE)
-    endif(BLITZ_LIBRARIES_DEBUG)
-  endif(BLITZ_LIBRARIES_DEBUG AND BLITZ_LIBRARIES_RELEASE)
-else(MSVC)
-  FIND_LIBRARY(BLITZ_LIBRARIES
-  NAMES
-   qimageblitz
-   PATHS
-   $ENV{QIMAGEBLITZDIR}/lib
-   ${KDE4_LIB_DIR}
-   ${LIB_INSTALL_DIR}
-  )
-endif(MSVC)
+FIND_LIBRARY_EX(BLITZ_LIBRARIES
+  WIN32_DEBUG_POSTFIX d
+  qimageblitz
+  PATHS
+  $ENV{QIMAGEBLITZDIR}/lib
+  ${KDE4_LIB_DIR}
+  ${LIB_INSTALL_DIR}
+)
 
 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(Blitz DEFAULT_MSG 
Index: modules/FindKDEWIN32.cmake
===================================================================
--- modules/FindKDEWIN32.cmake  (revision 715620)
+++ modules/FindKDEWIN32.cmake  (working copy)
@@ -14,6 +14,8 @@
 
 
 if (WIN32)
+  include(FindLibraryEx)
+
   if (NOT KDEWIN32_DIR)
     if(NOT KDEWIN_FOUND)
       find_package(KDEWIN REQUIRED)
@@ -26,50 +28,15 @@
  
     # search for kdewin32 in the default install directory for applications 
(default of (n)make install)
 
-    find_library(KDEWIN32_LIBRARY_DEBUG NAMES kdewin32d
+    find_library_ex(KDEWIN32_LIBRARY
+      WIN32_DEBUG_POSTFIX d
+      NAMES kdewin32
       PATHS 
         ${CMAKE_LIBRARY_PATH}
         ${CMAKE_INSTALL_PREFIX}/lib
       NO_SYSTEM_ENVIRONMENT_PATH
     )
 
-    find_library(KDEWIN32_LIBRARY_RELEASE NAMES kdewin32
-      PATHS 
-        ${CMAKE_LIBRARY_PATH}
-        ${CMAKE_INSTALL_PREFIX}/lib
-      NO_SYSTEM_ENVIRONMENT_PATH
-    )
-    
-    # msvc makes a difference between debug and release
-    if(MSVC)
-      find_library(KDEWIN32_LIBRARY_DEBUG NAMES kdewin32d
-        PATHS 
-          ${CMAKE_LIBRARY_PATH}
-          ${CMAKE_INSTALL_PREFIX}/lib
-        NO_SYSTEM_ENVIRONMENT_PATH
-      )
-      if(MSVC_IDE)
-        # the ide needs the debug and release version
-        if( NOT KDEWIN32_LIBRARY_DEBUG OR NOT KDEWIN32_LIBRARY_RELEASE)
-          message(FATAL_ERROR "\nCould NOT find the debug AND release version 
of the KDEWIN32 library.\nYou need to have both to use MSVC projects.\nPlease 
build and install both kdelibs/win/ libraries first.\n")
-        endif( NOT KDEWIN32_LIBRARY_DEBUG OR NOT KDEWIN32_LIBRARY_RELEASE)
-        SET(KDEWIN32_LIBRARY optimized ${KDEWIN32_LIBRARY_RELEASE} debug 
${KDEWIN32_LIBRARY_DEBUG})
-      else(MSVC_IDE)
-        string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
-        if(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-          set(KDEWIN32_LIBRARY ${KDEWIN32_LIBRARY_DEBUG})
-        else(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-          set(KDEWIN32_LIBRARY ${KDEWIN32_LIBRARY_RELEASE})
-        endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-      endif(MSVC_IDE) 
-    else(MSVC)
-      if(KDEWIN32_LIBRARY_RELEASE)
-         set(KDEWIN32_LIBRARY ${KDEWIN32_LIBRARY_RELEASE})
-       else(KDEWIN32_LIBRARY_RELEASE)
-         set(KDEWIN32_LIBRARY ${KDEWIN32_LIBRARY_DEBUG})
-       endif(KDEWIN32_LIBRARY_RELEASE)
-    endif(MSVC)
-  
     # kdelibs/win/ has to be built before the rest of kdelibs/
     # eventually it will be moved out from kdelibs/
     if (KDEWIN32_LIBRARY AND KDEWIN32_INCLUDE_DIR)
Index: modules/FindLibraryEx.cmake
===================================================================
--- modules/FindLibraryEx.cmake (revision 0)
+++ modules/FindLibraryEx.cmake (revision 0)
@@ -0,0 +1,111 @@
+#
+#  FIND_LIBRARY_EX - enhanced FIND_LIBRARY to allow the search for an
+#                    optional debug library with a WIN32_DEBUG_POSTFIX similar
+#                    to CMAKE_DEBUG_POSTFIX when creating a shared lib
+#                    it has to be the second and third argument
+#
+# Copyright (c) 2007, Christian Ehrlicher, <[EMAIL PROTECTED]>
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+MACRO(FIND_LIBRARY_EX var_name win32_dbg_postfix_name dgb_postfix libname)
+
+  IF(NOT ${win32_dbg_postfix_name} STREQUAL "WIN32_DEBUG_POSTFIX")
+
+    # no WIN32_DEBUG_POSTFIX -> simply pass all arguments to FIND_LIBRARY
+    FIND_LIBRARY(${var_name}
+                 ${win32_dbg_postfix_name}
+                 ${dgb_postfix}
+                 ${libname}
+                 ${ARGN}
+    )
+
+  ELSE(NOT ${win32_dbg_postfix_name} STREQUAL "WIN32_DEBUG_POSTFIX")
+
+   IF(NOT WIN32)
+     # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX
+
+     FIND_LIBRARY(var_name ${libname} ${ARGN})
+
+   ELSE(NOT WIN32)
+
+     # 1. get all possible libnames
+     SET(args ${ARGN})
+     SET(libnames_release "")
+     SET(libnames_debug "")
+
+     LIST(LENGTH args listCount)
+
+     IF("${libname}" STREQUAL "NAMES")
+       SET(append_rest 0)
+       LIST(APPEND args " ")
+
+       FOREACH(i RANGE ${listCount})
+         LIST(GET args ${i} val)
+
+         IF(append_rest)
+           LIST(APPEND newargs ${val})
+         ELSE(append_rest)
+           IF("${val}" STREQUAL "PATHS")
+             LIST(APPEND newargs ${val})
+             SET(append_rest 1)
+           ELSE("${val}" STREQUAL "PATHS")
+             LIST(APPEND libnames_release "${val}")
+             LIST(APPEND libnames_debug   "${val}${dgb_postfix}")
+           ENDIF("${val}" STREQUAL "PATHS")
+         ENDIF(append_rest)
+
+       ENDFOREACH(i)
+
+     ELSE("${libname}" STREQUAL "NAMES")
+
+       # just one name
+       LIST(APPEND libnames_release "${libname}")
+       LIST(APPEND libnames_debug   "${libname}${dgb_postfix}")
+
+       SET(newargs ${args})
+
+     ENDIF("${libname}" STREQUAL "NAMES")
+     
+     # search the release lib
+     FIND_LIBRARY(${var_name}_RELEASE
+                  NAMES ${libnames_release}
+                  ${newargs}
+     )
+
+     # search the debug lib
+     FIND_LIBRARY(${var_name}_DEBUG
+                  NAMES ${libnames_debug}
+                  ${newargs}
+     )
+
+     IF(${var_name}_RELEASE AND ${var_name}_DEBUG)
+
+       # both libs found
+       SET(${var_name} optimized ${${var_name}_RELEASE}
+                       debug     ${${var_name}_DEBUG})
+
+     ELSE(${var_name}_RELEASE AND ${var_name}_DEBUG)
+
+       IF(${var_name}_RELEASE)
+
+         # only release found
+         SET(${var_name} ${${var_name}_RELEASE})
+
+       ELSE(${var_name}_RELEASE)
+
+         # only debug (or nothing) found
+         SET(${var_name} ${${var_name}_DEBUG})
+
+       ENDIF(${var_name}_RELEASE)
+       
+     ENDIF(${var_name}_RELEASE AND ${var_name}_DEBUG)
+
+     MARK_AS_ADVANCED(${var_name}_RELEASE)
+     MARK_AS_ADVANCED(${var_name}_DEBUG)
+
+   ENDIF(NOT WIN32)
+
+  ENDIF(NOT ${win32_dbg_postfix_name} STREQUAL "WIN32_DEBUG_POSTFIX")
+
+ENDMACRO(FIND_LIBRARY_EX)

Property changes on: modules\FindLibraryEx.cmake
___________________________________________________________________
Name: svn:eol-style
   + native

Index: modules/FindOpenSSL.cmake
===================================================================
--- modules/FindOpenSSL.cmake   (revision 715620)
+++ modules/FindOpenSSL.cmake   (working copy)
@@ -10,34 +10,13 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
+include(FindLibraryEx)
+
 # on win32 we additional need to link to libeay32.lib
 MACRO(OPENSSL_ADD_LIB_EAY_LIBS)
-   IF(MSVC)
-      # /MD and /MDd are the standard values - if somone wants to use
-      # others, the libnames have to change here too
-      # use also eay and libeay32 in debug as fallback for openssl < 0.9.8b
-
-      FIND_LIBRARY(LIB_EAY_DEBUG NAMES libeay32MDd eay libeay libeay32)
-      FIND_LIBRARY(LIB_EAY_RELEASE NAMES libeay32MD eay libeay libeay32)
-
-      IF(MSVC_IDE)
-         IF(LIB_EAY_DEBUG AND LIB_EAY_RELEASE)
-            SET(OPENSSL_EAY_LIBRARIES optimized ${LIB_EAY_RELEASE} debug 
${LIB_EAY_DEBUG})
-         ELSE(LIB_EAY_DEBUG AND LIB_EAY_RELEASE)
-            MESSAGE(FATAL_ERROR "Could not find the debug and release version 
of openssl (libeay)")
-         ENDIF(LIB_EAY_DEBUG AND LIB_EAY_RELEASE)
-      ELSE(MSVC_IDE)
-         STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
-         IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-            SET(OPENSSL_EAY_LIBRARIES ${LIB_EAY_DEBUG})
-         ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-            SET(OPENSSL_EAY_LIBRARIES ${LIB_EAY_RELEASE})
-         ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-      ENDIF(MSVC_IDE)
-      MARK_AS_ADVANCED(LIB_EAY_DEBUG LIB_EAY_RELEASE)
-   ELSE(MSVC)
-       FIND_LIBRARY(OPENSSL_EAY_LIBRARIES NAMES eay libeay libeay32 )
-   ENDIF(MSVC)
+   FIND_LIBRARY_EX(OPENSSL_EAY_LIBRARIES
+                   WIN32_DEBUG_POSTFIX d
+                   NAMES eay libeay libeay32 libeay32MD)
 ENDMACRO(OPENSSL_ADD_LIB_EAY_LIBS)
 
 IF(OPENSSL_LIBRARIES)
@@ -50,35 +29,10 @@
 
 FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h )
 
-IF(WIN32 AND MSVC)
-   # /MD and /MDd are the standard values - if somone wants to use
-   # others, the libnames have to change here too
-   # use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
+FIND_LIBRARY_EX(OPENSSL_LIBRARIES
+                WIN32_DEBUG_POSTFIX d
+                NAMES ssl ssleay ssleay32 ssleay32MD)
 
-   FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssl ssleay32)
-   FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32)
-
-   IF(MSVC_IDE)
-      IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
-         SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} debug 
${SSL_EAY_DEBUG})
-      ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
-         MESSAGE(FATAL_ERROR "Could not find the debug and release version of 
openssl")
-      ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
-   ELSE(MSVC_IDE)
-      STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
-      IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-         SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG})
-      ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-         SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE})
-      ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
-   ENDIF(MSVC_IDE)
-   MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE)
-ELSE(WIN32 AND MSVC)
-
-   FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD )
-
-ENDIF(WIN32 AND MSVC)
-
 IF(WIN32)
    OPENSSL_ADD_LIB_EAY_LIBS()
    IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES AND OPENSSL_EAY_LIBRARIES)
Index: modules/FindQCA2.cmake
===================================================================
--- modules/FindQCA2.cmake      (revision 715620)
+++ modules/FindQCA2.cmake      (working copy)
@@ -14,6 +14,8 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
+include(FindLibraryEx)
+
 if (QCA2_INCLUDE_DIR AND QCA2_LIBRARIES)
 
   # in cache already
@@ -34,22 +36,10 @@
       NO_DEFAULT_PATH
     )
   ELSE (NOT WIN32)
-    FIND_LIBRARY(QCA2_LIBRARIES_DEBUG NAMES qcad)
-    FIND_LIBRARY(QCA2_LIBRARIES_RELEASE NAMES qca)
+    FIND_LIBRARY_EX(QCA2_LIBRARIES
+                    WIN32_DEBUG_POSTFIX d
+                    NAMES qca)
 
-    if(QCA2_LIBRARIES_DEBUG AND QCA2_LIBRARIES_RELEASE)
-      set(QCA2_LIBRARIES optimized ${QCA2_LIBRARIES_RELEASE}
-                          debug ${QCA2_LIBRARIES_DEBUG})
-    else(QCA2_LIBRARIES_DEBUG AND QCA2_LIBRARIES_RELEASE)
-      if(QCA2_LIBRARIES_DEBUG)
-        set(QCA2_LIBRARIES ${QCA2_LIBRARIES_DEBUG})
-      else(QCA2_LIBRARIES_DEBUG)
-        if(QCA2_LIBRARIES_RELEASE)
-          set(QCA2_LIBRARIES ${QCA2_LIBRARIES_RELEASE})
-        endif(QCA2_LIBRARIES_RELEASE)
-      endif(QCA2_LIBRARIES_DEBUG)
-    endif(QCA2_LIBRARIES_DEBUG AND QCA2_LIBRARIES_RELEASE)
-
     FIND_PATH(QCA2_INCLUDE_DIR QtCrypto/qca.h)
     IF(QCA2_INCLUDE_DIR)
       SET(QCA2_INCLUDE_DIR ${QCA2_INCLUDE_DIR}/QtCrypto CACHE TYPE PATH FORCE)
Index: modules/FindSoprano.cmake
===================================================================
--- modules/FindSoprano.cmake   (revision 715620)
+++ modules/FindSoprano.cmake   (working copy)
@@ -15,45 +15,14 @@
     ${INCLUDE_INSTALL_DIR}
     )
 
-  if(MSVC)
-    FIND_LIBRARY(SOPRANO_LIBRARIES_DEBUG
-      NAMES
-      sopranod
-      PATHS
-      ${KDE4_LIB_DIR}
-      ${LIB_INSTALL_DIR}
-    )
-    FIND_LIBRARY(SOPRANO_LIBRARIES_RELEASE
-      NAMES
-      soprano
-      PATHS
-      ${KDE4_LIB_DIR}
-      ${LIB_INSTALL_DIR}
-    )
+  FIND_LIBRARY_EX(SOPRANO_LIBRARIES
+    WIN32_DEBUG_POSTFIX d
+    NAMES soprano
+    PATHS
+    ${KDE4_LIB_DIR}
+    ${LIB_INSTALL_DIR}
+  )
 
-    if(SOPRANO_LIBRARIES_DEBUG AND SOPRANO_LIBRARIES_RELEASE)
-      set(SOPRANO_LIBRARIES optimized ${SOPRANO_LIBRARIES_RELEASE}
-                            debug ${SOPRANO_LIBRARIES_DEBUG})
-    else(SOPRANO_LIBRARIES_DEBUG AND SOPRANO_LIBRARIES_RELEASE)
-      if(SOPRANO_LIBRARIES_DEBUG)
-        set(SOPRANO_LIBRARIES ${SOPRANO_LIBRARIES_DEBUG})
-      else(SOPRANO_LIBRARIES_DEBUG)
-        if(SOPRANO_LIBRARIES_RELEASE)
-          set(SOPRANO_LIBRARIES ${SOPRANO_LIBRARIES_RELEASE})
-        endif(SOPRANO_LIBRARIES_RELEASE)
-      endif(SOPRANO_LIBRARIES_DEBUG)
-    endif(SOPRANO_LIBRARIES_DEBUG AND SOPRANO_LIBRARIES_RELEASE)
-
-  else(MSVC)
-    FIND_LIBRARY(SOPRANO_LIBRARIES
-      NAMES
-      soprano
-      PATHS
-      ${KDE4_LIB_DIR}
-      ${LIB_INSTALL_DIR}
-      )
-  endif(MSVC)
-
   if(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES)
     set(Soprano_FOUND TRUE)
   endif(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES)
Index: modules/FindStrigi.cmake
===================================================================
--- modules/FindStrigi.cmake    (revision 715620)
+++ modules/FindStrigi.cmake    (working copy)
@@ -6,6 +6,7 @@
 #  STRIGI_STREAMANALYZER_LIBRARY - Link these to use Strigi streamanalyzer
 #  STRIGI_STREAMS_LIBRARY - Link these to use Strigi streams
 
+include(FindLibraryEx)
 
 set(STRIGI_MIN_VERSION "0.5.3")
 
@@ -20,55 +21,24 @@
   ${_program_FILES_DIR}/strigi/include
 )
 
-if(MSVC)
-  FIND_LIBRARY(STREAMANALYZER_LIBRARY_DEBUG NAMES streamanalyzerd)
-  FIND_LIBRARY(STREAMANALYZER_LIBRARY_RELEASE NAMES streamanalyzer)
+find_library_ex(STRIGI_STREAMANALYZER_LIBRARY
+  WIN32_DEBUG_POSTFIX d
+  NAMES streamanalyzer
+  PATHS
+  $ENV{STRIGI_HOME}/lib
+  ${CMAKE_INSTALL_PREFIX}/lib
+  ${_program_FILES_DIR}/strigi/lib
+)
 
-  if(STREAMANALYZER_LIBRARY_DEBUG AND STREAMANALYZER_LIBRARY_RELEASE)
-    set(STRIGI_STREAMANALYZER_LIBRARY optimized 
${STREAMANALYZER_LIBRARY_RELEASE}
-                          debug ${STREAMANALYZER_LIBRARY_DEBUG})
-  else(STREAMANALYZER_LIBRARY_DEBUG AND STREAMANALYZER_LIBRARY_RELEASE)
-    if(STREAMANALYZER_LIBRARY_DEBUG)
-      set(STRIGI_STREAMANALYZER_LIBRARY ${STREAMANALYZER_LIBRARY_DEBUG})
-    else(STREAMANALYZER_LIBRARY_DEBUG)
-      if(STREAMANALYZER_LIBRARY_RELEASE)
-        set(STRIGI_STREAMANALYZER_LIBRARY ${STREAMANALYZER_LIBRARY_RELEASE})
-      endif(STREAMANALYZER_LIBRARY_RELEASE)
-    endif(STREAMANALYZER_LIBRARY_DEBUG)
-  endif(STREAMANALYZER_LIBRARY_DEBUG AND STREAMANALYZER_LIBRARY_RELEASE)
+find_library_ex(STRIGI_STREAMS_LIBRARY
+  WIN32_DEBUG_POSTFIX d
+  NAMES streams
+  PATHS
+  $ENV{STRIGI_HOME}/lib
+  ${CMAKE_INSTALL_PREFIX}/lib
+  ${_program_FILES_DIR}/strigi/lib
+)
 
-  FIND_LIBRARY(STREAMS_LIBRARY_DEBUG NAMES streamsd)
-  FIND_LIBRARY(STREAMS_LIBRARY_RELEASE NAMES streams)
-
-  if(STREAMS_LIBRARY_DEBUG AND STREAMS_LIBRARY_RELEASE)
-    set(STRIGI_STREAMS_LIBRARY optimized ${STREAMS_LIBRARY_RELEASE}
-                          debug ${STREAMS_LIBRARY_DEBUG})
-  else(STREAMS_LIBRARY_DEBUG AND STREAMS_LIBRARY_RELEASE)
-    if(STREAMS_LIBRARY_DEBUG)
-      set(STRIGI_STREAMS_LIBRARY ${STREAMS_LIBRARY_DEBUG})
-    else(STREAMS_LIBRARY_DEBUG)
-      if(STREAMS_LIBRARY_RELEASE)
-        set(STRIGI_STREAMS_LIBRARY ${STREAMS_LIBRARY_RELEASE})
-      endif(STREAMS_LIBRARY_RELEASE)
-    endif(STREAMS_LIBRARY_DEBUG)
-  endif(STREAMS_LIBRARY_DEBUG AND STREAMS_LIBRARY_RELEASE)
-
-else(MSVC)
-  find_library(STRIGI_STREAMANALYZER_LIBRARY NAMES streamanalyzer
-    PATHS
-    $ENV{STRIGI_HOME}/lib
-    ${CMAKE_INSTALL_PREFIX}/lib
-    ${_program_FILES_DIR}/strigi/lib
-  )
-
-  find_library(STRIGI_STREAMS_LIBRARY NAMES streams
-    PATHS
-    $ENV{STRIGI_HOME}/lib
-    ${CMAKE_INSTALL_PREFIX}/lib
-    ${_program_FILES_DIR}/strigi/lib
-  )
-endif(MSVC)
-
 if (NOT WIN32 AND NOT HAVE_STRIGI_VERSION)
   include(UsePkgConfig)
   pkgconfig(libstreamanalyzer _dummyIncDir _dummyLinkDir _dummyLinkFlags 
_dummyCflags)
Index: modules/FindTaglib.cmake
===================================================================
--- modules/FindTaglib.cmake    (revision 715620)
+++ modules/FindTaglib.cmake    (working copy)
@@ -10,6 +10,8 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
+include(FindLibraryEx)
+
 IF(NOT WIN32)
     FIND_PROGRAM(TAGLIBCONFIG_EXECUTABLE NAMES taglib-config PATHS
        /usr/bin
@@ -44,12 +46,12 @@
     ${INCLUDE_INSTALL_DIR}
   )
 
-  FIND_LIBRARY(TAGLIB_LIBRARIES
-  NAMES
-   tag
-   PATHS
-   ${KDE4_LIB_DIR}
-   ${LIB_INSTALL_DIR}
+  FIND_LIBRARY_EX(TAGLIB_LIBRARIES
+    WIN32_DEBUG_POSTFIX d
+    NAMES tag
+    PATHS
+    ${KDE4_LIB_DIR}
+    ${LIB_INSTALL_DIR}
   )
   
   INCLUDE(FindPackageHandleStandardArgs)

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to