Introduce a cmake LLVM_ENABLE_LIBCXX build parameter to compile using libc++ instead...
[oota-llvm.git] / cmake / modules / HandleLLVMOptions.cmake
index 38dacb7b88780a24e32b2586ba112b374f35f440..21d2cd67406f60d7acf48132c4734dd1b12e4957 100644 (file)
@@ -253,6 +253,13 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
     check_cxx_compiler_flag("-std=c++11" CXX_SUPPORTS_CXX11)
     append_if(CXX_SUPPORTS_CXX11 "-std=c++11" CMAKE_CXX_FLAGS)
   endif (LLVM_ENABLE_CXX11)
+  if(LLVM_ENABLE_LIBCXX)
+    check_cxx_compiler_flag("-stdlib=libc++" CXX_SUPPORTS_STDLIB)
+    append_if(CXX_SUPPORTS_STDLIB "-stdlib=libc++" CMAKE_CXX_FLAGS)
+    append_if(CXX_SUPPORTS_STDLIB "-stdlib=libc++" CMAKE_EXE_LINKER_FLAGS)
+    append_if(CXX_SUPPORTS_STDLIB "-stdlib=libc++" CMAKE_SHARED_LINKER_FLAGS)
+    append_if(CXX_SUPPORTS_STDLIB "-stdlib=libc++" CMAKE_MODULE_LINKER_FLAGS)
+  endif ()
 endif( MSVC )
 
 macro(append_common_sanitizer_flags)