Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / add_subdirectory / RunCMakeTest.cmake
1 include(RunCMake)
2
3 run_cmake(DoesNotExist)
4 run_cmake(Missing)
5 run_cmake(Function)
6 run_cmake(System)
7
8 macro(run_cmake_install case)
9   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${case}-build)
10   set(RunCMake_TEST_NO_CLEAN 1)
11   set(RunCMake_TEST_OPTIONS ${ARGN})
12
13   run_cmake(${case})
14   run_cmake_command(${case}-install ${CMAKE_COMMAND} -P cmake_install.cmake)
15   run_cmake_command(${case}-install-component ${CMAKE_COMMAND} -DCOMPONENT=Unspecified -P cmake_install.cmake)
16
17   unset(RunCMake_TEST_BINARY_DIR)
18   unset(RunCMake_TEST_NO_CLEAN)
19   unset(RunCMake_TEST_OPTIONS)
20 endmacro()
21
22 run_cmake_install(CMP0082-WARN)
23 run_cmake_install(CMP0082-WARN-Nested)
24 run_cmake_install(CMP0082-WARN-NestedSub)
25 run_cmake_install(CMP0082-WARN-None)
26 run_cmake_install(CMP0082-WARN-NoTopInstall)
27 run_cmake_install(CMP0082-OLD -DCMP0082_VALUE=OLD)
28 run_cmake_install(CMP0082-NEW -DCMP0082_VALUE=NEW)
29
30 set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/ExcludeFromAll-build)
31 if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
32   set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
33 endif()
34 run_cmake(ExcludeFromAll)
35 set(RunCMake_TEST_NO_CLEAN 1)
36 set(RunCMake-check-file ExcludeFromAll/check.cmake)
37 run_cmake_command(ExcludeFromAll-build ${CMAKE_COMMAND} --build . --config Debug)
38 if(RunCMake_GENERATOR STREQUAL "Ninja")
39   if(WIN32)
40     set(slash [[\]])
41   else()
42     set(slash [[/]])
43   endif()
44   set(RunCMake-check-file ExcludeFromAll/check-sub.cmake)
45   run_cmake_command(ExcludeFromAll-build-sub ${CMAKE_COMMAND} --build . --target "ExcludeFromAll${slash}all")
46 elseif(RunCMake_GENERATOR MATCHES "Make")
47   set(RunCMake-check-file ExcludeFromAll/check-sub.cmake)
48   set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY ${RunCMake_BINARY_DIR}/ExcludeFromAll-build/ExcludeFromAll)
49   run_cmake_command(ExcludeFromAll-build-sub "${RunCMake_MAKE_PROGRAM}")
50 elseif(RunCMake_GENERATOR MATCHES "^Visual Studio [1-9][0-9]")
51   set(RunCMake-check-file ExcludeFromAll/check-sub.cmake)
52   run_cmake_command(ExcludeFromAll-build-sub ${CMAKE_COMMAND} --build ExcludeFromAll --config Debug)
53 elseif(RunCMake_GENERATOR STREQUAL "Xcode")
54   set(RunCMake-check-file ExcludeFromAll/check-sub.cmake)
55   set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY ${RunCMake_BINARY_DIR}/ExcludeFromAll-build/ExcludeFromAll)
56   run_cmake_command(ExcludeFromAll-build-sub xcodebuild -configuration Debug)
57 endif()
58 unset(RunCMake-check-file)
59 unset(RunCMake_TEST_NO_CLEAN)
60 unset(RunCMake_TEST_OPTIONS)
61 unset(RunCMake_TEST_BINARY_DIR)