diff options
7 files changed, 29 insertions, 0 deletions
diff --git a/Tests/RunCMake/BuiltinTargets/CMakeLists.txt b/Tests/RunCMake/BuiltinTargets/CMakeLists.txt new file mode 100644 index 0000000..6a9ce76 --- /dev/null +++ b/Tests/RunCMake/BuiltinTargets/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.28) +project(${RunCMake_TEST} NONE) +include(${RunCMake_TEST}.cmake) diff --git a/Tests/RunCMake/BuiltinTargets/RunCMakeTest.cmake b/Tests/RunCMake/BuiltinTargets/RunCMakeTest.cmake new file mode 100644 index 0000000..9c58bae --- /dev/null +++ b/Tests/RunCMake/BuiltinTargets/RunCMakeTest.cmake @@ -0,0 +1,17 @@ +include(RunCMake) + +if(RunCMake_GENERATOR MATCHES "Make|Ninja") + set(test_target "test") +else() + set(test_target "RUN_TESTS") +endif() + +function(run_BuiltinTarget case target) + # Use a single build tree for a few tests without cleaning. + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${case}-build) + run_cmake(${case}) + set(RunCMake_TEST_NO_CLEAN 1) + run_cmake_command(${case}-build ${CMAKE_COMMAND} --build . --config Debug --target ${${target}_target}) +endfunction() + +run_BuiltinTarget(TestDependsAll-Default test) diff --git a/Tests/RunCMake/BuiltinTargets/TestDependsAll-Default-build-check.cmake b/Tests/RunCMake/BuiltinTargets/TestDependsAll-Default-build-check.cmake new file mode 100644 index 0000000..5ef321a --- /dev/null +++ b/Tests/RunCMake/BuiltinTargets/TestDependsAll-Default-build-check.cmake @@ -0,0 +1 @@ +include(${CMAKE_CURRENT_LIST_DIR}/TestDependsAll-No-build-check.cmake) diff --git a/Tests/RunCMake/BuiltinTargets/TestDependsAll-Default.cmake b/Tests/RunCMake/BuiltinTargets/TestDependsAll-Default.cmake new file mode 100644 index 0000000..6abd56c --- /dev/null +++ b/Tests/RunCMake/BuiltinTargets/TestDependsAll-Default.cmake @@ -0,0 +1 @@ +include(TestDependsAll-common.cmake) diff --git a/Tests/RunCMake/BuiltinTargets/TestDependsAll-No-build-check.cmake b/Tests/RunCMake/BuiltinTargets/TestDependsAll-No-build-check.cmake new file mode 100644 index 0000000..f42244e --- /dev/null +++ b/Tests/RunCMake/BuiltinTargets/TestDependsAll-No-build-check.cmake @@ -0,0 +1,3 @@ +if(EXISTS ${RunCMake_TEST_BINARY_DIR}/custom-output.txt) + set(RunCMake_TEST_FAILED "Building 'test' target incorrectly built 'all' target.") +endif() diff --git a/Tests/RunCMake/BuiltinTargets/TestDependsAll-common.cmake b/Tests/RunCMake/BuiltinTargets/TestDependsAll-common.cmake new file mode 100644 index 0000000..bbe7c75 --- /dev/null +++ b/Tests/RunCMake/BuiltinTargets/TestDependsAll-common.cmake @@ -0,0 +1,3 @@ +enable_testing() +add_custom_target(custom ALL COMMAND ${CMAKE_COMMAND} -E touch custom-output.txt) +add_test(NAME test COMMAND ${CMAKE_COMMAND} -E echo) diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 9902e0a..fc2ef0d 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -322,6 +322,7 @@ add_RunCMake_test(BuildDepends -DCMAKE_C_LINK_DEPENDS_USE_COMPILER=${CMAKE_C_LINK_DEPENDS_USE_COMPILER} -DCMake_TEST_BuildDepends_GNU_AS=${CMake_TEST_BuildDepends_GNU_AS} ) +add_RunCMake_test(BuiltinTargets) if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja") add_RunCMake_test(Byproducts) endif() |