| 1 | # Copyright (c) 2017 Andrew Kelley |
| 2 | # This file is MIT licensed. |
| 3 | # See http://opensource.org/licenses/MIT |
| 4 | |
| 5 | # LLD_FOUND |
| 6 | # LLD_INCLUDE_DIRS |
| 7 | # LLD_LIBRARIES |
| 8 | |
| 9 | find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h |
| 10 | HINTS ${LLVM_INCLUDE_DIRS} |
| 11 | PATHS |
| 12 | /usr/lib/llvm-22/include |
| 13 | /usr/local/llvm220/include |
| 14 | /usr/local/llvm22/include |
| 15 | /usr/local/opt/lld@22/include |
| 16 | /opt/homebrew/opt/lld@22/include |
| 17 | /home/linuxbrew/.linuxbrew/opt/lld@22/include |
| 18 | /mingw64/include) |
| 19 | |
| 20 | find_library(LLD_LIBRARY NAMES lld-22.0 lld220 lld NAMES_PER_DIR |
| 21 | HINTS ${LLVM_LIBDIRS} |
| 22 | PATHS |
| 23 | /usr/lib/llvm-22/lib |
| 24 | /usr/local/llvm220/lib |
| 25 | /usr/local/llvm22/lib |
| 26 | /usr/local/opt/lld@22/lib |
| 27 | /opt/homebrew/opt/lld@22/lib |
| 28 | /home/linuxbrew/.linuxbrew/opt/lld@22/lib |
| 29 | ) |
| 30 | if(EXISTS ${LLD_LIBRARY}) |
| 31 | set(LLD_LIBRARIES ${LLD_LIBRARY}) |
| 32 | else() |
| 33 | macro(FIND_AND_ADD_LLD_LIB _libname_) |
| 34 | string(TOUPPER ${_libname_} _prettylibname_) |
| 35 | find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_} NAMES_PER_DIR |
| 36 | HINTS ${LLVM_LIBDIRS} |
| 37 | PATHS |
| 38 | ${LLD_LIBDIRS} |
| 39 | /usr/lib/llvm-22/lib |
| 40 | /usr/local/llvm220/lib |
| 41 | /usr/local/llvm22/lib |
| 42 | /usr/local/opt/lld@22/lib |
| 43 | /opt/homebrew/opt/lld@22/lib |
| 44 | /home/linuxbrew/.linuxbrew/opt/lld@22/lib |
| 45 | /mingw64/lib |
| 46 | /c/msys64/mingw64/lib |
| 47 | c:/msys64/mingw64/lib) |
| 48 | if(LLD_${_prettylibname_}_LIB) |
| 49 | set(LLD_LIBRARIES ${LLD_LIBRARIES} ${LLD_${_prettylibname_}_LIB}) |
| 50 | endif() |
| 51 | endmacro(FIND_AND_ADD_LLD_LIB) |
| 52 | |
| 53 | FIND_AND_ADD_LLD_LIB(lldMinGW) |
| 54 | FIND_AND_ADD_LLD_LIB(lldELF) |
| 55 | FIND_AND_ADD_LLD_LIB(lldCOFF) |
| 56 | FIND_AND_ADD_LLD_LIB(lldWasm) |
| 57 | FIND_AND_ADD_LLD_LIB(lldMachO) |
| 58 | FIND_AND_ADD_LLD_LIB(lldCommon) |
| 59 | endif() |
| 60 | |
| 61 | include(FindPackageHandleStandardArgs) |
| 62 | find_package_handle_standard_args(lld DEFAULT_MSG LLD_LIBRARIES LLD_INCLUDE_DIRS) |
| 63 | |
| 64 | mark_as_advanced(LLD_INCLUDE_DIRS LLD_LIBRARIES) |