blob: b7f64f07053f9e3bc19c6657c2a172b946b80252 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#
# This macro is used when we may have a debug and or release build of a library,
# and we want to produce a single easy to use library string that'll do the right
# thing. If both debug and release versions are available, we'll automatically use the
# debug version for debug builds and the release version for release builds.
#
# If only one build exists, we use that one irrespective of build type.
#
MACRO(SET_LIBRARY_FROM_DEBUG_AND_RELEASE _NAME)
IF(NOT DEFINED "${_NAME}_LIBRARY_RELEASE" OR NOT DEFINED "${_NAME}_LIBRARY_DEBUG")
MESSAGE(FATAL_ERROR "${_NAME}_LIBRARY_DEBUG OR ${_NAME}_LIBRARY_RELEASE undefined")
ENDIF(NOT DEFINED "${_NAME}_LIBRARY_RELEASE" OR NOT DEFINED "${_NAME}_LIBRARY_DEBUG")
IF(${_NAME}_LIBRARY_RELEASE AND ${_NAME}_LIBRARY_DEBUG)
SET(${_NAME}_LIBRARY "optimized;${${_NAME}_LIBRARY_RELEASE};debug;${${_NAME}_LIBRARY_DEBUG}")
ELSE(${_NAME}_LIBRARY_RELEASE AND ${_NAME}_LIBRARY_DEBUG)
IF(${_NAME}_LIBRARY_DEBUG)
MESSAGE("WARNING: ${_NAME} debug library will be used even for release builds")
SET(${_NAME}_LIBRARY ${${_NAME}_LIBRARY_DEBUG})
ELSE(${_NAME}_LIBRARY_DEBUG)
SET(${_NAME}_LIBRARY ${${_NAME}_LIBRARY_RELEASE})
ENDIF(${_NAME}_LIBRARY_DEBUG)
ENDIF(${_NAME}_LIBRARY_RELEASE AND ${_NAME}_LIBRARY_DEBUG)
ENDMACRO(SET_LIBRARY_FROM_DEBUG_AND_RELEASE)
|