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:
redfish 2016-07-10 18:54:48 -04:00
parent 18dd507024
commit 4dce26bba4
1 changed files with 4 additions and 2 deletions

View File

@ -392,8 +392,10 @@ 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
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") if(CMAKE_C_COMPILER_VERSION VERSION_LESS 3.7)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
endif()
endif() endif()