You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
63 lines
1.9 KiB
include(RunCMake)
|
|
|
|
run_cmake(AppendLiteralQuotes)
|
|
run_cmake(AppendNoOutput)
|
|
run_cmake(AppendNotOutput)
|
|
run_cmake(BadArgument)
|
|
run_cmake(BadByproduct)
|
|
run_cmake(BadOutput)
|
|
run_cmake(BadCommand)
|
|
run_cmake(GeneratedProperty)
|
|
run_cmake(LiteralQuotes)
|
|
run_cmake(NoArguments)
|
|
run_cmake(NoOutputOrTarget)
|
|
run_cmake(OutputAndTarget)
|
|
run_cmake(SourceByproducts)
|
|
run_cmake(SourceUsesTerminal)
|
|
run_cmake(TargetImported)
|
|
run_cmake(TargetLiteralQuotes)
|
|
run_cmake(TargetNotInDir)
|
|
|
|
if(${RunCMake_GENERATOR} MATCHES "Visual Studio ([^89]|[89][0-9])")
|
|
run_cmake(RemoveEmptyCommands)
|
|
endif()
|
|
|
|
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)
|
|
|
|
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)
|