2015-04-27 22:25:09 +02:00
|
|
|
include(RunCMake)
|
|
|
|
|
2020-02-01 23:06:01 +01:00
|
|
|
run_cmake(AppendLiteralQuotes)
|
2015-04-27 22:25:09 +02:00
|
|
|
run_cmake(AppendNoOutput)
|
|
|
|
run_cmake(AppendNotOutput)
|
|
|
|
run_cmake(BadArgument)
|
2020-02-01 23:06:01 +01:00
|
|
|
run_cmake(BadByproduct)
|
|
|
|
run_cmake(BadOutput)
|
2021-09-14 00:13:48 +02:00
|
|
|
run_cmake(BadCommand)
|
2023-08-11 12:02:15 +02:00
|
|
|
run_cmake(ConfigureFile)
|
2020-02-01 23:06:01 +01:00
|
|
|
run_cmake(GeneratedProperty)
|
|
|
|
run_cmake(LiteralQuotes)
|
2015-04-27 22:25:09 +02:00
|
|
|
run_cmake(NoArguments)
|
|
|
|
run_cmake(NoOutputOrTarget)
|
|
|
|
run_cmake(OutputAndTarget)
|
|
|
|
run_cmake(SourceByproducts)
|
|
|
|
run_cmake(SourceUsesTerminal)
|
2016-03-13 13:35:51 +01:00
|
|
|
run_cmake(TargetImported)
|
2020-02-01 23:06:01 +01:00
|
|
|
run_cmake(TargetLiteralQuotes)
|
2016-03-13 13:35:51 +01:00
|
|
|
run_cmake(TargetNotInDir)
|
2018-01-26 17:06:56 +01:00
|
|
|
|
2024-07-09 14:46:46 +02:00
|
|
|
if(RunCMake_GENERATOR MATCHES "Visual Studio")
|
2018-01-26 17:06:56 +01:00
|
|
|
run_cmake(RemoveEmptyCommands)
|
|
|
|
endif()
|
2018-08-09 18:06:22 +02:00
|
|
|
|
|
|
|
run_cmake(AssigningMultipleTargets)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/AssigningMultipleTargets-build)
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
run_cmake_command(AssigningMultipleTargets-build ${CMAKE_COMMAND} --build .)
|
|
|
|
unset(RunCMake_TEST_BINARY_DIR)
|
|
|
|
unset(RunCMake_TEST_NO_CLEAN)
|
2021-09-14 00:13:48 +02:00
|
|
|
|
|
|
|
if(NOT RunCMake_GENERATOR STREQUAL "Ninja Multi-Config")
|
|
|
|
run_cmake(WorkingDirectory)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/WorkingDirectory-build)
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
if(RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
|
|
|
set(RunCMake-stdout-file WorkingDirectory-build-multi-config-stdout.txt)
|
|
|
|
else()
|
|
|
|
set(RunCMake-stdout-file WorkingDirectory-build-single-config-stdout.txt)
|
|
|
|
endif()
|
|
|
|
run_cmake_command(WorkingDirectory-build ${CMAKE_COMMAND} --build . --config Debug)
|
|
|
|
unset(RunCMake-stdout-file)
|
|
|
|
unset(RunCMake_TEST_BINARY_DIR)
|
|
|
|
unset(RunCMake_TEST_NO_CLEAN)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
function(test_genex name)
|
|
|
|
run_cmake(${name})
|
|
|
|
|
|
|
|
set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${name}-build")
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
run_cmake_command(${name}-build ${CMAKE_COMMAND} --build .)
|
|
|
|
|
|
|
|
if(NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/wdir/touched")
|
|
|
|
message(SEND_ERROR "File not created by target-dependent add_custom_command()!")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
unset(RunCMake_TEST_NO_CLEAN)
|
|
|
|
unset(RunCMake_TEST_BINARY_DIR)
|
|
|
|
endfunction()
|
|
|
|
|
|
|
|
test_genex(TargetGenexEvent)
|
2023-05-23 16:38:00 +02:00
|
|
|
|
|
|
|
if(NOT RunCMake_GENERATOR STREQUAL "Xcode")
|
|
|
|
block()
|
|
|
|
run_cmake(CommentGenex)
|
|
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CommentGenex-build)
|
|
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
|
|
run_cmake_command(CommentGenex-build ${CMAKE_COMMAND} --build .)
|
|
|
|
endblock()
|
|
|
|
endif()
|