Warning, /frameworks/kdelibs4support/cmake/modules/FindLibraryWithDebug.cmake is written in an unsupported language. File is not indexed.
0001 # 0002 # FIND_LIBRARY_WITH_DEBUG 0003 # -> enhanced FIND_LIBRARY to allow the search for an 0004 # optional debug library with a WIN32_DEBUG_POSTFIX similar 0005 # to CMAKE_DEBUG_POSTFIX when creating a shared lib 0006 # it has to be the second and third argument 0007 0008 # Copyright (c) 2007, Christian Ehrlicher, <ch.ehrlicher@gmx.de> 0009 # Redistribution and use is allowed according to the terms of the BSD license. 0010 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 0011 0012 MACRO(FIND_LIBRARY_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libname) 0013 0014 IF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") 0015 0016 # no WIN32_DEBUG_POSTFIX -> simply pass all arguments to FIND_LIBRARY 0017 FIND_LIBRARY(${var_name} 0018 ${win32_dbg_postfix_name} 0019 ${dgb_postfix} 0020 ${libname} 0021 ${ARGN} 0022 ) 0023 0024 ELSE(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") 0025 0026 IF(NOT WIN32) 0027 # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX 0028 0029 FIND_LIBRARY(${var_name} ${libname} ${ARGN}) 0030 0031 ELSE(NOT WIN32) 0032 0033 # 1. get all possible libnames 0034 SET(args ${ARGN}) 0035 SET(newargs "") 0036 SET(libnames_release "") 0037 SET(libnames_debug "") 0038 0039 LIST(LENGTH args listCount) 0040 0041 IF("${libname}" STREQUAL "NAMES") 0042 SET(append_rest 0) 0043 LIST(APPEND args " ") 0044 0045 FOREACH(i RANGE ${listCount}) 0046 LIST(GET args ${i} val) 0047 0048 IF(append_rest) 0049 LIST(APPEND newargs ${val}) 0050 ELSE(append_rest) 0051 IF("${val}" STREQUAL "PATHS") 0052 LIST(APPEND newargs ${val}) 0053 SET(append_rest 1) 0054 ELSE("${val}" STREQUAL "PATHS") 0055 LIST(APPEND libnames_release "${val}") 0056 LIST(APPEND libnames_debug "${val}${dgb_postfix}") 0057 ENDIF("${val}" STREQUAL "PATHS") 0058 ENDIF(append_rest) 0059 0060 ENDFOREACH(i) 0061 0062 ELSE("${libname}" STREQUAL "NAMES") 0063 0064 # just one name 0065 LIST(APPEND libnames_release "${libname}") 0066 LIST(APPEND libnames_debug "${libname}${dgb_postfix}") 0067 0068 SET(newargs ${args}) 0069 0070 ENDIF("${libname}" STREQUAL "NAMES") 0071 0072 # search the release lib 0073 FIND_LIBRARY(${var_name}_RELEASE 0074 NAMES ${libnames_release} 0075 ${newargs} 0076 ) 0077 0078 # search the debug lib 0079 FIND_LIBRARY(${var_name}_DEBUG 0080 NAMES ${libnames_debug} 0081 ${newargs} 0082 ) 0083 0084 IF(${var_name}_RELEASE AND ${var_name}_DEBUG) 0085 0086 # both libs found 0087 SET(${var_name} optimized ${${var_name}_RELEASE} 0088 debug ${${var_name}_DEBUG}) 0089 0090 ELSE(${var_name}_RELEASE AND ${var_name}_DEBUG) 0091 0092 IF(${var_name}_RELEASE) 0093 0094 # only release found 0095 SET(${var_name} ${${var_name}_RELEASE}) 0096 0097 ELSE(${var_name}_RELEASE) 0098 0099 # only debug (or nothing) found 0100 SET(${var_name} ${${var_name}_DEBUG}) 0101 0102 ENDIF(${var_name}_RELEASE) 0103 0104 ENDIF(${var_name}_RELEASE AND ${var_name}_DEBUG) 0105 0106 MARK_AS_ADVANCED(${var_name}_RELEASE) 0107 MARK_AS_ADVANCED(${var_name}_DEBUG) 0108 0109 ENDIF(NOT WIN32) 0110 0111 ENDIF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") 0112 0113 ENDMACRO(FIND_LIBRARY_WITH_DEBUG)