RunCMake: Allow specifying the source dir and file to test.
This will allow decoupling the name of the test from the name and location of the source file under test, which means one source file can be used for multiple tests. Rename the PARENT_SCOPE test in RunCMake.set to not use a keyword of the if() command as a file name. As the filename is now used with an if condition, this causes a conflict.
This commit is contained in:
parent
5376151aa1
commit
c869984ea0
|
@ -25,7 +25,9 @@ function(run_cmake test)
|
|||
unset(expect_std${o})
|
||||
endif()
|
||||
endforeach()
|
||||
set(RunCMake_TEST_SOURCE_DIR "${top_src}")
|
||||
if (NOT RunCMake_TEST_SOURCE_DIR)
|
||||
set(RunCMake_TEST_SOURCE_DIR "${top_src}")
|
||||
endif()
|
||||
if(NOT RunCMake_TEST_BINARY_DIR)
|
||||
set(RunCMake_TEST_BINARY_DIR "${top_bin}/${test}-build")
|
||||
endif()
|
||||
|
@ -36,6 +38,9 @@ function(run_cmake test)
|
|||
if(NOT DEFINED RunCMake_TEST_OPTIONS)
|
||||
set(RunCMake_TEST_OPTIONS "")
|
||||
endif()
|
||||
if (NOT RunCMake_TEST_FILE)
|
||||
set(RunCMake_TEST_FILE "${test}")
|
||||
endif()
|
||||
if(APPLE)
|
||||
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
|
||||
endif()
|
||||
|
@ -52,7 +57,7 @@ function(run_cmake test)
|
|||
COMMAND ${CMAKE_COMMAND} "${RunCMake_TEST_SOURCE_DIR}"
|
||||
-G "${RunCMake_GENERATOR}"
|
||||
-T "${RunCMake_GENERATOR_TOOLSET}"
|
||||
-DRunCMake_TEST=${test}
|
||||
-DRunCMake_TEST=${RunCMake_TEST_FILE}
|
||||
--no-warn-unused-cli
|
||||
${RunCMake_TEST_OPTIONS}
|
||||
WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
include(RunCMake)
|
||||
|
||||
run_cmake(PARENT_SCOPE)
|
||||
run_cmake(ParentScope)
|
||||
|
|
Loading…
Reference in New Issue