cmake/Tests/RunCMake/CheckSourceCompiles/CheckCXXSourceCompiles.cmake

29 lines
644 B
CMake
Raw Normal View History

2021-09-14 00:13:48 +02:00
enable_language (CXX)
2022-11-16 20:14:03 +01:00
include(CheckCXXSourceCompiles)
2021-09-14 00:13:48 +02:00
set(CXX 1) # test that this is tolerated
2022-11-16 20:14:03 +01:00
check_cxx_source_compiles("I don't build" SHOULD_FAIL)
2021-09-14 00:13:48 +02:00
if(SHOULD_FAIL)
message(SEND_ERROR "invalid CXX source didn't fail.")
endif()
2022-11-16 20:14:03 +01:00
check_cxx_source_compiles([=[
2021-09-14 00:13:48 +02:00
#include <vector>
int main() {
return 0;
}
]=]
SHOULD_BUILD)
if(NOT SHOULD_BUILD)
message(SEND_ERROR "Test fail for valid CXX source.")
endif()
2022-11-16 20:14:03 +01:00
CHECK_CXX_SOURCE_COMPILES("void l(char const (&x)[2]){}; int main() { l(\"\\\\n\"); return 0;}"
SHOULD_BUILD_COMPLEX)
2021-09-14 00:13:48 +02:00
if(NOT SHOULD_BUILD_COMPLEX)
message(SEND_ERROR "Test fail for valid CXX complex source.")
endif()