ClickHouse/cmake/test_compiler.cmake

45 lines
1000 B
CMake
Raw Normal View History

2017-01-30 13:40:04 +00:00
include (CheckCXXSourceCompiles)
include (CMakePushCheckState)
cmake_push_check_state ()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# clang4 : -no-pie cause error
# clang6 : -no-pie cause warning
2017-12-29 18:20:03 +00:00
if (MAKE_STATIC_LIBRARIES)
set (TEST_FLAG "-Wl,-Bstatic -stdlib=libc++ -lc++ -lc++abi -Wl,-Bdynamic")
else ()
set (TEST_FLAG "-stdlib=libc++ -lc++ -lc++abi")
endif ()
set (CMAKE_REQUIRED_FLAGS "${TEST_FLAG}")
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} Threads::Threads)
check_cxx_source_compiles("
#include <iostream>
int main() {
std::cerr << std::endl;
return 0;
}
2017-11-27 20:14:16 +00:00
" HAVE_LIBCXX)
else ()
2017-01-30 13:40:04 +00:00
set (TEST_FLAG "-no-pie")
set (CMAKE_REQUIRED_FLAGS "${TEST_FLAG}")
2017-01-30 13:40:04 +00:00
check_cxx_source_compiles("
int main() {
return 0;
}
" HAVE_NO_PIE)
if (HAVE_NO_PIE)
set (FLAG_NO_PIE ${TEST_FLAG})
endif ()
endif ()
cmake_pop_check_state ()