The new option works like the existing LLVM_TABLEGEN, and
LLVM_CONFIG_PATH options. Instead of building llvm-nm, the build uses
the executable defined by LLVM_NM.
This is useful for cross-compilation scenarios where the host cannot run
the cross-compiled tool, and recursing into another cmake build is not
an option (due to required DEFINE's, for example).
Reviewed By: smeenai
Differential Revision: https://reviews.llvm.org/D83022
set(GEN_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/gen-msvc-exports.py)
set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports)
-
- if(CMAKE_CROSSCOMPILING)
- build_native_tool(llvm-nm llvm_nm)
- set(llvm_nm_target "${llvm_nm}")
+ if(NOT LLVM_NM)
+ if(CMAKE_CROSSCOMPILING)
+ build_native_tool(llvm-nm llvm_nm)
+ set(llvm_nm_target "${llvm_nm}")
+ else()
+ set(llvm_nm $<TARGET_FILE:llvm-nm>)
+ set(llvm_nm_target llvm-nm)
+ endif()
else()
- set(llvm_nm $<TARGET_FILE:llvm-nm>)
- set(llvm_nm_target llvm-nm)
+ set(llvm_nm ${LLVM_NM})
+ set(llvm_nm_target "")
endif()
add_custom_command(OUTPUT ${LLVM_EXPORTED_SYMBOL_FILE}