diff options
author | Peter Kümmel <syntheticpp@gmx.net> | 2006-05-18 14:38:29 +0000 |
---|---|---|
committer | Peter Kümmel <syntheticpp@gmx.net> | 2006-05-18 14:38:29 +0000 |
commit | f3a9780171e0b99fdefd7d6723f6da0d5cf40b7d (patch) | |
tree | a943d5e05119102d483d21868a2d84dde0f73aa8 | |
parent | a5089afc9d4e98d5bf2d7b39cf94a8953cbc56af (diff) | |
download | extra-cmake-modules-f3a9780171e0b99fdefd7d6723f6da0d5cf40b7d.tar.gz extra-cmake-modules-f3a9780171e0b99fdefd7d6723f6da0d5cf40b7d.tar.bz2 |
handle all msvc generators correct: debug/release, nmake/project generators
svn path=/trunk/KDE/kdelibs/; revision=542175
-rw-r--r-- | modules/FindKDEWIN32.cmake | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/modules/FindKDEWIN32.cmake b/modules/FindKDEWIN32.cmake index c9017602..bec51304 100644 --- a/modules/FindKDEWIN32.cmake +++ b/modules/FindKDEWIN32.cmake @@ -22,22 +22,36 @@ FIND_PATH(KDEWIN32_INCLUDE_DIR winposix_export.h # at first find the kdewin32 library, this has to be compiled and installed before kdelibs/ # search for kdewin32 in the default install directory for applications (default of (n)make install) -set(_KDEWIN32_SEARCHNAMES kdewin32 kdewin32d) -#overwrite when using msvc, which cannot mix debug/release libraries -if(MSVC) - if(CMAKE_BUILD_TYPE MATCHES Debug) - set(_KDEWIN32_SEARCHNAMES kdewin32d ) - else(CMAKE_BUILD_TYPE MATCHES Debug) - set(_KDEWIN32_SEARCHNAMES kdewin32 ) - endif(CMAKE_BUILD_TYPE MATCHES Debug) -endif(MSVC) - -FIND_LIBRARY(KDEWIN32_LIBRARY NAMES ${_KDEWIN32_SEARCHNAMES} +FIND_LIBRARY(KDEWIN32_LIBRARY_RELEASE NAMES kdewin32 PATHS ${_program_FILES_DIR}/kdewin32/lib ) +# msvc makes a difference between debug and release +if(MSVC) + FIND_LIBRARY(KDEWIN32_LIBRARY_DEBUG NAMES kdewin32d + PATHS + ${_program_FILES_DIR}/kdewin32/lib + ) + if(MSVC_IDE) + # the ide needs the debug and release version + if( NOT KDEWIN32_LIBRARY_DEBUG OR NOT KDEWIN32_LIBRARY_RELEASE) + message(FATAL_ERROR "Could 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:\nUse a project generator or the cmake parameter\n-DCMAKE_BUILD_TYPE=release for building the release version nmake makefiles.") + 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) + set(KDEWIN32_LIBRARY ${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) |