[llvm-branch-commits] [llvm] fdd3e7c - [llvm][cmake] Pass /Brepro to linker (#201708)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jun 5 09:27:23 PDT 2026
Author: Miguel A. Arroyo
Date: 2026-06-05T08:53:46-07:00
New Revision: fdd3e7cae11fff30a33af79a8814db9c72d5179b
URL: https://github.com/llvm/llvm-project/commit/fdd3e7cae11fff30a33af79a8814db9c72d5179b
DIFF: https://github.com/llvm/llvm-project/commit/fdd3e7cae11fff30a33af79a8814db9c72d5179b.diff
LOG: [llvm][cmake] Pass /Brepro to linker (#201708)
* The /Brepro flag should also be passed to the linker. The `BUILD.gn`
correctly does
[this](https://github.com/llvm/llvm-project/blob/70f7167ce2622a610a6d6dca4d5934ea8a07a056/llvm/utils/gn/build/BUILD.gn#L332).
* The /Brepro flag in `clang-cl` omits the timestamp for .obj files
while the linker flag omits the timestamp for .exe and .dll files.
Added:
Modified:
llvm/cmake/modules/HandleLLVMOptions.cmake
Removed:
################################################################################
diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index 75bd8ed11e1ba..e14fd9e931810 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -700,7 +700,8 @@ if( MSVC )
has_msvc_incremental_no_flag("${CMAKE_MODULE_LINKER_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${CMAKE_MODULE_LINKER_FLAGS}" NO_INCR_MODULE)
has_msvc_incremental_no_flag("${CMAKE_SHARED_LINKER_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${CMAKE_SHARED_LINKER_FLAGS}" NO_INCR_SHARED)
if (NO_INCR_EXE AND NO_INCR_MODULE AND NO_INCR_SHARED)
- append("/Brepro" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+ # The /Brepro flag in `clang-cl` omits the timestamp for .obj files while the linker flag omits the timestamp for .exe and .dll files.
+ append("/Brepro" CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
else()
message(WARNING "/Brepro not compatible with /INCREMENTAL linking - builds will be non-deterministic")
endif()
More information about the llvm-branch-commits
mailing list