Collection of DPF-based plugins for packaging
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.7KB

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