ExternalProject: Add unit tests for CMAKE_CACHE_DEFAULT_ARGS
This commit is contained in:
parent
98cdb658e4
commit
609037f482
|
@ -153,3 +153,4 @@ add_RunCMake_test(CommandLine)
|
||||||
|
|
||||||
add_RunCMake_test(install)
|
add_RunCMake_test(install)
|
||||||
add_RunCMake_test(CPackInstallProperties)
|
add_RunCMake_test(CPackInstallProperties)
|
||||||
|
add_RunCMake_test(ExternalProject)
|
||||||
|
|
|
@ -0,0 +1,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()
|
|
@ -0,0 +1,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_DEFAULT_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("${CMAKE_MATCH_0}" MATCHES FORCE)
|
||||||
|
message(FATAL_ERROR "Expected not forced FOO argument")
|
||||||
|
endif()
|
|
@ -0,0 +1,29 @@
|
||||||
|
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"
|
||||||
|
CMAKE_CACHE_DEFAULT_ARGS "-DBAR:STRING=BAZ")
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
if(NOT "${_cache}" MATCHES "set\\(BAR \"BAZ\".+\\)") # \(\)
|
||||||
|
message(FATAL_ERROR "Cannot find BAR argument in cache")
|
||||||
|
endif()
|
||||||
|
if("${CMAKE_MATCH_0}" MATCHES FORCE)
|
||||||
|
message(FATAL_ERROR "Expected not forced BAR argument")
|
||||||
|
endif()
|
|
@ -0,0 +1,3 @@
|
||||||
|
cmake_minimum_required(VERSION ${CMAKE_VERSION})
|
||||||
|
project(${RunCMake_TEST} NONE)
|
||||||
|
include(${RunCMake_TEST}.cmake)
|
|
@ -0,0 +1,5 @@
|
||||||
|
include(RunCMake)
|
||||||
|
|
||||||
|
run_cmake(CMAKE_CACHE_ARGS)
|
||||||
|
run_cmake(CMAKE_CACHE_DEFAULT_ARGS)
|
||||||
|
run_cmake(CMAKE_CACHE_mix)
|
Loading…
Reference in New Issue