SelectLibraryConfigurations: fix for release and debug libs being the same

This commit is contained in:
Rolf Eike Beer 2012-10-21 15:24:25 +02:00
parent 5052fbc93d
commit a22f4fabb7
2 changed files with 13 additions and 5 deletions

View File

@ -48,6 +48,15 @@ macro( select_library_configurations basename )
# if only the debug version was found, set the release value to be the # if only the debug version was found, set the release value to be the
# debug value. # debug value.
_set_library_name( ${basename} DEBUG RELEASE ) _set_library_name( ${basename} DEBUG RELEASE )
# Set a default case, which will come into effect if
# -no build type is set and the generator only supports one build type
# at a time (i.e. CMAKE_CONFIGURATION_TYPES is false)
# -${basename}_LIBRARY_DEBUG and ${basename}_LIBRARY_RELEASE are the same
# -${basename}_LIBRARY_DEBUG and ${basename}_LIBRARY_RELEASE are both empty
set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
set( ${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE} )
if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND
NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE ) NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE )
# if the generator supports configuration types or CMAKE_BUILD_TYPE # if the generator supports configuration types or CMAKE_BUILD_TYPE
@ -61,11 +70,6 @@ macro( select_library_configurations basename )
list( APPEND ${basename}_LIBRARY debug "${_libname}" ) list( APPEND ${basename}_LIBRARY debug "${_libname}" )
endforeach() endforeach()
set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" ) set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" )
else()
# If there are no configuration types or build type, just use
# the release version
set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
set( ${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE} )
endif() endif()
endif() endif()

View File

@ -37,6 +37,10 @@ check_slc(OPTONLY "opt")
set(DBGONLY_LIBRARY_RELEASE "dbg") set(DBGONLY_LIBRARY_RELEASE "dbg")
check_slc(DBGONLY "dbg") check_slc(DBGONLY "dbg")
set(SAME_LIBRARY_RELEASE "same")
set(SAME_LIBRARY_DEBUG "same")
check_slc(SAME "same")
set(OPTONLYLIST_LIBRARY_RELEASE "opt1;opt2") set(OPTONLYLIST_LIBRARY_RELEASE "opt1;opt2")
check_slc(OPTONLYLIST "opt1;opt2") check_slc(OPTONLYLIST "opt1;opt2")