1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
# Find and use llvm-config to determine the proper library and include locations.
find_program(LLVM_CONFIG_COMMAND
NAMES llvm-config llvm-config.exe
)
if(LLVM_CONFIG_COMMAND)
execute_process(COMMAND
${LLVM_CONFIG_COMMAND} --version
OUTPUT_VARIABLE LLVM_VERSION
)
string(STRIP "${LLVM_VERSION}" LLVM_VERSION)
execute_process(COMMAND
${LLVM_CONFIG_COMMAND} --includedir
OUTPUT_VARIABLE LLVM_INCLUDE_DIR
)
string(STRIP "${LLVM_INCLUDE_DIR}" LLVM_INCLUDE_DIR)
execute_process(COMMAND
${LLVM_CONFIG_COMMAND} --libdir
OUTPUT_VARIABLE LLVM_LIB_DIR
)
string(STRIP "${LLVM_LIB_DIR}" LLVM_LIB_DIR)
execute_process(COMMAND
${LLVM_CONFIG_COMMAND} --libs
OUTPUT_VARIABLE LLVM_LIBRARIES
)
string(STRIP "${LLVM_LIBRARIES}" LLVM_LIBRARIES)
execute_process(COMMAND
${LLVM_CONFIG_COMMAND} --ldflags
OUTPUT_VARIABLE LLVM_LDFLAGS
)
string(STRIP "${LLVM_LDFLAGS}" LLVM_LDFLAGS)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LLVM
REQUIRED_VARS LLVM_CONFIG_COMMAND LLVM_LIBRARIES LLVM_LIB_DIR LLVM_INCLUDE_DIR LLVM_LDFLAGS
VERSION_VAR LLVM_VERSION
)
if(LLVM_FOUND AND NOT TARGET LLVM::LLVM)
add_library(LLVM::LLVM INTERFACE IMPORTED)
set_target_properties(LLVM::LLVM PROPERTIES
INTERFACE_LINK_LIBRARIES "${LLVM_LIBRARIES}"
INTERFACE_LINK_DIRECTORIES "${LLVM_LIB_DIR}"
INTERFACE_INCLUDE_DIRECTORIES "${LLVM_INCLUDE_DIR}"
INTERFACE_LINK_OPTIONS "${LLVM_LDFLAGS}"
)
endif()
|