File: CMakeLists.txt

package info (click to toggle)
cmake 4.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 152,344 kB
  • sloc: ansic: 403,894; cpp: 303,807; sh: 4,097; python: 3,582; 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: 108; javascript: 83; pascal: 63; tcl: 55; php: 25; ruby: 22
file content (75 lines) | stat: -rw-r--r-- 3,375 bytes parent folder | download | duplicates (3)
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
66
67
68
69
70
71
72
73
74
75
cmake_minimum_required(VERSION 3.10)
project(CommandLineTest)

get_filename_component(CMAKE_BIN_DIR ${CMAKE_COMMAND} PATH)
macro(EXEC_CMAKE_COMMAND)
  execute_process(COMMAND "${CMAKE_COMMAND}" ${ARGN} RESULT_VARIABLE RET)
  if(${RET})
    message(SEND_ERROR "CMake command failed with arguments \"${ARGN}\"")
  endif()
endmacro()

EXEC_CMAKE_COMMAND(-E chdir "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_COMMAND}" -E echo "Hello World")
EXEC_CMAKE_COMMAND(-E time "${CMAKE_COMMAND} -N -L ${CommandLineTest_SOURCE_DIR}")
EXEC_CMAKE_COMMAND(-E time "${CMAKE_COMMAND} -N -LA ${CommandLineTest_SOURCE_DIR}")
EXEC_CMAKE_COMMAND(-E time "${CMAKE_COMMAND} -N -LH ${CommandLineTest_SOURCE_DIR}")
EXEC_CMAKE_COMMAND(-E time "${CMAKE_COMMAND} -N -LAH ${CommandLineTest_SOURCE_DIR}")
EXEC_CMAKE_COMMAND(--help)
EXEC_CMAKE_COMMAND(--help-command-list)
EXEC_CMAKE_COMMAND(--help add_executable)
EXEC_CMAKE_COMMAND(--help-command add_executable)
EXEC_CMAKE_COMMAND(--help-full "${CMAKE_CURRENT_BINARY_DIR}/cmake.txt")
EXEC_CMAKE_COMMAND(--help-manual "cmake(1)" "${CMAKE_CURRENT_BINARY_DIR}/cmake.man")
EXEC_CMAKE_COMMAND(--version "${CMAKE_CURRENT_BINARY_DIR}/version.txt")

add_executable(CommandLineTest CommandLineTest.cxx)

get_filename_component(CMAKE_COMMAND_PATH "${CMAKE_COMMAND}" PATH)
set(CTEST_COMMAND "${CMAKE_COMMAND_PATH}/ctest")
macro(EXEC_CTEST_COMMAND)
  execute_process(COMMAND "${CTEST_COMMAND}" ${ARGN} RESULT_VARIABLE RET)
  if(${RET})
    message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
  endif()
endmacro()
macro(EXEC_CTEST_COMMAND_WITH_DIR DIR)
  execute_process(COMMAND "${CTEST_COMMAND}" ${ARGN} WORKING_DIRECTORY "${DIR}" RESULT_VARIABLE RET)
  if(${RET})
    message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
  endif()
endmacro()

EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -N)
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -R complex -N)
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -E Simple -N)
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -E Simple -N)
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -N -I -10)
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -N -I 10-)
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.."  -N -I 3,4)
EXEC_CTEST_COMMAND(--help)
EXEC_CTEST_COMMAND(--help-full "${CMAKE_CURRENT_BINARY_DIR}/ctest.txt")
EXEC_CTEST_COMMAND(--help-manual "ctest(1)" "${CMAKE_CURRENT_BINARY_DIR}/ctest.man")
EXEC_CTEST_COMMAND(--version)

if(THIS_SHOULD_BE_SET)
  message(STATUS "***************************")
  message(STATUS "PreLoad.cmake works fine.")
  message(STATUS "***************************")
else()
  message("***************************")
  message(FATAL_ERROR "PreLoad.cmake does not work.")
endif()

if(DEFINED ENV{TEST_ENVIRONMENT_VARIABLE_NOTSET})
  message(SEND_ERROR "Environment variable definition test broken!")
endif()

set(ENV{TEST_ENVIRONMENT_VARIABLE} "Environment variable set")
if("$ENV{TEST_ENVIRONMENT_VARIABLE}" STREQUAL "Environment variable set")
  message(STATUS "Environment variable set to: $ENV{TEST_ENVIRONMENT_VARIABLE}")
  if(NOT DEFINED ENV{TEST_ENVIRONMENT_VARIABLE})
    message(SEND_ERROR "Environment variable definition test failed!")
  endif()
else()
  message(SEND_ERROR "Environment variable setting is broken")
endif()