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