File: CMakeLists.txt

package info (click to toggle)
cmake 4.2.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 152,336 kB
  • sloc: ansic: 403,896; cpp: 303,920; sh: 4,105; python: 3,583; yacc: 3,106; lex: 1,279; f90: 538; asm: 471; lisp: 375; cs: 270; java: 266; fortran: 239; objc: 215; perl: 213; xml: 198; makefile: 111; javascript: 83; pascal: 63; tcl: 55; php: 25; ruby: 22
file content (65 lines) | stat: -rw-r--r-- 2,128 bytes parent folder | download | duplicates (4)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
cmake_minimum_required(VERSION 3.10)

project(SelectLibraryConfigurations NONE)

include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)

macro(check_slc basename expect)
  message(STATUS "checking select_library_configurations(${basename})")
  select_library_configurations(${basename})
  if (NOT ${basename}_LIBRARY STREQUAL "${expect}")
    message(SEND_ERROR "select_library_configurations(${basename}) returned '${${basename}_LIBRARY}' but '${expect}' was expected")
  endif ()
  if (NOT ${basename}_LIBRARY STREQUAL "${${basename}_LIBRARIES}")
    message(SEND_ERROR "select_library_configurations(${basename}) LIBRARY: '${${basename}_LIBRARY}' LIBRARIES: '${${basename}_LIBRARIES}'")
  endif ()
endmacro(check_slc)

get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (NOT _isMultiConfig AND NOT CMAKE_BUILD_TYPE)
  set(NOTYPE_RELONLY_LIBRARY_RELEASE "opt")
  check_slc(NOTYPE_RELONLY "opt")

  set(NOTYPE_DBGONLY_LIBRARY_DEBUG "dbg")
  check_slc(NOTYPE_DBGONLY "dbg")

  set(NOTYPE_RELDBG_LIBRARY_RELEASE "opt")
  set(NOTYPE_RELDBG_LIBRARY_DEBUG "dbg")
  check_slc(NOTYPE_RELDBG "opt")

  set(CMAKE_BUILD_TYPE Debug)
endif ()

check_slc(empty "empty_LIBRARY-NOTFOUND")

set(OPTONLY_LIBRARY_RELEASE "opt")
check_slc(OPTONLY "opt")

set(DBGONLY_LIBRARY_RELEASE "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")
check_slc(OPTONLYLIST "opt1;opt2")

set(DBGONLYLIST_LIBRARY_RELEASE "dbg1;dbg2")
check_slc(DBGONLYLIST "dbg1;dbg2")

set(OPT1DBG1_LIBRARY_RELEASE "opt")
set(OPT1DBG1_LIBRARY_DEBUG "dbg")
check_slc(OPT1DBG1 "optimized;opt;debug;dbg")

set(OPT1DBG2_LIBRARY_RELEASE "opt")
set(OPT1DBG2_LIBRARY_DEBUG "dbg1;dbg2")
check_slc(OPT1DBG2 "optimized;opt;debug;dbg1;debug;dbg2")

set(OPT2DBG1_LIBRARY_RELEASE "opt1;opt2")
set(OPT2DBG1_LIBRARY_DEBUG "dbg")
check_slc(OPT2DBG1 "optimized;opt1;optimized;opt2;debug;dbg")

set(OPT2DBG2_LIBRARY_RELEASE "opt1;opt2")
set(OPT2DBG2_LIBRARY_DEBUG "dbg1;dbg2")
check_slc(OPT2DBG2 "optimized;opt1;optimized;opt2;debug;dbg1;debug;dbg2")