xref: /llvm-project/bolt/lib/Target/RISCV/CMakeLists.txt (revision e7244d8659f1ee7b6dcf8fc90e33d81cda178f45)
1set(LLVM_LINK_COMPONENTS
2  MC
3  Support
4  RISCVDesc
5  )
6
7if(BOLT_BUILT_STANDALONE)
8  # tablegen, copied from llvm/lib/Target/RISCV/CMakeLists.txt
9  set(LLVM_TARGET_DEFINITIONS ${LLVM_MAIN_SRC_DIR}/lib/Target/RISCV/RISCV.td)
10  list(APPEND LLVM_TABLEGEN_FLAGS -I ${LLVM_MAIN_SRC_DIR}/lib/Target/RISCV)
11  tablegen(LLVM RISCVGenInstrInfo.inc -gen-instr-info)
12  tablegen(LLVM RISCVGenRegisterInfo.inc -gen-register-info)
13  tablegen(LLVM RISCVGenSearchableTables.inc -gen-searchable-tables)
14  tablegen(LLVM RISCVGenSubtargetInfo.inc -gen-subtarget)
15
16  add_public_tablegen_target(RISCVCommonTableGen)
17  include_directories(${CMAKE_CURRENT_BINARY_DIR})
18endif()
19
20add_llvm_library(LLVMBOLTTargetRISCV
21  RISCVMCPlusBuilder.cpp
22
23  NO_EXPORT
24  DISABLE_LLVM_LINK_LLVM_DYLIB
25
26  DEPENDS
27  RISCVCommonTableGen
28  )
29
30target_link_libraries(LLVMBOLTTargetRISCV PRIVATE LLVMBOLTCore)
31
32include_directories(
33  ${LLVM_MAIN_SRC_DIR}/lib/Target/RISCV
34  ${LLVM_BINARY_DIR}/lib/Target/RISCV
35  )
36