authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-04-09 22:28:53-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-04-10 00:38:19-04:00
logaaf99371b22e816a4162391d799b9d22bba21120
tree0ac7055d885643371eb2a36f6af32e21ba28984f
parent543031db35ede984b60a00c8f8a7859c6acfebdd

look for clang-cpp shared lib when it exists

See #4799

1 files changed, 61 insertions(+), 43 deletions(-)

cmake/Findclang.cmake+61-43
......@@ -8,54 +8,72 @@
88# CLANG_LIBDIRS
99
1010find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
11 PATHS
12 /usr/lib/llvm/10/include
13 /usr/lib/llvm-10/include
14 /usr/lib/llvm-10.0/include
15 /usr/local/llvm100/include
16 /usr/local/llvm10/include
17 /mingw64/include
18)
19
20if(NOT ZIG_STATIC_LLVM)
21 find_library(CLANG_CPP_DYLIB
22 NAMES
23 clang-cpp-10.0
24 clang-cpp100
25 clang-cpp
1126 PATHS
12 /usr/lib/llvm/10/include
13 /usr/lib/llvm-10/include
14 /usr/lib/llvm-10.0/include
15 /usr/local/llvm100/include
16 /usr/local/llvm10/include
17 /mingw64/include)
27 ${CLANG_LIBDIRS}
28 /usr/lib/llvm-10/lib
29 /usr/local/llvm100/lib
30 /usr/local/llvm10/lib
31 )
32endif()
1833
19macro(FIND_AND_ADD_CLANG_LIB _libname_)
34if(CLANG_CPP_DYLIB)
35 set(CLANG_LIBRARIES ${CLANG_CPP_DYLIB})
36else()
37 macro(FIND_AND_ADD_CLANG_LIB _libname_)
2038 string(TOUPPER ${_libname_} _prettylibname_)
2139 find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
22 PATHS
23 ${CLANG_LIBDIRS}
24 /usr/lib/llvm/10/lib
25 /usr/lib/llvm-10/lib
26 /usr/lib/llvm-10.0/lib
27 /usr/local/llvm100/lib
28 /usr/local/llvm10/lib
29 /mingw64/lib
30 /c/msys64/mingw64/lib
31 c:\\msys64\\mingw64\\lib)
32 if(CLANG_${_prettylibname_}_LIB)
33 set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
34 endif()
35endmacro(FIND_AND_ADD_CLANG_LIB)
40 PATHS
41 ${CLANG_LIBDIRS}
42 /usr/lib/llvm/10/lib
43 /usr/lib/llvm-10/lib
44 /usr/lib/llvm-10.0/lib
45 /usr/local/llvm100/lib
46 /usr/local/llvm10/lib
47 /mingw64/lib
48 /c/msys64/mingw64/lib
49 c:\\msys64\\mingw64\\lib
50 )
51 set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
52 endmacro(FIND_AND_ADD_CLANG_LIB)
3653
37FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
38FIND_AND_ADD_CLANG_LIB(clangCodeGen)
39FIND_AND_ADD_CLANG_LIB(clangFrontend)
40FIND_AND_ADD_CLANG_LIB(clangDriver)
41FIND_AND_ADD_CLANG_LIB(clangSerialization)
42FIND_AND_ADD_CLANG_LIB(clangSema)
43FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
44FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
45FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
46FIND_AND_ADD_CLANG_LIB(clangAnalysis)
47FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
48FIND_AND_ADD_CLANG_LIB(clangAST)
49FIND_AND_ADD_CLANG_LIB(clangParse)
50FIND_AND_ADD_CLANG_LIB(clangSema)
51FIND_AND_ADD_CLANG_LIB(clangBasic)
52FIND_AND_ADD_CLANG_LIB(clangEdit)
53FIND_AND_ADD_CLANG_LIB(clangLex)
54FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
55FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
56FIND_AND_ADD_CLANG_LIB(clangRewrite)
57FIND_AND_ADD_CLANG_LIB(clangCrossTU)
58FIND_AND_ADD_CLANG_LIB(clangIndex)
54 FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
55 FIND_AND_ADD_CLANG_LIB(clangCodeGen)
56 FIND_AND_ADD_CLANG_LIB(clangFrontend)
57 FIND_AND_ADD_CLANG_LIB(clangDriver)
58 FIND_AND_ADD_CLANG_LIB(clangSerialization)
59 FIND_AND_ADD_CLANG_LIB(clangSema)
60 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
61 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
62 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
63 FIND_AND_ADD_CLANG_LIB(clangAnalysis)
64 FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
65 FIND_AND_ADD_CLANG_LIB(clangAST)
66 FIND_AND_ADD_CLANG_LIB(clangParse)
67 FIND_AND_ADD_CLANG_LIB(clangSema)
68 FIND_AND_ADD_CLANG_LIB(clangBasic)
69 FIND_AND_ADD_CLANG_LIB(clangEdit)
70 FIND_AND_ADD_CLANG_LIB(clangLex)
71 FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
72 FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
73 FIND_AND_ADD_CLANG_LIB(clangRewrite)
74 FIND_AND_ADD_CLANG_LIB(clangCrossTU)
75 FIND_AND_ADD_CLANG_LIB(clangIndex)
76endif()
5977
6078include(FindPackageHandleStandardArgs)
6179find_package_handle_standard_args(clang DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS)