Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt
3153 views
1
cmake_minimum_required(VERSION 3.10)
2
3
project(SelectLibraryConfigurations NONE)
4
5
include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)
6
7
macro(check_slc basename expect)
8
message(STATUS "checking select_library_configurations(${basename})")
9
select_library_configurations(${basename})
10
if (NOT ${basename}_LIBRARY STREQUAL "${expect}")
11
message(SEND_ERROR "select_library_configurations(${basename}) returned '${${basename}_LIBRARY}' but '${expect}' was expected")
12
endif ()
13
if (NOT ${basename}_LIBRARY STREQUAL "${${basename}_LIBRARIES}")
14
message(SEND_ERROR "select_library_configurations(${basename}) LIBRARY: '${${basename}_LIBRARY}' LIBRARIES: '${${basename}_LIBRARIES}'")
15
endif ()
16
endmacro(check_slc)
17
18
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
19
if (NOT _isMultiConfig AND NOT CMAKE_BUILD_TYPE)
20
set(NOTYPE_RELONLY_LIBRARY_RELEASE "opt")
21
check_slc(NOTYPE_RELONLY "opt")
22
23
set(NOTYPE_DBGONLY_LIBRARY_DEBUG "dbg")
24
check_slc(NOTYPE_DBGONLY "dbg")
25
26
set(NOTYPE_RELDBG_LIBRARY_RELEASE "opt")
27
set(NOTYPE_RELDBG_LIBRARY_DEBUG "dbg")
28
check_slc(NOTYPE_RELDBG "opt")
29
30
set(CMAKE_BUILD_TYPE Debug)
31
endif ()
32
33
check_slc(empty "empty_LIBRARY-NOTFOUND")
34
35
set(OPTONLY_LIBRARY_RELEASE "opt")
36
check_slc(OPTONLY "opt")
37
38
set(DBGONLY_LIBRARY_RELEASE "dbg")
39
check_slc(DBGONLY "dbg")
40
41
set(SAME_LIBRARY_RELEASE "same")
42
set(SAME_LIBRARY_DEBUG "same")
43
check_slc(SAME "same")
44
45
set(OPTONLYLIST_LIBRARY_RELEASE "opt1;opt2")
46
check_slc(OPTONLYLIST "opt1;opt2")
47
48
set(DBGONLYLIST_LIBRARY_RELEASE "dbg1;dbg2")
49
check_slc(DBGONLYLIST "dbg1;dbg2")
50
51
set(OPT1DBG1_LIBRARY_RELEASE "opt")
52
set(OPT1DBG1_LIBRARY_DEBUG "dbg")
53
check_slc(OPT1DBG1 "optimized;opt;debug;dbg")
54
55
set(OPT1DBG2_LIBRARY_RELEASE "opt")
56
set(OPT1DBG2_LIBRARY_DEBUG "dbg1;dbg2")
57
check_slc(OPT1DBG2 "optimized;opt;debug;dbg1;debug;dbg2")
58
59
set(OPT2DBG1_LIBRARY_RELEASE "opt1;opt2")
60
set(OPT2DBG1_LIBRARY_DEBUG "dbg")
61
check_slc(OPT2DBG1 "optimized;opt1;optimized;opt2;debug;dbg")
62
63
set(OPT2DBG2_LIBRARY_RELEASE "opt1;opt2")
64
set(OPT2DBG2_LIBRARY_DEBUG "dbg1;dbg2")
65
check_slc(OPT2DBG2 "optimized;opt1;optimized;opt2;debug;dbg1;debug;dbg2")
66
67