authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-22 17:35:06-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-03-22 17:35:06-04:00
logf9992850a5397a092004ed561d419206cf0cfcd5
tree5b14bbf314e224fb4577b5c112923af0ef30ff8f
parent87b8b69eb0bc2b2adc655ade3b7da06284bea4da

simplify cmake logic for finding clang

which fixes the build on windows

1 files changed, 47 insertions(+), 77 deletions(-)

cmake/Findclang.cmake+47-77
...@@ -7,83 +7,53 @@...@@ -7,83 +7,53 @@
7# CLANG_LIBRARIES7# CLANG_LIBRARIES
8# CLANG_LIBDIRS8# CLANG_LIBDIRS
99
10if(MSVC)10find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
11 find_package(CLANG REQUIRED CONFIG)11 PATHS
1212 /usr/lib/llvm/10/include
13 set(CLANG_LIBRARIES13 /usr/lib/llvm-10/include
14 clangFrontendTool14 /usr/lib/llvm-10.0/include
15 clangCodeGen15 /usr/local/llvm100/include
16 clangFrontend16 /mingw64/include)
17 clangDriver17
18 clangSerialization18macro(FIND_AND_ADD_CLANG_LIB _libname_)
19 clangSema19 string(TOUPPER ${_libname_} _prettylibname_)
20 clangStaticAnalyzerFrontend20 find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
21 clangStaticAnalyzerCheckers21 PATHS
22 clangStaticAnalyzerCore22 ${CLANG_LIBDIRS}
23 clangAnalysis23 /usr/lib/llvm/10/lib
24 clangASTMatchers24 /usr/lib/llvm-10/lib
25 clangAST25 /usr/lib/llvm-10.0/lib
26 clangParse26 /usr/local/llvm100/lib
27 clangSema27 /mingw64/lib
28 clangBasic28 /c/msys64/mingw64/lib
29 clangEdit29 c:\\msys64\\mingw64\\lib)
30 clangLex30 if(CLANG_${_prettylibname_}_LIB)
31 clangARCMigrate31 set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
32 clangRewriteFrontend32 endif()
33 clangRewrite33endmacro(FIND_AND_ADD_CLANG_LIB)
34 clangCrossTU34
35 clangIndex35FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
36 )36FIND_AND_ADD_CLANG_LIB(clangCodeGen)
3737FIND_AND_ADD_CLANG_LIB(clangFrontend)
38else()38FIND_AND_ADD_CLANG_LIB(clangDriver)
39 find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h39FIND_AND_ADD_CLANG_LIB(clangSerialization)
40 PATHS40FIND_AND_ADD_CLANG_LIB(clangSema)
41 /usr/lib/llvm/10/include41FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
42 /usr/lib/llvm-10/include42FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
43 /usr/lib/llvm-10.0/include43FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
44 /usr/local/llvm100/include44FIND_AND_ADD_CLANG_LIB(clangAnalysis)
45 /mingw64/include)45FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
4646FIND_AND_ADD_CLANG_LIB(clangAST)
47 macro(FIND_AND_ADD_CLANG_LIB _libname_)47FIND_AND_ADD_CLANG_LIB(clangParse)
48 string(TOUPPER ${_libname_} _prettylibname_)48FIND_AND_ADD_CLANG_LIB(clangSema)
49 find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}49FIND_AND_ADD_CLANG_LIB(clangBasic)
50 PATHS50FIND_AND_ADD_CLANG_LIB(clangEdit)
51 ${CLANG_LIBDIRS}51FIND_AND_ADD_CLANG_LIB(clangLex)
52 /usr/lib/llvm/10/lib52FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
53 /usr/lib/llvm-10/lib53FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
54 /usr/lib/llvm-10.0/lib54FIND_AND_ADD_CLANG_LIB(clangRewrite)
55 /usr/local/llvm100/lib55FIND_AND_ADD_CLANG_LIB(clangCrossTU)
56 /mingw64/lib56FIND_AND_ADD_CLANG_LIB(clangIndex)
57 /c/msys64/mingw64/lib
58 c:\\msys64\\mingw64\\lib)
59 if(CLANG_${_prettylibname_}_LIB)
60 set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
61 endif()
62 endmacro(FIND_AND_ADD_CLANG_LIB)
63
64 FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
65 FIND_AND_ADD_CLANG_LIB(clangCodeGen)
66 FIND_AND_ADD_CLANG_LIB(clangFrontend)
67 FIND_AND_ADD_CLANG_LIB(clangDriver)
68 FIND_AND_ADD_CLANG_LIB(clangSerialization)
69 FIND_AND_ADD_CLANG_LIB(clangSema)
70 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
71 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
72 FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
73 FIND_AND_ADD_CLANG_LIB(clangAnalysis)
74 FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
75 FIND_AND_ADD_CLANG_LIB(clangAST)
76 FIND_AND_ADD_CLANG_LIB(clangParse)
77 FIND_AND_ADD_CLANG_LIB(clangSema)
78 FIND_AND_ADD_CLANG_LIB(clangBasic)
79 FIND_AND_ADD_CLANG_LIB(clangEdit)
80 FIND_AND_ADD_CLANG_LIB(clangLex)
81 FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
82 FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
83 FIND_AND_ADD_CLANG_LIB(clangRewrite)
84 FIND_AND_ADD_CLANG_LIB(clangCrossTU)
85 FIND_AND_ADD_CLANG_LIB(clangIndex)
86endif()
8757
88include(FindPackageHandleStandardArgs)58include(FindPackageHandleStandardArgs)
89find_package_handle_standard_args(CLANG DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS)59find_package_handle_standard_args(CLANG DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS)