authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2020-10-16 08:28:24+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-10-16 19:14:42-04:00
logfe127a36919a0f14e380303914d570fd172757f3
tree8483f367641680249fdf84d5904a3c0617d7ebba
parentabd72781a34b87adfea9d35efe1da565c75d2efe

Add llvm-config detection when dynlinking clang


1 files changed, 31 insertions(+), 0 deletions(-)

cmake/Findllvm.cmake+31
......@@ -32,6 +32,37 @@ if(ZIG_PREFER_CLANG_CPP_DYLIB)
3232 /usr/local/llvm11/lib
3333 /usr/local/llvm110/lib
3434 )
35
36 find_program(LLVM_CONFIG_EXE
37 NAMES llvm-config-11 llvm-config-11.0 llvm-config110 llvm-config11 llvm-config
38 PATHS
39 "/mingw64/bin"
40 "/c/msys64/mingw64/bin"
41 "c:/msys64/mingw64/bin"
42 "C:/Libraries/llvm-11.0.0/bin")
43
44 if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
45 message(FATAL_ERROR "unable to find llvm-config")
46 endif()
47
48 if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
49 message(FATAL_ERROR "unable to find llvm-config")
50 endif()
51
52 execute_process(
53 COMMAND ${LLVM_CONFIG_EXE} --version
54 OUTPUT_VARIABLE LLVM_CONFIG_VERSION
55 OUTPUT_STRIP_TRAILING_WHITESPACE)
56
57 if("${LLVM_CONFIG_VERSION}" VERSION_LESS 11)
58 message(FATAL_ERROR "expected LLVM 11.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
59 endif()
60 if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 12)
61 message(FATAL_ERROR "expected LLVM 11.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
62 endif()
63 if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 11)
64 message(FATAL_ERROR "expected LLVM 11.x but found ${LLVM_CONFIG_VERSION} using ${LLVM_CONFIG_EXE}")
65 endif()
3566elseif(("${ZIG_TARGET_TRIPLE}" STREQUAL "native") OR ZIG_PREFER_LLVM_CONFIG)
3667 find_program(LLVM_CONFIG_EXE
3768 NAMES llvm-config-11 llvm-config-11.0 llvm-config110 llvm-config11 llvm-config