Path: blob/master/Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt
3153 views
cmake_minimum_required(VERSION 3.10)12project(SelectLibraryConfigurations NONE)34include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)56macro(check_slc basename expect)7message(STATUS "checking select_library_configurations(${basename})")8select_library_configurations(${basename})9if (NOT ${basename}_LIBRARY STREQUAL "${expect}")10message(SEND_ERROR "select_library_configurations(${basename}) returned '${${basename}_LIBRARY}' but '${expect}' was expected")11endif ()12if (NOT ${basename}_LIBRARY STREQUAL "${${basename}_LIBRARIES}")13message(SEND_ERROR "select_library_configurations(${basename}) LIBRARY: '${${basename}_LIBRARY}' LIBRARIES: '${${basename}_LIBRARIES}'")14endif ()15endmacro(check_slc)1617get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)18if (NOT _isMultiConfig AND NOT CMAKE_BUILD_TYPE)19set(NOTYPE_RELONLY_LIBRARY_RELEASE "opt")20check_slc(NOTYPE_RELONLY "opt")2122set(NOTYPE_DBGONLY_LIBRARY_DEBUG "dbg")23check_slc(NOTYPE_DBGONLY "dbg")2425set(NOTYPE_RELDBG_LIBRARY_RELEASE "opt")26set(NOTYPE_RELDBG_LIBRARY_DEBUG "dbg")27check_slc(NOTYPE_RELDBG "opt")2829set(CMAKE_BUILD_TYPE Debug)30endif ()3132check_slc(empty "empty_LIBRARY-NOTFOUND")3334set(OPTONLY_LIBRARY_RELEASE "opt")35check_slc(OPTONLY "opt")3637set(DBGONLY_LIBRARY_RELEASE "dbg")38check_slc(DBGONLY "dbg")3940set(SAME_LIBRARY_RELEASE "same")41set(SAME_LIBRARY_DEBUG "same")42check_slc(SAME "same")4344set(OPTONLYLIST_LIBRARY_RELEASE "opt1;opt2")45check_slc(OPTONLYLIST "opt1;opt2")4647set(DBGONLYLIST_LIBRARY_RELEASE "dbg1;dbg2")48check_slc(DBGONLYLIST "dbg1;dbg2")4950set(OPT1DBG1_LIBRARY_RELEASE "opt")51set(OPT1DBG1_LIBRARY_DEBUG "dbg")52check_slc(OPT1DBG1 "optimized;opt;debug;dbg")5354set(OPT1DBG2_LIBRARY_RELEASE "opt")55set(OPT1DBG2_LIBRARY_DEBUG "dbg1;dbg2")56check_slc(OPT1DBG2 "optimized;opt;debug;dbg1;debug;dbg2")5758set(OPT2DBG1_LIBRARY_RELEASE "opt1;opt2")59set(OPT2DBG1_LIBRARY_DEBUG "dbg")60check_slc(OPT2DBG1 "optimized;opt1;optimized;opt2;debug;dbg")6162set(OPT2DBG2_LIBRARY_RELEASE "opt1;opt2")63set(OPT2DBG2_LIBRARY_DEBUG "dbg1;dbg2")64check_slc(OPT2DBG2 "optimized;opt1;optimized;opt2;debug;dbg1;debug;dbg2")656667