-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[libcxx] Passthrough the necessary CMake variables to benchmarks #116644
Conversation
This addresses the issue uncovered by llvm#115361. Previously, we weren't building benchmarks in many cases due to the following block: https://github.com/llvm/llvm-project/blob/e58949632e91477af58d983f3b66369e6a2c8233/libcxx/CMakeLists.txt#L162-L172 We need to passthrough the necessary variables into the benchmarks subbuild and use correct syntax.
@llvm/pr-subscribers-libcxx Author: Petr Hosek (petrhosek) ChangesThis addresses the issue uncovered by #115361. Previously, we weren't building benchmarks in many cases due to the following block: llvm-project/libcxx/CMakeLists.txt Lines 162 to 172 in e589496
We need to passthrough the necessary variables into the benchmarks subbuild and use correct syntax. Full diff: https://github.com/llvm/llvm-project/pull/116644.diff 1 Files Affected:
diff --git a/libcxx/test/benchmarks/CMakeLists.txt b/libcxx/test/benchmarks/CMakeLists.txt
index b5a4aae82c06ab..b0fe600623d964 100644
--- a/libcxx/test/benchmarks/CMakeLists.txt
+++ b/libcxx/test/benchmarks/CMakeLists.txt
@@ -35,13 +35,14 @@ ExternalProject_Add(google-benchmark
SOURCE_DIR ${LLVM_THIRD_PARTY_DIR}/benchmark
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/google-benchmark
CMAKE_CACHE_ARGS
- -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
- -DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
+ -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
+ -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
+ -DCMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_MAKE_PROGRAM}
-DCMAKE_BUILD_TYPE:STRING=RELEASE
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_CXX_FLAGS:STRING=${BENCHMARK_COMPILE_FLAGS}
-DBENCHMARK_USE_LIBCXX:BOOL=ON
-DBENCHMARK_ENABLE_TESTING:BOOL=OFF
- -DBENCHMARK_CXX_LIBRARIES:STRING="${BENCHMARK_CXX_LIBRARIES}")
+ -DBENCHMARK_CXX_LIBRARIES:STRING=${BENCHMARK_CXX_LIBRARIES})
add_dependencies(cxx-test-depends google-benchmark)
|
ping is this ready to land? |
I need an approval from one of the libc++ reviewers. |
This LGTM. Sorry for the delay, I am at a C++ Committee Meeting this week and things are much more hectic than usual over here (stuff rushing for the C++26 deadline), so I haven't had time to do any code review. |
…m#116644) This addresses the issue uncovered by llvm#115361. Previously, we weren't building benchmarks in many cases due to the following block: https://github.com/llvm/llvm-project/blob/e58949632e91477af58d983f3b66369e6a2c8233/libcxx/CMakeLists.txt#L162-L172 We need to passthrough the necessary variables into the benchmarks subbuild and use correct syntax.
This addresses the issue uncovered by #115361. Previously, we weren't building benchmarks in many cases due to the following block:
llvm-project/libcxx/CMakeLists.txt
Lines 162 to 172 in e589496
We need to passthrough the necessary variables into the benchmarks subbuild and use correct syntax.