zig/cmake/Findlld.cmake

57 lines
1.7 KiB
CMake
Raw Normal View History

2017-03-13 15:54:56 +00:00
# Copyright (c) 2017 Andrew Kelley
# This file is MIT licensed.
# See http://opensource.org/licenses/MIT
# LLD_FOUND
# LLD_INCLUDE_DIRS
# LLD_LIBRARIES
2017-10-24 02:43:18 +01:00
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
2017-03-13 15:54:56 +00:00
PATHS
2020-12-16 08:37:32 +00:00
/usr/lib/llvm-12/include
/usr/local/llvm120/include
/usr/local/llvm12/include
2017-03-13 15:54:56 +00:00
/mingw64/include)
2020-12-16 08:37:32 +00:00
find_library(LLD_LIBRARY NAMES lld-12.0 lld120 lld
PATHS
2020-12-16 08:37:32 +00:00
/usr/lib/llvm-12/lib
/usr/local/llvm120/lib
/usr/local/llvm12/lib
)
if(EXISTS ${LLD_LIBRARY})
2017-04-11 11:44:45 +01:00
set(LLD_LIBRARIES ${LLD_LIBRARY})
else()
2017-03-13 15:54:56 +00:00
macro(FIND_AND_ADD_LLD_LIB _libname_)
2017-04-11 11:44:45 +01:00
string(TOUPPER ${_libname_} _prettylibname_)
find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}
PATHS
${LLD_LIBDIRS}
2020-12-16 08:37:32 +00:00
/usr/lib/llvm-12/lib
/usr/local/llvm120/lib
/usr/local/llvm12/lib
2017-05-23 05:42:53 +01:00
/mingw64/lib
/c/msys64/mingw64/lib
c:/msys64/mingw64/lib)
2017-04-11 11:44:45 +01:00
if(LLD_${_prettylibname_}_LIB)
set(LLD_LIBRARIES ${LLD_LIBRARIES} ${LLD_${_prettylibname_}_LIB})
endif()
endmacro(FIND_AND_ADD_LLD_LIB)
2017-03-13 15:54:56 +00:00
2017-04-11 11:44:45 +01:00
FIND_AND_ADD_LLD_LIB(lldDriver)
2017-10-24 02:43:18 +01:00
FIND_AND_ADD_LLD_LIB(lldMinGW)
2017-04-11 11:44:45 +01:00
FIND_AND_ADD_LLD_LIB(lldELF)
FIND_AND_ADD_LLD_LIB(lldCOFF)
FIND_AND_ADD_LLD_LIB(lldMachO)
FIND_AND_ADD_LLD_LIB(lldWasm)
2017-04-11 11:44:45 +01:00
FIND_AND_ADD_LLD_LIB(lldReaderWriter)
FIND_AND_ADD_LLD_LIB(lldCore)
FIND_AND_ADD_LLD_LIB(lldYAML)
2017-10-24 02:43:18 +01:00
FIND_AND_ADD_LLD_LIB(lldCommon)
2017-04-11 11:44:45 +01:00
endif()
2017-03-13 15:54:56 +00:00
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(lld DEFAULT_MSG LLD_LIBRARIES LLD_INCLUDE_DIRS)
2017-03-13 15:54:56 +00:00
mark_as_advanced(LLD_INCLUDE_DIRS LLD_LIBRARIES)