summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake
blob: bf9b12d8fe85da2fd2c04a226fc70cba5b9d2ed9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
include(ExternalProject)

set(_tmp_dir "${CMAKE_CURRENT_BINARY_DIR}/tmp")
set(_cache_file "${_tmp_dir}/FOO-cache.cmake")

ExternalProject_Add(FOO TMP_DIR "${_tmp_dir}"
                        DOWNLOAD_COMMAND ""
                        CMAKE_CACHE_ARGS "-DFOO:STRING=BAR")

if(NOT EXISTS "${_cache_file}")
  message(FATAL_ERROR "Initial cache not created")
endif()

file(READ "${_cache_file}" _cache)

if(NOT "${_cache}" MATCHES "set\\(FOO \"BAR\".+\\)") # \(\)
  message(FATAL_ERROR "Cannot find FOO argument in cache")
endif()
if(NOT "${CMAKE_MATCH_0}" MATCHES FORCE)
  message(FATAL_ERROR "Expected forced FOO argument")
endif()