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()
|
ENDIF()
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(CMakeLib)
|
ADD_SUBDIRECTORY(CMakeLib)
|
||||||
|
ADD_SUBDIRECTORY(CMakeOnly)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(FindPackageModeMakefileTest)
|
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