From b94768531ef8881f2b6e7b93c4f0324f02b80487 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Sun, 30 Sep 2007 16:19:18 +0000 Subject: FIND_LIBRARY_EX -> FIND_LIBRARY_WITH_DEBUG svn path=/trunk/KDE/kdelibs/; revision=719224 --- modules/FindLibraryWithDebug.cmake | 112 +++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 modules/FindLibraryWithDebug.cmake (limited to 'modules/FindLibraryWithDebug.cmake') diff --git a/modules/FindLibraryWithDebug.cmake b/modules/FindLibraryWithDebug.cmake new file mode 100644 index 00000000..d3450a2a --- /dev/null +++ b/modules/FindLibraryWithDebug.cmake @@ -0,0 +1,112 @@ +# +# FIND_LIBRARY_WITH_DEBUG +# -> 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, +# 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_WITH_DEBUG 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_WITH_DEBUG) -- cgit v1.2.1 From 320616a8cbbc65b69e1e78bae0b5ba805e445326 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Wed, 3 Oct 2007 15:51:52 +0000 Subject: sopranoindex and sopranoclient also have a debug postfix on win32 svn path=/trunk/KDE/kdelibs/; revision=720734 --- modules/FindLibraryWithDebug.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'modules/FindLibraryWithDebug.cmake') diff --git a/modules/FindLibraryWithDebug.cmake b/modules/FindLibraryWithDebug.cmake index d3450a2a..a2593974 100644 --- a/modules/FindLibraryWithDebug.cmake +++ b/modules/FindLibraryWithDebug.cmake @@ -32,6 +32,7 @@ MACRO(FIND_LIBRARY_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libnam # 1. get all possible libnames SET(args ${ARGN}) + SET(newargs "") SET(libnames_release "") SET(libnames_debug "") -- cgit v1.2.1 From 196d3adb29445a643059a3b2fd60814e6d30b5ce Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Thu, 11 Oct 2007 09:29:35 +0000 Subject: workaround for cmake error: "syntax error, unexpected cal_ERROR, expecting $end (19)," on win32 svn path=/trunk/KDE/kdelibs/; revision=724081 --- modules/FindLibraryWithDebug.cmake | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'modules/FindLibraryWithDebug.cmake') diff --git a/modules/FindLibraryWithDebug.cmake b/modules/FindLibraryWithDebug.cmake index a2593974..9022d80c 100644 --- a/modules/FindLibraryWithDebug.cmake +++ b/modules/FindLibraryWithDebug.cmake @@ -31,7 +31,10 @@ MACRO(FIND_LIBRARY_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libnam ELSE(NOT WIN32) # 1. get all possible libnames - SET(args ${ARGN}) + LIST(LENGTH ARGN listCount) + if (listCount GREATER 0) + set (args ${ARGN}) + endif (listCount GREATER 0) SET(newargs "") SET(libnames_release "") SET(libnames_debug "") -- cgit v1.2.1 From d260babfdd862601fb6872bde79369ab66f00b77 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Thu, 11 Oct 2007 19:03:39 +0000 Subject: I'm sorry Ralf, but your fix was wrong and breaks build. The error is in FindStrigi.cmake which adds paths without converting them to cmake (==unix) style svn path=/trunk/KDE/kdelibs/; revision=724221 --- modules/FindLibraryWithDebug.cmake | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'modules/FindLibraryWithDebug.cmake') diff --git a/modules/FindLibraryWithDebug.cmake b/modules/FindLibraryWithDebug.cmake index 9022d80c..a2593974 100644 --- a/modules/FindLibraryWithDebug.cmake +++ b/modules/FindLibraryWithDebug.cmake @@ -31,10 +31,7 @@ MACRO(FIND_LIBRARY_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libnam ELSE(NOT WIN32) # 1. get all possible libnames - LIST(LENGTH ARGN listCount) - if (listCount GREATER 0) - set (args ${ARGN}) - endif (listCount GREATER 0) + SET(args ${ARGN}) SET(newargs "") SET(libnames_release "") SET(libnames_debug "") -- cgit v1.2.1 From 594cb7ec267e0c5e2cb9b956094b19a7f2675bc6 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sat, 24 Nov 2007 23:23:06 +0000 Subject: fix indentation Alex svn path=/trunk/KDE/kdelibs/; revision=741152 --- modules/FindLibraryWithDebug.cmake | 140 ++++++++++++++++++------------------- 1 file changed, 70 insertions(+), 70 deletions(-) (limited to 'modules/FindLibraryWithDebug.cmake') diff --git a/modules/FindLibraryWithDebug.cmake b/modules/FindLibraryWithDebug.cmake index a2593974..58cd7308 100644 --- a/modules/FindLibraryWithDebug.cmake +++ b/modules/FindLibraryWithDebug.cmake @@ -4,110 +4,110 @@ # 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, # 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_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libname) - IF(NOT ${win32_dbg_postfix_name} STREQUAL "WIN32_DEBUG_POSTFIX") + 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} - ) + # 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") + 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 + IF(NOT WIN32) + # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX - FIND_LIBRARY(${var_name} ${libname} ${ARGN}) + FIND_LIBRARY(${var_name} ${libname} ${ARGN}) - ELSE(NOT WIN32) + ELSE(NOT WIN32) - # 1. get all possible libnames - SET(args ${ARGN}) - SET(newargs "") - SET(libnames_release "") - SET(libnames_debug "") + # 1. get all possible libnames + SET(args ${ARGN}) + SET(newargs "") + SET(libnames_release "") + SET(libnames_debug "") - LIST(LENGTH args listCount) + LIST(LENGTH args listCount) - IF("${libname}" STREQUAL "NAMES") - SET(append_rest 0) - LIST(APPEND args " ") + IF("${libname}" STREQUAL "NAMES") + SET(append_rest 0) + LIST(APPEND args " ") - FOREACH(i RANGE ${listCount}) - LIST(GET args ${i} val) + 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) + 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) + ENDFOREACH(i) - ELSE("${libname}" STREQUAL "NAMES") + ELSE("${libname}" STREQUAL "NAMES") - # just one name - LIST(APPEND libnames_release "${libname}") - LIST(APPEND libnames_debug "${libname}${dgb_postfix}") + # just one name + LIST(APPEND libnames_release "${libname}") + LIST(APPEND libnames_debug "${libname}${dgb_postfix}") - SET(newargs ${args}) + SET(newargs ${args}) - ENDIF("${libname}" STREQUAL "NAMES") + ENDIF("${libname}" STREQUAL "NAMES") - # search the release lib - FIND_LIBRARY(${var_name}_RELEASE - NAMES ${libnames_release} - ${newargs} - ) + # 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} - ) + # search the debug lib + FIND_LIBRARY(${var_name}_DEBUG + NAMES ${libnames_debug} + ${newargs} + ) - IF(${var_name}_RELEASE AND ${var_name}_DEBUG) + IF(${var_name}_RELEASE AND ${var_name}_DEBUG) - # both libs found - SET(${var_name} optimized ${${var_name}_RELEASE} - debug ${${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) + ELSE(${var_name}_RELEASE AND ${var_name}_DEBUG) - IF(${var_name}_RELEASE) + IF(${var_name}_RELEASE) - # only release found - SET(${var_name} ${${var_name}_RELEASE}) + # only release found + SET(${var_name} ${${var_name}_RELEASE}) - ELSE(${var_name}_RELEASE) + ELSE(${var_name}_RELEASE) - # only debug (or nothing) found - SET(${var_name} ${${var_name}_DEBUG}) + # only debug (or nothing) found + SET(${var_name} ${${var_name}_DEBUG}) - ENDIF(${var_name}_RELEASE) + ENDIF(${var_name}_RELEASE) - ENDIF(${var_name}_RELEASE AND ${var_name}_DEBUG) + ENDIF(${var_name}_RELEASE AND ${var_name}_DEBUG) - MARK_AS_ADVANCED(${var_name}_RELEASE) - MARK_AS_ADVANCED(${var_name}_DEBUG) + MARK_AS_ADVANCED(${var_name}_RELEASE) + MARK_AS_ADVANCED(${var_name}_DEBUG) - ENDIF(NOT WIN32) + ENDIF(NOT WIN32) - ENDIF(NOT ${win32_dbg_postfix_name} STREQUAL "WIN32_DEBUG_POSTFIX") + ENDIF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") ENDMACRO(FIND_LIBRARY_WITH_DEBUG) -- cgit v1.2.1