cmake: do not pass -stdlib=c++ to clang >=3.7
Tested on Linux (Arch) with clang 3.7 and 3.8 i686 and ARM: if -stdlib=c++ is passed to clang, then the build errors out with <string>,<iostrea>,etc. headers not found. Simply not passing the arg fixes the problem. **NOTE**: not tested on OSX.
This commit is contained in:
parent
18dd507024
commit
4dce26bba4
|
@ -392,9 +392,11 @@ else()
|
||||||
# There is a clang bug that does not allow to compile code that uses AES-NI intrinsics if -flto is enabled, so explicitly disable
|
# There is a clang bug that does not allow to compile code that uses AES-NI intrinsics if -flto is enabled, so explicitly disable
|
||||||
set(USE_LTO false)
|
set(USE_LTO false)
|
||||||
# explicitly define stdlib for older versions of clang
|
# explicitly define stdlib for older versions of clang
|
||||||
|
if(CMAKE_C_COMPILER_VERSION VERSION_LESS 3.7)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(USE_LTO)
|
if(USE_LTO)
|
||||||
|
|
Loading…
Reference in New Issue