| set(exegesis_includes |
| ${LLVM_MAIN_SRC_DIR}/tools/llvm-exegesis/lib |
| ) |
| |
| set(LLVM_LINK_COMPONENTS |
| MC |
| MCParser |
| Object |
| Support |
| Symbolize |
| ) |
| |
| set(exegesis_sources |
| BenchmarkRunnerTest.cpp |
| ClusteringTest.cpp |
| PerfHelperTest.cpp |
| RegisterValueTest.cpp |
| ) |
| |
| set(exegesis_link_libraries LLVMExegesis) |
| |
| function(add_llvm_exegesis_unittest_includes) |
| set(exegesis_includes ${exegesis_includes} ${ARGV} PARENT_SCOPE) |
| endfunction() |
| |
| function(add_llvm_exegesis_unittest_sources) |
| set(sources ${ARGV}) |
| list(TRANSFORM sources PREPEND "${CMAKE_CURRENT_LIST_DIR}/") |
| set(exegesis_sources ${exegesis_sources} ${sources} PARENT_SCOPE) |
| endfunction() |
| |
| function(add_llvm_exegesis_unittest_link_components comps) |
| set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} ${ARGV} PARENT_SCOPE) |
| endfunction() |
| |
| function(add_llvm_exegesis_unittest_link_libraries libs) |
| set(exegesis_link_libraries ${exegesis_link_libraries} ${ARGV} PARENT_SCOPE) |
| endfunction() |
| |
| |
| if(LLVM_TARGETS_TO_BUILD MATCHES "X86") |
| include(X86/CMakeLists.txt) |
| endif() |
| if(LLVM_TARGETS_TO_BUILD MATCHES "ARM") |
| include(ARM/CMakeLists.txt) |
| endif() |
| if(LLVM_TARGETS_TO_BUILD MATCHES "AArch64") |
| include(AArch64/CMakeLists.txt) |
| endif() |
| if(LLVM_TARGETS_TO_BUILD MATCHES "PowerPC") |
| include(PowerPC/CMakeLists.txt) |
| endif() |
| if(LLVM_TARGETS_TO_BUILD MATCHES "Mips") |
| include(Mips/CMakeLists.txt) |
| endif() |
| |
| include_directories(${exegesis_includes}) |
| |
| list(REMOVE_DUPLICATES LLVM_LINK_COMPONENTS) |
| |
| add_llvm_target_unittest(LLVMExegesisTests |
| ${exegesis_sources} |
| ) |
| target_link_libraries(LLVMExegesisTests PRIVATE ${exegesis_link_libraries}) |