[libcxx] r343431 - Attempt to unbreak Windows configuration.

Eric Fiselier eric at efcs.ca
Sun Sep 30 18:00:12 PDT 2018


Author: ericwf
Date: Sun Sep 30 18:00:11 2018
New Revision: 343431

URL: http://llvm.org/viewvc/llvm-project?rev=343431&view=rev
Log:
Attempt to unbreak Windows configuration.

Although libc++ doesn't yet support Windows we still have Windows
builders to track our progress.

Currently the clang-cl configuration seems broken because it doesn't
support -std=c++11 and instead requires /std:c++11. This patch attempts
to fix this.

Modified:
    libcxx/trunk/CMakeLists.txt
    libcxx/trunk/cmake/Modules/HandleLibcxxFlags.cmake

Modified: libcxx/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/CMakeLists.txt?rev=343431&r1=343430&r2=343431&view=diff
==============================================================================
--- libcxx/trunk/CMakeLists.txt (original)
+++ libcxx/trunk/CMakeLists.txt Sun Sep 30 18:00:11 2018
@@ -53,6 +53,7 @@ MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
 
 if (MSVC)
   set(LIBCXX_TARGETING_MSVC ON)
+  message(STATUS "Configuring for MSVC")
 else()
   set(LIBCXX_TARGETING_MSVC OFF)
 endif()
@@ -504,8 +505,10 @@ if (LIBCXX_HAS_MUSL_LIBC)
   set(LIBCXX_STANDARD_VER c++14 CACHE INTERNAL "internal option to change build dialect")
 endif()
 add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER})
+add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}")
 mangle_name("LIBCXX_SUPPORTS_STD_EQ_${LIBCXX_STANDARD_VER}_FLAG" SUPPORTS_DIALECT_NAME)
-if(NOT ${SUPPORTS_DIALECT_NAME})
+mangle_name("LIBCXX_SUPPORTS_STD_COLON_${LIBCXX_STANDARD_VER}_FLAG" SUPPORTS_DIALECT_NAME_MSVC)
+if(NOT ${SUPPORTS_DIALECT_NAME} AND NOT ${SUPPORTS_DIALECT_NAME_MSVC})
   if(NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" AND NOT "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
     message(FATAL_ERROR "C++11 or greater is required but the compiler does not support ${LIBCXX_STANDARD_VER}")
   endif()

Modified: libcxx/trunk/cmake/Modules/HandleLibcxxFlags.cmake
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/cmake/Modules/HandleLibcxxFlags.cmake?rev=343431&r1=343430&r2=343431&view=diff
==============================================================================
--- libcxx/trunk/cmake/Modules/HandleLibcxxFlags.cmake (original)
+++ libcxx/trunk/cmake/Modules/HandleLibcxxFlags.cmake Sun Sep 30 18:00:11 2018
@@ -16,6 +16,7 @@ macro(mangle_name str output)
   string(REGEX REPLACE "^-+" "" strippedStr "${strippedStr}")
   string(REGEX REPLACE "-+$" "" strippedStr "${strippedStr}")
   string(REPLACE "-" "_" strippedStr "${strippedStr}")
+  string(REPLACE ":" "_COLON_" strippedStr "${strippedStr}")
   string(REPLACE "=" "_EQ_" strippedStr "${strippedStr}")
   string(REPLACE "+" "X" strippedStr "${strippedStr}")
   string(TOUPPER "${strippedStr}" ${output})




More information about the libcxx-commits mailing list