diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index da0e8b286cddc..158d61ff4fcb2 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 ea06dc8a67b94..3c8499fd33464 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 #===============================================================================