[CMake] add_llvm_symbol_exports: Use ${native_export_file} instead of equivalent...
[oota-llvm.git] / cmake / modules / HandleLLVMOptions.cmake
index ff71c00544fdab85a51c4bce748d48f758552f64..38dacb7b88780a24e32b2586ba112b374f35f440 100644 (file)
@@ -5,7 +5,6 @@
 include(AddLLVMDefinitions)
 include(CheckCCompilerFlag)
 include(CheckCXXCompilerFlag)
-include(LLVMProcessSources)
 
 if( CMAKE_COMPILER_IS_GNUCXX )
   set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
@@ -25,13 +24,13 @@ if( LLVM_ENABLE_ASSERTIONS )
   if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG" )
     add_definitions( -UNDEBUG )
     # Also remove /D NDEBUG to avoid MSVC warnings about conflicting defines.
-    set(REGEXP_NDEBUG "(^| )[/-]D *NDEBUG($| )")\r
-    string (REGEX REPLACE "${REGEXP_NDEBUG}" " "\r
-      CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")\r
-    string (REGEX REPLACE "${REGEXP_NDEBUG}" " "\r
-      CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")\r
-    string (REGEX REPLACE "${REGEXP_NDEBUG}" " "\r
-      CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")\r
+    set(REGEXP_NDEBUG "(^| )[/-]D *NDEBUG($| )")
+    string (REGEX REPLACE "${REGEXP_NDEBUG}" " "
+      CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
+    string (REGEX REPLACE "${REGEXP_NDEBUG}" " "
+      CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+    string (REGEX REPLACE "${REGEXP_NDEBUG}" " "
+      CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
   endif()
 else()
   if( NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "RELEASE" )
@@ -41,16 +40,8 @@ else()
   endif()
 endif()
 
-if(MSVC)
-  # Link release builds against the static runtime.
-  foreach(flag CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO
-      CMAKE_C_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE
-      CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_MINSIZEREL)
-    llvm_replace_compiler_option("${flag}" "/MD" "/MT")
-  endforeach()
-endif()  
-
 if(WIN32)
+  set(LLVM_HAVE_LINK_VERSION_SCRIPT 0)
   if(CYGWIN)
     set(LLVM_ON_WIN32 0)
     set(LLVM_ON_UNIX 1)
@@ -67,8 +58,10 @@ else(WIN32)
     set(LLVM_ON_WIN32 0)
     set(LLVM_ON_UNIX 1)
     if(APPLE)
+      set(LLVM_HAVE_LINK_VERSION_SCRIPT 0)
       set(LTDL_SHLIB_EXT ".dylib")
     else(APPLE)
+      set(LLVM_HAVE_LINK_VERSION_SCRIPT 1)
       set(LTDL_SHLIB_EXT ".so")
     endif(APPLE)
     set(EXEEXT "")
@@ -256,6 +249,10 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
   if (LLVM_ENABLE_WERROR)
     add_llvm_definitions( -Werror )
   endif (LLVM_ENABLE_WERROR)
+  if (LLVM_ENABLE_CXX11)
+    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)
 endif( MSVC )
 
 macro(append_common_sanitizer_flags)