1unset(FETCHCONTENT_FULLY_DISCONNECTED CACHE)
2unset(FETCHCONTENT_UPDATES_DISCONNECTED CACHE)
3unset(FETCHCONTENT_QUIET CACHE)
4unset(FETCHCONTENT_BASE_DIR CACHE)
5
6include(FetchContent)
7
8# Each of the cache entries should be defined and have the
9# expected value. Be careful to check unset separately from a
10# false value, since unset also equates to false.
11if(FETCHCONTENT_FULLY_DISCONNECTED STREQUAL "")
12  message(FATAL_ERROR "FETCHCONTENT_FULLY_DISCONNECTED not defined")
13elseif(FETCHCONTENT_FULLY_DISCONNECTED)
14  message(FATAL_ERROR "FETCHCONTENT_FULLY_DISCONNECTED not defaulted to OFF")
15endif()
16
17if(FETCHCONTENT_UPDATES_DISCONNECTED STREQUAL "")
18  message(FATAL_ERROR "FETCHCONTENT_UPDATES_DISCONNECTED not defined")
19elseif(FETCHCONTENT_UPDATES_DISCONNECTED)
20  message(FATAL_ERROR "FETCHCONTENT_UPDATES_DISCONNECTED not defaulted to OFF")
21endif()
22
23if(FETCHCONTENT_QUIET STREQUAL "")
24  message(FATAL_ERROR "FETCHCONTENT_QUIET not defined")
25elseif(NOT FETCHCONTENT_QUIET)
26  message(FATAL_ERROR "FETCHCONTENT_QUIET not defaulted to ON")
27endif()
28
29if(NOT FETCHCONTENT_BASE_DIR STREQUAL "${CMAKE_BINARY_DIR}/_deps")
30  message(FATAL_ERROR "FETCHCONTENT_BASE_DIR has default value: "
31          "${FETCHCONTENT_BASE_DIR}\n  Expected: ${CMAKE_BINARY_DIR}/_deps")
32endif()
33
34file(REMOVE_RECURSE ${FETCHCONTENT_BASE_DIR}/t1-subbuild)
35
36# Use uppercase T1 test name to confirm conversion to lowercase
37# for the t1_... variable names that get set
38FetchContent_Declare(
39  T1
40  DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E echo "Download command executed"
41)
42FetchContent_Populate(T1)
43
44# Be careful to check both regular and cache variables. Since they have
45# the same name, we can only confirm them separately by using get_property().
46get_property(srcRegVarSet VARIABLE PROPERTY t1_SOURCE_DIR SET)
47get_property(bldRegVarSet VARIABLE PROPERTY t1_BINARY_DIR SET)
48
49get_property(srcCacheVarSet CACHE t1_SOURCE_DIR PROPERTY VALUE SET)
50get_property(bldCacheVarSet CACHE t1_BINARY_DIR PROPERTY VALUE SET)
51
52if(NOT srcRegVarSet)
53  message(FATAL_ERROR "t1_SOURCE_DIR regular variable not set")
54endif()
55if(NOT bldRegVarSet)
56  message(FATAL_ERROR "t1_BINARY_DIR regular variable not set")
57endif()
58if(srcCacheVarSet)
59  message(FATAL_ERROR "t1_SOURCE_DIR cache variable unexpectedly set")
60endif()
61if(bldCacheVarSet)
62  message(FATAL_ERROR "t1_BINARY_DIR cache variable unexpectedly set")
63endif()
64
65set(srcRegVar ${t1_SOURCE_DIR})
66set(bldRegVar ${t1_BINARY_DIR})
67
68if(NOT srcRegVar STREQUAL "${CMAKE_BINARY_DIR}/_deps/t1-src")
69  message(FATAL_ERROR "Unexpected t1_SOURCE_DIR value: ${srcRegVar}\n"
70                      "  Expected: ${CMAKE_BINARY_DIR}/_deps/t1-src")
71endif()
72if(NOT bldRegVar STREQUAL "${CMAKE_BINARY_DIR}/_deps/t1-build")
73  message(FATAL_ERROR "Unexpected t1_BINARY_DIR value: ${bldRegVar}\n"
74                      "  Expected: ${CMAKE_BINARY_DIR}/_deps/t1-build")
75endif()
76