Merge topic 'add_CMakeOnly_test-infrastructure'
9a20abf Add infrastructure for CMake-only tests
This commit is contained in:
commit
4cfaa91ef0
@ -47,6 +47,7 @@ IF(BUILD_TESTING)
|
||||
ENDIF()
|
||||
|
||||
ADD_SUBDIRECTORY(CMakeLib)
|
||||
ADD_SUBDIRECTORY(CMakeOnly)
|
||||
|
||||
ADD_SUBDIRECTORY(FindPackageModeMakefileTest)
|
||||
|
||||
|
9
Tests/CMakeOnly/CMakeLists.txt
Normal file
9
Tests/CMakeOnly/CMakeLists.txt
Normal file
@ -0,0 +1,9 @@
|
||||
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()
|
12
Tests/CMakeOnly/Test.cmake.in
Normal file
12
Tests/CMakeOnly/Test.cmake.in
Normal file
@ -0,0 +1,12 @@
|
||||
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()
|
Loading…
x
Reference in New Issue
Block a user