[all-commits] [llvm/llvm-project] b51e6b: [libc] Allows cross compilation of membenchmarks
Guillaume Chatelet via All-commits
all-commits at lists.llvm.org
Thu May 11 01:58:09 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b51e6bfcb6745d88a0d41be28c6204019c79bea2
https://github.com/llvm/llvm-project/commit/b51e6bfcb6745d88a0d41be28c6204019c79bea2
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2023-05-11 (Thu, 11 May 2023)
Changed paths:
M libc/benchmarks/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Allows cross compilation of membenchmarks
This patch makes sure:
- we pass the correct compiler options when building Google benchmarks,
- we only import the C++ version of the memory functions.
The change in libc/cmake/modules/LLVMLibCTestRules.cmake is here to make sure CMake can generate the right command line in the presence of the CMAKE_CROSSCOMPILING_EMULATOR option.
Relevant documentation:
https://cmake.org/cmake/help/latest/variable/CMAKE_CROSSCOMPILING_EMULATOR.html
https://cmake.org/cmake/help/latest/command/add_custom_command.html#command:add_custom_command
"
If COMMAND specifies an executable target name (created by the `add_executable()` command), it will automatically be replaced by the location of the executable created at build time if either of the following is true:
- The target is not being cross-compiled (i.e. the CMAKE_CROSSCOMPILING variable is not set to true).
- New in version 3.6: The target is being cross-compiled and an emulator is provided (i.e. its CROSSCOMPILING_EMULATOR target property is set). In this case, the contents of CROSSCOMPILING_EMULATOR will be prepended to the command before the location of the target executable.
"
Reviewed By: gchatelet
Differential Revision: https://reviews.llvm.org/D150200
More information about the All-commits
mailing list