зеркало из https://github.com/microsoft/clang.git
Turn CLANG_ENABLE_{ARCMT,REWRITER,STATIC_ANALYZER} into proper options so that
users can disable those. Just like in autoconf generated makefiles. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182881 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
1acb394679
Коммит
ff62d64c63
|
@ -264,8 +264,27 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
|
|||
|
||||
add_definitions( -D_GNU_SOURCE )
|
||||
|
||||
# FIXME: They should be options.
|
||||
add_definitions(-DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER)
|
||||
option(CLANG_ENABLE_ARCMT "Enable ARCMT by default." ON)
|
||||
option(CLANG_ENABLE_REWRITER "Enable rewriter by default." ON)
|
||||
option(CLANG_ENABLE_STATIC_ANALYZER "Enable static analyzer by default." ON)
|
||||
|
||||
if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_ARCMT)
|
||||
message(FATAL_ERROR "Cannot disable rewriter while enabling ARCMT")
|
||||
endif()
|
||||
|
||||
if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_STATIC_ANALYZER)
|
||||
message(FATAL_ERROR "Cannot disable rewriter while enabling static analyzer")
|
||||
endif()
|
||||
|
||||
if(CLANG_ENABLE_ARCMT)
|
||||
add_definitions(-DCLANG_ENABLE_ARCMT)
|
||||
endif()
|
||||
if(CLANG_ENABLE_REWRITER)
|
||||
add_definitions(-DCLANG_ENABLE_REWRITER)
|
||||
endif()
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER)
|
||||
endif()
|
||||
|
||||
# Clang version information
|
||||
set(CLANG_EXECUTABLE_VERSION
|
||||
|
|
|
@ -3,7 +3,9 @@ add_subdirectory(Basic)
|
|||
add_subdirectory(Lex)
|
||||
add_subdirectory(Parse)
|
||||
add_subdirectory(AST)
|
||||
if(CLANG_ENABLE_REWRITER)
|
||||
add_subdirectory(ASTMatchers)
|
||||
endif()
|
||||
add_subdirectory(Sema)
|
||||
add_subdirectory(CodeGen)
|
||||
add_subdirectory(Analysis)
|
||||
|
@ -15,5 +17,7 @@ add_subdirectory(Serialization)
|
|||
add_subdirectory(Frontend)
|
||||
add_subdirectory(FrontendTool)
|
||||
add_subdirectory(Tooling)
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
add_subdirectory(StaticAnalyzer)
|
||||
endif()
|
||||
add_subdirectory(Format)
|
||||
|
|
|
@ -29,15 +29,30 @@ target_link_libraries(clang
|
|||
clangLex
|
||||
clangParse
|
||||
clangEdit
|
||||
clangARCMigrate
|
||||
clangRewriteCore
|
||||
clangRewriteFrontend
|
||||
clangSema
|
||||
clangSerialization
|
||||
)
|
||||
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
target_link_libraries(clang
|
||||
clangStaticAnalyzerFrontend
|
||||
clangStaticAnalyzerCheckers
|
||||
clangStaticAnalyzerCore
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CLANG_ENABLE_ARCMT)
|
||||
target_link_libraries(clang
|
||||
clangARCMigrate
|
||||
)
|
||||
endif()
|
||||
|
||||
if(CLANG_ENABLE_REWRITER)
|
||||
target_link_libraries(clang
|
||||
clangRewriteCore
|
||||
clangRewriteFrontend
|
||||
)
|
||||
endif()
|
||||
|
||||
set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
|
||||
set_target_properties(clang PROPERTIES ENABLE_EXPORTS 1)
|
||||
|
|
|
@ -9,10 +9,14 @@ function(add_clang_unittest test_dirname)
|
|||
add_unittest(ClangUnitTests ${test_dirname} ${ARGN})
|
||||
endfunction()
|
||||
|
||||
add_subdirectory(ASTMatchers)
|
||||
add_subdirectory(AST)
|
||||
add_subdirectory(Basic)
|
||||
add_subdirectory(Lex)
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
add_subdirectory(Frontend)
|
||||
endif()
|
||||
if(CLANG_ENABLE_REWRITER)
|
||||
add_subdirectory(ASTMatchers)
|
||||
add_subdirectory(AST)
|
||||
add_subdirectory(Tooling)
|
||||
add_subdirectory(Format)
|
||||
endif()
|
||||
|
|
Загрузка…
Ссылка в новой задаче