зеркало из 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 )
|
add_definitions( -D_GNU_SOURCE )
|
||||||
|
|
||||||
# FIXME: They should be options.
|
option(CLANG_ENABLE_ARCMT "Enable ARCMT by default." ON)
|
||||||
add_definitions(-DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER)
|
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
|
# Clang version information
|
||||||
set(CLANG_EXECUTABLE_VERSION
|
set(CLANG_EXECUTABLE_VERSION
|
||||||
|
|
|
@ -3,7 +3,9 @@ add_subdirectory(Basic)
|
||||||
add_subdirectory(Lex)
|
add_subdirectory(Lex)
|
||||||
add_subdirectory(Parse)
|
add_subdirectory(Parse)
|
||||||
add_subdirectory(AST)
|
add_subdirectory(AST)
|
||||||
|
if(CLANG_ENABLE_REWRITER)
|
||||||
add_subdirectory(ASTMatchers)
|
add_subdirectory(ASTMatchers)
|
||||||
|
endif()
|
||||||
add_subdirectory(Sema)
|
add_subdirectory(Sema)
|
||||||
add_subdirectory(CodeGen)
|
add_subdirectory(CodeGen)
|
||||||
add_subdirectory(Analysis)
|
add_subdirectory(Analysis)
|
||||||
|
@ -15,5 +17,7 @@ add_subdirectory(Serialization)
|
||||||
add_subdirectory(Frontend)
|
add_subdirectory(Frontend)
|
||||||
add_subdirectory(FrontendTool)
|
add_subdirectory(FrontendTool)
|
||||||
add_subdirectory(Tooling)
|
add_subdirectory(Tooling)
|
||||||
|
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||||
add_subdirectory(StaticAnalyzer)
|
add_subdirectory(StaticAnalyzer)
|
||||||
|
endif()
|
||||||
add_subdirectory(Format)
|
add_subdirectory(Format)
|
||||||
|
|
|
@ -29,15 +29,30 @@ target_link_libraries(clang
|
||||||
clangLex
|
clangLex
|
||||||
clangParse
|
clangParse
|
||||||
clangEdit
|
clangEdit
|
||||||
clangARCMigrate
|
|
||||||
clangRewriteCore
|
|
||||||
clangRewriteFrontend
|
|
||||||
clangSema
|
clangSema
|
||||||
clangSerialization
|
clangSerialization
|
||||||
|
)
|
||||||
|
|
||||||
|
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||||
|
target_link_libraries(clang
|
||||||
clangStaticAnalyzerFrontend
|
clangStaticAnalyzerFrontend
|
||||||
clangStaticAnalyzerCheckers
|
clangStaticAnalyzerCheckers
|
||||||
clangStaticAnalyzerCore
|
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 VERSION ${CLANG_EXECUTABLE_VERSION})
|
||||||
set_target_properties(clang PROPERTIES ENABLE_EXPORTS 1)
|
set_target_properties(clang PROPERTIES ENABLE_EXPORTS 1)
|
||||||
|
|
|
@ -9,10 +9,14 @@ function(add_clang_unittest test_dirname)
|
||||||
add_unittest(ClangUnitTests ${test_dirname} ${ARGN})
|
add_unittest(ClangUnitTests ${test_dirname} ${ARGN})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
add_subdirectory(ASTMatchers)
|
|
||||||
add_subdirectory(AST)
|
|
||||||
add_subdirectory(Basic)
|
add_subdirectory(Basic)
|
||||||
add_subdirectory(Lex)
|
add_subdirectory(Lex)
|
||||||
|
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||||
add_subdirectory(Frontend)
|
add_subdirectory(Frontend)
|
||||||
|
endif()
|
||||||
|
if(CLANG_ENABLE_REWRITER)
|
||||||
|
add_subdirectory(ASTMatchers)
|
||||||
|
add_subdirectory(AST)
|
||||||
add_subdirectory(Tooling)
|
add_subdirectory(Tooling)
|
||||||
add_subdirectory(Format)
|
add_subdirectory(Format)
|
||||||
|
endif()
|
||||||
|
|
Загрузка…
Ссылка в новой задаче