1set(LLVM_LINK_COMPONENTS 2 MC 3 MCA 4 Support 5 TargetParser 6 ) 7 8set(mca_root ${LLVM_MAIN_SRC_DIR}/tools/llvm-mca) 9 10set(mca_includes 11 ${CMAKE_CURRENT_SOURCE_DIR} 12 ${mca_root} 13 ) 14 15# Right now we only need SummaryView. 16set(mca_views_sources 17 SummaryView.cpp 18 ) 19list(TRANSFORM mca_views_sources PREPEND "${mca_root}/Views/") 20 21set(mca_sources 22 MCATestBase.cpp 23 ${mca_views_sources} 24 ) 25 26function(add_llvm_mca_unittest_includes) 27 set(mca_includes ${mca_includes} ${ARGV} PARENT_SCOPE) 28endfunction() 29 30function(add_llvm_mca_unittest_sources) 31 set(sources ${ARGV}) 32 list(TRANSFORM sources PREPEND "${CMAKE_CURRENT_LIST_DIR}/") 33 set(mca_sources ${mca_sources} ${sources} PARENT_SCOPE) 34endfunction() 35 36function(add_llvm_mca_unittest_link_components comps) 37 set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} ${ARGV} PARENT_SCOPE) 38endfunction() 39 40if(LLVM_TARGETS_TO_BUILD MATCHES "X86") 41 include(X86/CMakeLists.txt) 42endif() 43 44list(REMOVE_DUPLICATES LLVM_LINK_COMPONENTS) 45 46include_directories(${mca_includes}) 47 48add_llvm_target_unittest(LLVMMCATests 49 ${mca_sources} 50 ) 51