diff options
Diffstat (limited to 'Tests/RunCMake/target_link_options/RunCMakeTest.cmake')
-rw-r--r-- | Tests/RunCMake/target_link_options/RunCMakeTest.cmake | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Tests/RunCMake/target_link_options/RunCMakeTest.cmake b/Tests/RunCMake/target_link_options/RunCMakeTest.cmake new file mode 100644 index 0000000..81bad94 --- /dev/null +++ b/Tests/RunCMake/target_link_options/RunCMakeTest.cmake @@ -0,0 +1,62 @@ + +include(RunCMake) + +macro(run_cmake_target test subtest target) + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build) + set(RunCMake_TEST_NO_CLEAN 1) + run_cmake_command(${test}-${subtest} ${CMAKE_COMMAND} --build . --target ${target} ${ARGN}) + + unset(RunCMake_TEST_BINARY_DIR) + unset(RunCMake_TEST_NO_CLEAN) +endmacro() + +if (NOT CMAKE_C_COMPILER_ID STREQUAL "Intel") + # Intel compiler does not reject bad flags or objects! + set(RunCMake_TEST_OUTPUT_MERGE TRUE) + if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG) + set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Release) + endif() + + run_cmake(LINK_OPTIONS) + + run_cmake_target(LINK_OPTIONS basic LinkOptions) + run_cmake_target(LINK_OPTIONS interface LinkOptions_consumer) + run_cmake_target(LINK_OPTIONS shared LinkOptions_shared --config Release) + run_cmake_target(LINK_OPTIONS mod LinkOptions_mod --config Release) + run_cmake_target(LINK_OPTIONS exe LinkOptions_exe --config Release) + + unset(RunCMake_TEST_OPTIONS) + unset(RunCMake_TEST_OUTPUT_MERGE) +endif() + + +# include(RunCMake) + +# macro(run_cmake_build test) +# run_cmake(${test}) + +# set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build) +# set(RunCMake_TEST_NO_CLEAN 1) +# run_cmake_command(${test}-build ${CMAKE_COMMAND} --build . ${ARGN}) + +# unset(RunCMake_TEST_BINARY_DIR) +# unset(RunCMake_TEST_NO_CLEAN) +# endmacro() + +# if (NOT CMAKE_C_COMPILER_ID STREQUAL "Intel") +# # Intel compiler does not reject bad flags or objects! +# set(RunCMake_TEST_OUTPUT_MERGE TRUE) + +# run_cmake_build(LINK_OPTIONS) +# run_cmake_build(INTERFACE_LINK_OPTIONS) + +# if (NOT RunCMake_GENERATOR_IS_MULTI_CONFIG) +# set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Release) +# endif() +# run_cmake_build(LINK_OPTIONS_shared --config Release) +# run_cmake_build(LINK_OPTIONS_mod --config Release) +# run_cmake_build(LINK_OPTIONS_exe --config Release) +# unset(RunCMake_TEST_OPTIONS) + +# unset(RunCMake_TEST_OUTPUT_MERGE) +# endif() |