brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 735f17a Raw
68 lines · plain
1set(exegesis_includes2  ${LLVM_MAIN_SRC_DIR}/tools/llvm-exegesis/lib3  )4 5set(LLVM_LINK_COMPONENTS6  CodeGenTypes7  MC8  MCParser9  Object10  Support11  Symbolize12  TargetParser13  )14 15set(exegesis_sources16  BenchmarkRunnerTest.cpp17  ClusteringTest.cpp18  ProgressMeterTest.cpp19  RegisterValueTest.cpp20  ResultAggregatorTest.cpp21  )22 23set(exegesis_link_libraries LLVMExegesis)24 25function(add_llvm_exegesis_unittest_includes)26  set(exegesis_includes ${exegesis_includes} ${ARGV} PARENT_SCOPE)27endfunction()28 29function(add_llvm_exegesis_unittest_sources)30  set(sources ${ARGV})31  list(TRANSFORM sources PREPEND "${CMAKE_CURRENT_LIST_DIR}/")32  set(exegesis_sources ${exegesis_sources} ${sources} PARENT_SCOPE)33endfunction()34 35function(add_llvm_exegesis_unittest_link_components comps)36  set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} ${ARGV} PARENT_SCOPE)37endfunction()38 39function(add_llvm_exegesis_unittest_link_libraries libs)40  set(exegesis_link_libraries ${exegesis_link_libraries} ${ARGV} PARENT_SCOPE)41endfunction()42 43 44if(LLVM_TARGETS_TO_BUILD MATCHES "X86")45  include(X86/CMakeLists.txt)46endif()47if(LLVM_TARGETS_TO_BUILD MATCHES "AArch64")48  include(AArch64/CMakeLists.txt)49endif()50if(LLVM_TARGETS_TO_BUILD MATCHES "PowerPC")51  include(PowerPC/CMakeLists.txt)52endif()53if(LLVM_TARGETS_TO_BUILD MATCHES "Mips")54  include(Mips/CMakeLists.txt)55endif()56if(LLVM_TARGETS_TO_BUILD MATCHES "RISCV")57  include(RISCV/CMakeLists.txt)58endif()59 60include_directories(${exegesis_includes})61 62list(REMOVE_DUPLICATES LLVM_LINK_COMPONENTS)63 64add_llvm_target_unittest(LLVMExegesisTests65  ${exegesis_sources}66  )67target_link_libraries(LLVMExegesisTests PRIVATE ${exegesis_link_libraries})68