xref: /llvm-project/llvm/tools/llvm-exegesis/CMakeLists.txt (revision 8ab3f8ae0d39048e4bc1198514049813c6765fb6)
1# Has side effect of defining LLVM_EXEGESIS_TARGETS
2add_subdirectory(lib)
3
4set(LLVM_LINK_COMPONENTS
5  CodeGenTypes
6  MC
7  MCParser
8  Support
9  TargetParser
10  )
11
12foreach(t ${LLVM_EXEGESIS_TARGETS})
13  string(STRIP ${t} t)
14  list(APPEND LLVM_LINK_COMPONENTS "${t}AsmParser")
15  list(APPEND LLVM_LINK_COMPONENTS "${t}CodeGen")
16  list(APPEND LLVM_LINK_COMPONENTS "${t}Desc")
17  list(APPEND LLVM_LINK_COMPONENTS "${t}Disassembler")
18  list(APPEND LLVM_LINK_COMPONENTS "${t}Info")
19endforeach()
20
21add_llvm_tool(llvm-exegesis
22  DISABLE_LLVM_LINK_LLVM_DYLIB
23  llvm-exegesis.cpp
24
25  DEPENDS
26  intrinsics_gen
27  )
28
29# Link all enabled exegesis targets
30set(libs)
31foreach(t ${LLVM_EXEGESIS_TARGETS})
32  string(STRIP ${t} t)
33  list(APPEND libs "LLVMExegesis${t}")
34endforeach()
35
36target_link_libraries(llvm-exegesis PRIVATE
37  LLVMExegesis
38  ${libs}
39  )
40