diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-03-22 17:35:06 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-03-22 17:35:06 -0400 |
| commit | f9992850a5397a092004ed561d419206cf0cfcd5 (patch) | |
| tree | 5b14bbf314e224fb4577b5c112923af0ef30ff8f /cmake | |
| parent | 87b8b69eb0bc2b2adc655ade3b7da06284bea4da (diff) | |
| download | zig-f9992850a5397a092004ed561d419206cf0cfcd5.tar.gz zig-f9992850a5397a092004ed561d419206cf0cfcd5.zip | |
simplify cmake logic for finding clang
which fixes the build on windows
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/Findclang.cmake | 124 |
1 files changed, 47 insertions, 77 deletions
diff --git a/cmake/Findclang.cmake b/cmake/Findclang.cmake index f5ab755d19..f67504068b 100644 --- a/cmake/Findclang.cmake +++ b/cmake/Findclang.cmake @@ -7,83 +7,53 @@ # CLANG_LIBRARIES # CLANG_LIBDIRS -if(MSVC) - find_package(CLANG REQUIRED CONFIG) - - set(CLANG_LIBRARIES - clangFrontendTool - clangCodeGen - clangFrontend - clangDriver - clangSerialization - clangSema - clangStaticAnalyzerFrontend - clangStaticAnalyzerCheckers - clangStaticAnalyzerCore - clangAnalysis - clangASTMatchers - clangAST - clangParse - clangSema - clangBasic - clangEdit - clangLex - clangARCMigrate - clangRewriteFrontend - clangRewrite - clangCrossTU - clangIndex - ) - -else() - find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h - PATHS - /usr/lib/llvm/10/include - /usr/lib/llvm-10/include - /usr/lib/llvm-10.0/include - /usr/local/llvm100/include - /mingw64/include) - - macro(FIND_AND_ADD_CLANG_LIB _libname_) - string(TOUPPER ${_libname_} _prettylibname_) - find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} - PATHS - ${CLANG_LIBDIRS} - /usr/lib/llvm/10/lib - /usr/lib/llvm-10/lib - /usr/lib/llvm-10.0/lib - /usr/local/llvm100/lib - /mingw64/lib - /c/msys64/mingw64/lib - c:\\msys64\\mingw64\\lib) - if(CLANG_${_prettylibname_}_LIB) - set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB}) - endif() - endmacro(FIND_AND_ADD_CLANG_LIB) - - FIND_AND_ADD_CLANG_LIB(clangFrontendTool) - FIND_AND_ADD_CLANG_LIB(clangCodeGen) - FIND_AND_ADD_CLANG_LIB(clangFrontend) - FIND_AND_ADD_CLANG_LIB(clangDriver) - FIND_AND_ADD_CLANG_LIB(clangSerialization) - FIND_AND_ADD_CLANG_LIB(clangSema) - FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend) - FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers) - FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore) - FIND_AND_ADD_CLANG_LIB(clangAnalysis) - FIND_AND_ADD_CLANG_LIB(clangASTMatchers) - FIND_AND_ADD_CLANG_LIB(clangAST) - FIND_AND_ADD_CLANG_LIB(clangParse) - FIND_AND_ADD_CLANG_LIB(clangSema) - FIND_AND_ADD_CLANG_LIB(clangBasic) - FIND_AND_ADD_CLANG_LIB(clangEdit) - FIND_AND_ADD_CLANG_LIB(clangLex) - FIND_AND_ADD_CLANG_LIB(clangARCMigrate) - FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend) - FIND_AND_ADD_CLANG_LIB(clangRewrite) - FIND_AND_ADD_CLANG_LIB(clangCrossTU) - FIND_AND_ADD_CLANG_LIB(clangIndex) -endif() +find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h + PATHS + /usr/lib/llvm/10/include + /usr/lib/llvm-10/include + /usr/lib/llvm-10.0/include + /usr/local/llvm100/include + /mingw64/include) + +macro(FIND_AND_ADD_CLANG_LIB _libname_) + string(TOUPPER ${_libname_} _prettylibname_) + find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} + PATHS + ${CLANG_LIBDIRS} + /usr/lib/llvm/10/lib + /usr/lib/llvm-10/lib + /usr/lib/llvm-10.0/lib + /usr/local/llvm100/lib + /mingw64/lib + /c/msys64/mingw64/lib + c:\\msys64\\mingw64\\lib) + if(CLANG_${_prettylibname_}_LIB) + set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB}) + endif() +endmacro(FIND_AND_ADD_CLANG_LIB) + +FIND_AND_ADD_CLANG_LIB(clangFrontendTool) +FIND_AND_ADD_CLANG_LIB(clangCodeGen) +FIND_AND_ADD_CLANG_LIB(clangFrontend) +FIND_AND_ADD_CLANG_LIB(clangDriver) +FIND_AND_ADD_CLANG_LIB(clangSerialization) +FIND_AND_ADD_CLANG_LIB(clangSema) +FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend) +FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers) +FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore) +FIND_AND_ADD_CLANG_LIB(clangAnalysis) +FIND_AND_ADD_CLANG_LIB(clangASTMatchers) +FIND_AND_ADD_CLANG_LIB(clangAST) +FIND_AND_ADD_CLANG_LIB(clangParse) +FIND_AND_ADD_CLANG_LIB(clangSema) +FIND_AND_ADD_CLANG_LIB(clangBasic) +FIND_AND_ADD_CLANG_LIB(clangEdit) +FIND_AND_ADD_CLANG_LIB(clangLex) +FIND_AND_ADD_CLANG_LIB(clangARCMigrate) +FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend) +FIND_AND_ADD_CLANG_LIB(clangRewrite) +FIND_AND_ADD_CLANG_LIB(clangCrossTU) +FIND_AND_ADD_CLANG_LIB(clangIndex) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(CLANG DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS) |
