
This effectively reverts 6f9e25d3824fb7b03dc6a403e1962d80a9c88ebe. I didn't follow the complete history, but it seems this was added due to AArch64's output changing in some fallback. Blockaddress definitely works now, so just remove this.
48 lines
1.7 KiB
CMake
48 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.13.4)
|
|
project(DetectTestCompiler C CXX)
|
|
|
|
include(CheckCCompilerFlag)
|
|
include(CheckCXXCompilerFlag)
|
|
include(CheckIncludeFile)
|
|
include(CheckIncludeFileCXX)
|
|
|
|
function(write_compiler_information lang)
|
|
set(information "${CMAKE_${lang}_COMPILER}")
|
|
set(information "${information}\\;${CMAKE_${lang}_COMPILER_ID}")
|
|
set(information "${information}\\;${CMAKE_${lang}_COMPILER_VERSION}")
|
|
set(information "${information}\\;${${lang}_FLAGS}")
|
|
set(information "${information}\\;${${lang}_HAS_TSAN_FLAG}")
|
|
set(information "${information}\\;${${lang}_HAS_OMIT_FRAME_POINTER}")
|
|
set(information "${information}\\;${${lang}_HAS_OMP_H}")
|
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${lang}CompilerInformation.txt ${information})
|
|
endfunction(write_compiler_information)
|
|
|
|
find_package(OpenMP)
|
|
if (NOT OpenMP_Found)
|
|
set(OpenMP_C_FLAGS "-fopenmp")
|
|
set(OpenMP_CXX_FLAGS "-fopenmp")
|
|
endif()
|
|
|
|
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
|
|
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
|
find_package(Threads REQUIRED)
|
|
|
|
set(C_FLAGS "${OpenMP_C_FLAGS} ${CMAKE_THREAD_LIBS_INIT}")
|
|
set(CXX_FLAGS "${OpenMP_CXX_FLAGS} ${CMAKE_THREAD_LIBS_INIT}")
|
|
|
|
check_c_compiler_flag("-fno-omit-frame-pointer" C_HAS_OMIT_FRAME_POINTER)
|
|
check_cxx_compiler_flag("-fno-omit-frame-pointer" CXX_HAS_OMIT_FRAME_POINTER)
|
|
|
|
set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
|
|
set(CMAKE_REQUIRED_FLAGS "-fsanitize=thread")
|
|
check_c_compiler_flag("" C_HAS_TSAN_FLAG)
|
|
check_cxx_compiler_flag("" CXX_HAS_TSAN_FLAG)
|
|
set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
|
|
|
|
# Check if omp.h header exists for the test compiler
|
|
check_include_file_cxx(omp.h CXX_HAS_OMP_H)
|
|
check_include_file(omp.h C_HAS_OMP_H)
|
|
|
|
write_compiler_information(C)
|
|
write_compiler_information(CXX)
|