File: RunCMakeTest.cmake

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 (49 lines) | stat: -rw-r--r-- 1,952 bytes parent folder | download
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
include(RunCMake)

run_cmake(ParseImplicitLinkInfo)

# Detect information from the toolchain:
# - CMAKE_SYSTEM_NAME
# - CMAKE_C_COMPILER
# - CMAKE_C_COMPILER_ID
# - CMAKE_C_COMPILER_VERSION
# - CMAKE_C_COMPILER_LINKER
# - CMAKE_C_COMPILER_LINKER_ID
# - CMAKE_C_COMPILER_LINKER_VERSION
# - CMAKE_C_IMPLICIT_LINK_LIBRARIES
# - CMAKE_C_IMPLICIT_LINK_DIRECTORIES
run_cmake(Inspect)
set(info "${RunCMake_BINARY_DIR}/Inspect-build/info.cmake")
include("${info}")

if(CMAKE_HOST_UNIX)
  run_cmake_script(DetermineLinkerId)
endif()

if(CMAKE_C_IMPLICIT_LINK_LIBRARIES MATCHES ";")
  run_cmake_with_options(ExcludeLibs "-Dinfo=${RunCMake_BINARY_DIR}/Inspect-build/info.cmake")
endif()
if(CMAKE_C_IMPLICIT_LINK_DIRECTORIES MATCHES ";")
  run_cmake_with_options(ExcludeDirs "-Dinfo=${RunCMake_BINARY_DIR}/Inspect-build/info.cmake")
endif()

if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|Darwin|Windows|AIX|SunOS)$|BSD"
    AND NOT CMAKE_C_COMPILER_ID MATCHES "^(Borland|Embarcadero|OpenWatcom|OrangeC|Watcom)$"
    AND NOT (CMAKE_C_COMPILER_ID MATCHES "^(Intel|IntelLLVM)$" AND CMAKE_SYSTEM_NAME STREQUAL "Windows")
    AND NOT CMAKE_C_COMPILER_LINKER MATCHES "Microsoft Visual Studio 9\\.0/VC/bin"
    )
  if(NOT CMAKE_C_COMPILER_LINKER OR NOT CMAKE_C_COMPILER_LINKER_ID OR NOT CMAKE_C_COMPILER_LINKER_VERSION)
    message(SEND_ERROR "C compiler's linker not identified:\n"
      "  CMAKE_C_COMPILER='${CMAKE_C_COMPILER}'\n"
      "  CMAKE_C_COMPILER_ID='${CMAKE_C_COMPILER_ID}'\n"
      "  CMAKE_C_COMPILER_VERSION='${CMAKE_C_COMPILER_VERSION}'\n"
      "  CMAKE_C_COMPILER_LINKER='${CMAKE_C_COMPILER_LINKER}'\n"
      "  CMAKE_C_COMPILER_LINKER_ID='${CMAKE_C_COMPILER_LINKER_ID}'\n"
      "  CMAKE_C_COMPILER_LINKER_VERSION='${CMAKE_C_COMPILER_LINKER_VERSION}'\n"
      )
  endif()
endif()

if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES Clang)
  run_cmake_with_options(CheckCompilerLinkerId "-DCMAKE_C_FLAGS=-fdiagnostics-color=always")
endif()