[libcxx-commits] [libcxxabi] b0b546d - [libc++abi] Provide an explicit error when trying to build for MSVC (#119370)

via libcxx-commits libcxx-commits at lists.llvm.org
Wed Dec 11 09:49:10 PST 2024


Author: Louis Dionne
Date: 2024-12-11T12:49:06-05:00
New Revision: b0b546d44777eb1fa25995384876bd14a006a929

URL: https://github.com/llvm/llvm-project/commit/b0b546d44777eb1fa25995384876bd14a006a929
DIFF: https://github.com/llvm/llvm-project/commit/b0b546d44777eb1fa25995384876bd14a006a929.diff

LOG: [libc++abi] Provide an explicit error when trying to build for MSVC (#119370)

Fixes #119322

Added: 
    

Modified: 
    libcxxabi/CMakeLists.txt
    libunwind/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt
index da0e8b286cddc1..158d61ff4fcb25 100644
--- a/libcxxabi/CMakeLists.txt
+++ b/libcxxabi/CMakeLists.txt
@@ -34,6 +34,11 @@ MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
  build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there."
  )
 
+if (MSVC)
+  message(FATAL_ERROR "Libc++abi can't be built for MSVC targets, and doing so is pointless anyway because such "
+                      "targets must use the MS C++ ABI, and libc++abi provides the Itanium C++ ABI.")
+endif()
+
 #===============================================================================
 # Setup CMake Options
 #===============================================================================

diff  --git a/libunwind/CMakeLists.txt b/libunwind/CMakeLists.txt
index ea06dc8a67b949..3c8499fd334649 100644
--- a/libunwind/CMakeLists.txt
+++ b/libunwind/CMakeLists.txt
@@ -24,6 +24,11 @@ set(LIBUNWIND_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
 include(GNUInstallDirs)
 include(CheckSymbolExists)
 
+if (MSVC)
+  message(FATAL_ERROR "Libunwind doesn't build for MSVC targets, and that is almost certainly not what you want to do "
+                      "anyway since libunwind is tied to the Itanium C++ ABI, and MSVC targets must use the MS C++ ABI.")
+endif()
+
 #===============================================================================
 # Setup CMake Options
 #===============================================================================


        


More information about the libcxx-commits mailing list