[llvm] 6b78e94 - [libc][CMake] Fix build issues of libc on Windows (#102499)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 8 10:10:28 PDT 2024
Author: Sirui Mu
Date: 2024-08-08T10:10:25-07:00
New Revision: 6b78e94110dda175b248b1c361a098236522e1e2
URL: https://github.com/llvm/llvm-project/commit/6b78e94110dda175b248b1c361a098236522e1e2
DIFF: https://github.com/llvm/llvm-project/commit/6b78e94110dda175b248b1c361a098236522e1e2.diff
LOG: [libc][CMake] Fix build issues of libc on Windows (#102499)
Due to an issue mentioned in `llvm/projects/CMakeLists.txt`, libc build
is disabled by default when building with `clang-cl` on Windows. This PR
sets `LLVM_FORCE_BUILD_RUNTIME` to `ON` to bypass this limit for libc
and make libc build with `clang-cl` on Windows.
Added:
Modified:
llvm/cmake/modules/CrossCompile.cmake
Removed:
################################################################################
diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake
index 39b4abaa0d931..e36a71f522d82 100644
--- a/llvm/cmake/modules/CrossCompile.cmake
+++ b/llvm/cmake/modules/CrossCompile.cmake
@@ -71,6 +71,12 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype)
if("libc" IN_LIST LLVM_ENABLE_PROJECTS AND NOT LIBC_HDRGEN_EXE)
set(libc_flags -DLLVM_LIBC_FULL_BUILD=ON -DLIBC_HDRGEN_ONLY=ON)
+ if(MSVC)
+ # Due to some issues mentioned in llvm/projects/CMakeLists.txt, libc build is disabled by
+ # default in the cross target when building with MSVC compatible compilers on Windows. Add
+ # LLVM_FORCE_BUILD_RUNTIME to bypass this issue and force its building on Windows.
+ list(APPEND libc_flags -DLLVM_FORCE_BUILD_RUNTIME=ON)
+ endif()
endif()
add_custom_command(OUTPUT ${${project_name}_${target_name}_BUILD}/CMakeCache.txt
More information about the llvm-commits
mailing list