Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / RunCMake / FetchContent / System.cmake
1 enable_language(CXX)
2
3 include(FetchContent)
4
5 FetchContent_Declare(
6   IncludesSystem
7   SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/IncludesSystem
8   SYSTEM
9 )
10 FetchContent_MakeAvailable(IncludesSystem)
11
12 FetchContent_Declare(
13   IncludesNonSystem
14   SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/IncludesNonSystem
15 )
16 FetchContent_MakeAvailable(IncludesNonSystem)
17
18 function(check_target_system target expected_value)
19   get_target_property(var ${target} SYSTEM)
20   if ((var AND NOT expected_value) OR (NOT var AND expected_value))
21     message(SEND_ERROR "\
22 The 'SYSTEM' property of ${target} should be ${expected_value}, \
23 but got ${var}")
24   endif()
25 endfunction()
26
27 check_target_system(foo OFF)
28 check_target_system(bar ON)
29 check_target_system(zot ON)
30 check_target_system(subsub1foo OFF)
31 check_target_system(subsub1bar ON)
32 check_target_system(subsub1zot ON)
33 check_target_system(subsub2foo OFF)
34 check_target_system(subsub2bar ON)
35 check_target_system(subsub2zot ON)
36 check_target_system(foononsys OFF)
37 check_target_system(barnonsys OFF)