zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit abc1ae538fee14af12bb5ffd35024d96da861961 (tree)
parent 5337934bcd174987e813e192cb5ef173c13eff37
Author: Cody Tapscott <topolarity@tapscott.me>
Date:   Mon, 25 Jul 2022 10:29:38 -0700

CMake: Search for Clang in CMAKE_LIBRARY_PATH, CMAKE_PREFIX_PATH, and CMAKE_FRAMEWORK_PATH

On some systems (esp. systems that use unique hashed file-paths for
library-versions like Nix), we can't expect LLVM and Clang to share
lib/bin directories.

The best we can do is find the matching clang libraries in the
CMAKE_LIBRARY_PATH provided by the environment

Diffstat:
Mcmake/Findclang.cmake | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/cmake/Findclang.cmake b/cmake/Findclang.cmake @@ -9,7 +9,9 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h HINTS ${LLVM_INCLUDE_DIRS} - NO_DEFAULT_PATH # Only look for clang next to LLVM + # Only look for Clang next to LLVM or in { CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH, CMAKE_FRAMEWORK_PATH } + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_SYSTEM_PATH ) if(${LLVM_LINK_MODE} STREQUAL "shared") @@ -21,14 +23,18 @@ if(${LLVM_LINK_MODE} STREQUAL "shared") clang-cpp NAMES_PER_DIR HINTS "${LLVM_LIBDIRS}" - NO_DEFAULT_PATH # Only look for Clang next to LLVM + # Only look for Clang next to LLVM or in { CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH, CMAKE_FRAMEWORK_PATH } + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_SYSTEM_PATH ) else() macro(FIND_AND_ADD_CLANG_LIB _libname_) string(TOUPPER ${_libname_} _prettylibname_) find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} NAMES_PER_DIR HINTS "${LLVM_LIBDIRS}" - NO_DEFAULT_PATH # Only look for Clang next to LLVM + # Only look for Clang next to LLVM or in { CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH, CMAKE_FRAMEWORK_PATH } + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_SYSTEM_PATH ) if(CLANG_${_prettylibname_}_LIB) set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})