38 lines
1.4 KiB
CMake
Raw Normal View History

2016-10-30 18:24:19 +01:00
include(RunCMake)
function(run_GEH)
# Use a single build tree for a few tests without cleaning.
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/GEH-build)
set(RunCMake_TEST_NO_CLEAN 1)
2018-04-23 21:13:27 +02:00
if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
2016-10-30 18:24:19 +01:00
set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
endif()
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
run_cmake(GEH)
run_cmake_command(GEH-build ${CMAKE_COMMAND} --build . --config Debug)
run_cmake_command(GEH-run ${RunCMake_TEST_BINARY_DIR}/GenerateExportHeader)
2018-04-23 21:13:27 +02:00
run_cmake_command(GEH-incguard-macro-run ${RunCMake_TEST_BINARY_DIR}/test_includeguard_macro)
run_cmake_command(GEH-incguard-custom-run ${RunCMake_TEST_BINARY_DIR}/test_includeguard_custom)
2016-10-30 18:24:19 +01:00
file(STRINGS "${RunCMake_TEST_BINARY_DIR}/failure_test_targets"
failure_test_targets)
foreach(failure_test_target ${failure_test_targets})
run_cmake_command(GEH-link-error ${CMAKE_COMMAND}
--build .
--config Debug
--target ${failure_test_target})
endforeach()
endfunction()
2021-09-14 00:13:48 +02:00
# remove these flags from the environment if they have been set
2020-08-30 11:54:41 +02:00
# so the tests run the correct env
set(env_cxx_flags $ENV{CXXFLAGS})
if(env_cxx_flags)
string(REPLACE "-fvisibility=hidden" "" env_cxx_flags "${env_cxx_flags}")
string(REPLACE "-fvisibility-inlines-hidden" "" env_cxx_flags "${env_cxx_flags}")
set(ENV{CXXFLAGS} "${env_cxx_flags}")
endif()
2016-10-30 18:24:19 +01:00
run_GEH()