simplify cmake logic for finding clang
which fixes the build on windows
This commit is contained in:
parent
87b8b69eb0
commit
f9992850a5
@ -7,83 +7,53 @@
|
|||||||
# CLANG_LIBRARIES
|
# CLANG_LIBRARIES
|
||||||
# CLANG_LIBDIRS
|
# CLANG_LIBDIRS
|
||||||
|
|
||||||
if(MSVC)
|
find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
|
||||||
find_package(CLANG REQUIRED CONFIG)
|
PATHS
|
||||||
|
/usr/lib/llvm/10/include
|
||||||
|
/usr/lib/llvm-10/include
|
||||||
|
/usr/lib/llvm-10.0/include
|
||||||
|
/usr/local/llvm100/include
|
||||||
|
/mingw64/include)
|
||||||
|
|
||||||
set(CLANG_LIBRARIES
|
macro(FIND_AND_ADD_CLANG_LIB _libname_)
|
||||||
clangFrontendTool
|
string(TOUPPER ${_libname_} _prettylibname_)
|
||||||
clangCodeGen
|
find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
|
||||||
clangFrontend
|
PATHS
|
||||||
clangDriver
|
${CLANG_LIBDIRS}
|
||||||
clangSerialization
|
/usr/lib/llvm/10/lib
|
||||||
clangSema
|
/usr/lib/llvm-10/lib
|
||||||
clangStaticAnalyzerFrontend
|
/usr/lib/llvm-10.0/lib
|
||||||
clangStaticAnalyzerCheckers
|
/usr/local/llvm100/lib
|
||||||
clangStaticAnalyzerCore
|
/mingw64/lib
|
||||||
clangAnalysis
|
/c/msys64/mingw64/lib
|
||||||
clangASTMatchers
|
c:\\msys64\\mingw64\\lib)
|
||||||
clangAST
|
if(CLANG_${_prettylibname_}_LIB)
|
||||||
clangParse
|
set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
|
||||||
clangSema
|
endif()
|
||||||
clangBasic
|
endmacro(FIND_AND_ADD_CLANG_LIB)
|
||||||
clangEdit
|
|
||||||
clangLex
|
|
||||||
clangARCMigrate
|
|
||||||
clangRewriteFrontend
|
|
||||||
clangRewrite
|
|
||||||
clangCrossTU
|
|
||||||
clangIndex
|
|
||||||
)
|
|
||||||
|
|
||||||
else()
|
FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
|
||||||
find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
|
FIND_AND_ADD_CLANG_LIB(clangCodeGen)
|
||||||
PATHS
|
FIND_AND_ADD_CLANG_LIB(clangFrontend)
|
||||||
/usr/lib/llvm/10/include
|
FIND_AND_ADD_CLANG_LIB(clangDriver)
|
||||||
/usr/lib/llvm-10/include
|
FIND_AND_ADD_CLANG_LIB(clangSerialization)
|
||||||
/usr/lib/llvm-10.0/include
|
FIND_AND_ADD_CLANG_LIB(clangSema)
|
||||||
/usr/local/llvm100/include
|
FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
|
||||||
/mingw64/include)
|
FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
|
||||||
|
FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
|
||||||
macro(FIND_AND_ADD_CLANG_LIB _libname_)
|
FIND_AND_ADD_CLANG_LIB(clangAnalysis)
|
||||||
string(TOUPPER ${_libname_} _prettylibname_)
|
FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
|
||||||
find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
|
FIND_AND_ADD_CLANG_LIB(clangAST)
|
||||||
PATHS
|
FIND_AND_ADD_CLANG_LIB(clangParse)
|
||||||
${CLANG_LIBDIRS}
|
FIND_AND_ADD_CLANG_LIB(clangSema)
|
||||||
/usr/lib/llvm/10/lib
|
FIND_AND_ADD_CLANG_LIB(clangBasic)
|
||||||
/usr/lib/llvm-10/lib
|
FIND_AND_ADD_CLANG_LIB(clangEdit)
|
||||||
/usr/lib/llvm-10.0/lib
|
FIND_AND_ADD_CLANG_LIB(clangLex)
|
||||||
/usr/local/llvm100/lib
|
FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
|
||||||
/mingw64/lib
|
FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
|
||||||
/c/msys64/mingw64/lib
|
FIND_AND_ADD_CLANG_LIB(clangRewrite)
|
||||||
c:\\msys64\\mingw64\\lib)
|
FIND_AND_ADD_CLANG_LIB(clangCrossTU)
|
||||||
if(CLANG_${_prettylibname_}_LIB)
|
FIND_AND_ADD_CLANG_LIB(clangIndex)
|
||||||
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()
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(CLANG DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS)
|
find_package_handle_standard_args(CLANG DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user