Commit 9a20abf0 authored by Brad King's avatar Brad King

Add infrastructure for CMake-only tests

Some tests only need to run CMake to configure and generate a build
tree, but not actually perform the build.  Add a new "Tests/CMakeOnly"
directory dedicated for this purpose.  Add a helper script to drive each
test by creating a fresh build tree and running CMake on it.  Add macro
"add_CMakeOnly_test" to help create tests using the script.
parent bbed9011
......@@ -47,6 +47,7 @@ IF(BUILD_TESTING)
ENDIF()
ADD_SUBDIRECTORY(CMakeLib)
ADD_SUBDIRECTORY(CMakeOnly)
ADD_SUBDIRECTORY(FindPackageModeMakefileTest)
......
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Test.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/Test.cmake @ONLY)
macro(add_CMakeOnly_test test)
add_test(CMakeOnly.${test} ${CMAKE_CMAKE_COMMAND}
-DTEST=${test}
-P ${CMAKE_CURRENT_BINARY_DIR}/Test.cmake
)
endmacro()
set(source_dir "@CMAKE_CURRENT_SOURCE_DIR@/${TEST}")
set(binary_dir "@CMAKE_CURRENT_BINARY_DIR@/${TEST}-build")
file(REMOVE_RECURSE "${binary_dir}")
file(MAKE_DIRECTORY "${binary_dir}")
execute_process(
COMMAND ${CMAKE_COMMAND} "${source_dir}" -G "@CMAKE_TEST_GENERATOR@"
WORKING_DIRECTORY "${binary_dir}"
RESULT_VARIABLE result
)
if(result)
message(FATAL_ERROR "CMake failed to configure ${TEST}")
endif()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment