Warning, /frameworks/kfilemetadata/cmake/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 # SPDX-FileCopyrightText: 2007 Christian Ehrlicher <ch.ehrlicher@gmx.de> 0009 # SPDX-License-Identifier: BSD-3-Clause 0010 0011 MACRO(FIND_LIBRARY_WITH_DEBUG var_name win32_dbg_postfix_name dgb_postfix libname) 0012 0013 IF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") 0014 0015 # no WIN32_DEBUG_POSTFIX -> simply pass all arguments to FIND_LIBRARY 0016 FIND_LIBRARY(${var_name} 0017 ${win32_dbg_postfix_name} 0018 ${dgb_postfix} 0019 ${libname} 0020 ${ARGN} 0021 ) 0022 0023 ELSE(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") 0024 0025 IF(NOT WIN32) 0026 # on non-win32 we don't need to take care about WIN32_DEBUG_POSTFIX 0027 0028 FIND_LIBRARY(${var_name} ${libname} ${ARGN}) 0029 0030 ELSE(NOT WIN32) 0031 0032 # 1. get all possible libnames 0033 SET(args ${ARGN}) 0034 SET(newargs "") 0035 SET(libnames_release "") 0036 SET(libnames_debug "") 0037 0038 LIST(LENGTH args listCount) 0039 0040 IF("${libname}" STREQUAL "NAMES") 0041 SET(append_rest 0) 0042 LIST(APPEND args " ") 0043 0044 FOREACH(i RANGE ${listCount}) 0045 LIST(GET args ${i} val) 0046 0047 IF(append_rest) 0048 LIST(APPEND newargs ${val}) 0049 ELSE(append_rest) 0050 IF("${val}" STREQUAL "PATHS") 0051 LIST(APPEND newargs ${val}) 0052 SET(append_rest 1) 0053 ELSE("${val}" STREQUAL "PATHS") 0054 LIST(APPEND libnames_release "${val}") 0055 LIST(APPEND libnames_debug "${val}${dgb_postfix}") 0056 ENDIF("${val}" STREQUAL "PATHS") 0057 ENDIF(append_rest) 0058 0059 ENDFOREACH(i) 0060 0061 ELSE("${libname}" STREQUAL "NAMES") 0062 0063 # just one name 0064 LIST(APPEND libnames_release "${libname}") 0065 LIST(APPEND libnames_debug "${libname}${dgb_postfix}") 0066 0067 SET(newargs ${args}) 0068 0069 ENDIF("${libname}" STREQUAL "NAMES") 0070 0071 # search the release lib 0072 FIND_LIBRARY(${var_name}_RELEASE 0073 NAMES ${libnames_release} 0074 ${newargs} 0075 ) 0076 0077 # search the debug lib 0078 FIND_LIBRARY(${var_name}_DEBUG 0079 NAMES ${libnames_debug} 0080 ${newargs} 0081 ) 0082 0083 IF(${var_name}_RELEASE AND ${var_name}_DEBUG) 0084 0085 # both libs found 0086 SET(${var_name} optimized ${${var_name}_RELEASE} 0087 debug ${${var_name}_DEBUG}) 0088 0089 ELSE(${var_name}_RELEASE AND ${var_name}_DEBUG) 0090 0091 IF(${var_name}_RELEASE) 0092 0093 # only release found 0094 SET(${var_name} ${${var_name}_RELEASE}) 0095 0096 ELSE(${var_name}_RELEASE) 0097 0098 # only debug (or nothing) found 0099 SET(${var_name} ${${var_name}_DEBUG}) 0100 0101 ENDIF(${var_name}_RELEASE) 0102 0103 ENDIF(${var_name}_RELEASE AND ${var_name}_DEBUG) 0104 0105 MARK_AS_ADVANCED(${var_name}_RELEASE) 0106 MARK_AS_ADVANCED(${var_name}_DEBUG) 0107 0108 ENDIF(NOT WIN32) 0109 0110 ENDIF(NOT "${win32_dbg_postfix_name}" STREQUAL "WIN32_DEBUG_POSTFIX") 0111 0112 ENDMACRO(FIND_LIBRARY_WITH_DEBUG)