blob: 1bfa23fadd8b7d96b0db49e55bfabb01b5f25411 [file] [log] [blame]
Michael J. Spencerf5799be2010-12-10 19:47:54 +00001include(CheckLibraryExists)
2include(CheckCXXCompilerFlag)
Vasileios Kalintirisd247ac42016-02-11 12:43:04 +00003include(CheckLibcxxAtomic)
Michael J. Spencerf5799be2010-12-10 19:47:54 +00004
5# Check compiler flags
Eric Fiselier10ed6c32015-07-30 22:30:34 +00006
Eric Fiselier0058c802014-08-18 05:03:46 +00007check_cxx_compiler_flag(/WX LIBCXX_HAS_WX_FLAG)
8check_cxx_compiler_flag(/WX- LIBCXX_HAS_NO_WX_FLAG)
9check_cxx_compiler_flag(/EHsc LIBCXX_HAS_EHSC_FLAG)
10check_cxx_compiler_flag(/EHs- LIBCXX_HAS_NO_EHS_FLAG)
11check_cxx_compiler_flag(/EHa- LIBCXX_HAS_NO_EHA_FLAG)
12check_cxx_compiler_flag(/GR- LIBCXX_HAS_NO_GR_FLAG)
Michael J. Spencerf5799be2010-12-10 19:47:54 +000013
Eric Fiselier10ed6c32015-07-30 22:30:34 +000014
Michael J. Spencerf5799be2010-12-10 19:47:54 +000015# Check libraries
16check_library_exists(pthread pthread_create "" LIBCXX_HAS_PTHREAD_LIB)
Evgeniy Stepanov2abfe722015-12-10 00:45:18 +000017check_library_exists(c fopen "" LIBCXX_HAS_C_LIB)
Michael J. Spencerf5799be2010-12-10 19:47:54 +000018check_library_exists(m ccos "" LIBCXX_HAS_M_LIB)
Howard Hinnantcf762002011-05-24 12:54:00 +000019check_library_exists(rt clock_gettime "" LIBCXX_HAS_RT_LIB)
Michael J. Spencerf5799be2010-12-10 19:47:54 +000020check_library_exists(gcc_s __gcc_personality_v0 "" LIBCXX_HAS_GCC_S_LIB)
Vasileios Kalintirisd247ac42016-02-11 12:43:04 +000021
22if (NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
23 set(LIBCXX_HAS_ATOMIC_LIB True)
24endif()