cmake_minimum_required(VERSION 3.13)
project(DumpFeaturePass)

find_package(LLVM 17 REQUIRED CONFIG)

# 2.  LLVM 
include_directories(${LLVM_INCLUDE_DIRS})
include_directories("<project_path>/external/include")
add_definitions(${LLVM_DEFINITIONS})

set(CMAKE_CXX_STANDARD 17)

add_library(LLVMDumpFeaturePass MODULE DumpFeature.cpp CallHeight.cpp)

llvm_map_components_to_libnames(llvm_libs Support Analysis Passes Core IRReader)

set_target_properties(LLVMDumpFeaturePass PROPERTIES
    LINKER_LANGUAGE CXX
    PREFIX "lib"
)

target_link_libraries(LLVMDumpFeaturePass PRIVATE ${llvm_libs})

# 
set(CMAKE_INSTALL_PREFIX "<project_path>/external/lib")
install(TARGETS LLVMDumpFeaturePass DESTINATION lib)