File: FindLLVM.cmake

package info (click to toggle)
dpf-plugins 1.6%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 145,284 kB
  • sloc: cpp: 299,382; ansic: 61,509; objc: 2,715; makefile: 2,076; xml: 618; sh: 462; java: 211; python: 184
file content (55 lines) | stat: -rw-r--r-- 1,721 bytes parent folder | download | duplicates (2)
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()