blob: 50afd732fa2f12c13115cb43d80bf88660bb64bf [file] [edit]
set(LLVM_LINK_COMPONENTS
Analysis
Core
Support
# IR reading (used by llvm-ir2vec.cpp directly)
IRReader
# Machine IR components (for -mode=mir)
CodeGen
MIRParser
MC
Target
# Target initialization (required for MIR parsing)
AllTargetsAsmParsers
AllTargetsCodeGens
AllTargetsDescs
AllTargetsInfos
TargetParser
)
# Build the utility libraries first
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)
add_subdirectory(lib)
# Main executable
add_llvm_tool(llvm-ir2vec
llvm-ir2vec.cpp
DEPENDS
intrinsics_gen
)
# Link both libraries: IR tool for IR mode, MIR tool for MIR mode
target_link_libraries(llvm-ir2vec PRIVATE LLVMIREmbUtils LLVMMIREmbUtils)
option(LLVM_IR2VEC_ENABLE_PYTHON_BINDINGS
"Build Python bindings for llvm-ir2vec"
OFF)
set(LLVM_IR2VEC_TEST_PYTHON_BINDINGS False CACHE INTERNAL "")
if(LLVM_IR2VEC_ENABLE_PYTHON_BINDINGS)
add_subdirectory(Bindings)
set(LLVM_IR2VEC_TEST_PYTHON_BINDINGS True CACHE INTERNAL "" FORCE)
add_dependencies(llvm-ir2vec ir2vec ir2vec-python-staging)
endif()