Skip to content
Snippets Groups Projects
Commit 5a7f3495 authored by Michael J. Spencer's avatar Michael J. Spencer
Browse files

CMake: Update to use standard CMake dependency tracking facilities instead

of whatever we were using before...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113631 91177308-0d34-0410-b5e6-96231b3b80d8
parent ce5eff5c
No related branches found
No related tags found
No related merge requests found
Showing
with 236 additions and 147 deletions
...@@ -24,7 +24,7 @@ if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR ) ...@@ -24,7 +24,7 @@ if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
endif() endif()
# Compute the Clang version from the LLVM version. # Compute the Clang version from the LLVM version.
string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
${PACKAGE_VERSION}) ${PACKAGE_VERSION})
message(STATUS "Clang version: ${CLANG_VERSION}") message(STATUS "Clang version: ${CLANG_VERSION}")
...@@ -63,7 +63,7 @@ macro(add_clang_library name) ...@@ -63,7 +63,7 @@ macro(add_clang_library name)
set(srcs ${srcs} ${headers}) set(srcs ${srcs} ${headers})
string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR}) string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
list( GET split_path -1 dir) list( GET split_path -1 dir)
file( GLOB_RECURSE headers file( GLOB_RECURSE headers
../../include/clang${dir}/*.h ../../include/clang${dir}/*.h
../../include/clang${dir}/*.td ../../include/clang${dir}/*.td
../../include/clang${dir}/*.def) ../../include/clang${dir}/*.def)
...@@ -92,6 +92,9 @@ macro(add_clang_library name) ...@@ -92,6 +92,9 @@ macro(add_clang_library name)
if( llvm_system_libs ) if( llvm_system_libs )
target_link_libraries(${name} ${llvm_system_libs}) target_link_libraries(${name} ${llvm_system_libs})
endif( llvm_system_libs ) endif( llvm_system_libs )
if (LLVM_COMMON_LIBS)
target_link_libraries(${name} ${LLVM_COMMON_LIBS})
endif()
add_dependencies(${name} ClangDiagnosticCommon) add_dependencies(${name} ClangDiagnosticCommon)
if(MSVC) if(MSVC)
get_target_property(cflag ${name} COMPILE_FLAGS) get_target_property(cflag ${name} COMPILE_FLAGS)
...@@ -102,6 +105,7 @@ macro(add_clang_library name) ...@@ -102,6 +105,7 @@ macro(add_clang_library name)
set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag}) set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag})
endif(MSVC) endif(MSVC)
install(TARGETS ${name} install(TARGETS ${name}
EXPORT LLVM
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
endmacro(add_clang_library) endmacro(add_clang_library)
......
...@@ -2,7 +2,16 @@ set(MODULE TRUE) ...@@ -2,7 +2,16 @@ set(MODULE TRUE)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
add_clang_library(PrintFunctionNames PrintFunctionNames.cpp) add_clang_library(PrintFunctionNames
PrintFunctionNames.cpp
)
target_link_libraries(PrintFunctionNames
clangAST
clangFrontend
clangBasic
)
set_target_properties(PrintFunctionNames set_target_properties(PrintFunctionNames
PROPERTIES PROPERTIES
......
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS
clangFrontend
clangSerialization
clangDriver
clangCodeGen
clangSema
clangChecker
clangIndex
clangAnalysis
clangRewrite
clangAST
clangParse
clangLex
clangBasic
)
set(LLVM_LINK_COMPONENTS
jit
interpreter
nativecodegen
asmparser
bitreader
bitwriter
codegen
ipo
selectiondag
)
add_clang_executable(clang-interpreter add_clang_executable(clang-interpreter
main.cpp main.cpp
) )
add_llvm_link_components(clang-interpreter jit interpreter nativecodegen)
target_link_libraries(clang-interpreter
clangFrontend
clangSerialization
clangDriver
clangCodeGen
clangSema
clangChecker
clangIndex
clangAnalysis
clangRewrite
clangAST
clangParse
clangLex
clangBasic
)
add_dependencies(clang-interpreter clang-headers) add_dependencies(clang-interpreter clang-headers)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS add_clang_executable(clang-wpa
clang-wpa.cpp
)
target_link_libraries(clang-wpa
clangIndex clangIndex
clangFrontend clangFrontend
clangDriver clangDriver
...@@ -12,15 +16,9 @@ set(LLVM_USED_LIBS ...@@ -12,15 +16,9 @@ set(LLVM_USED_LIBS
clangAST clangAST
clangParse clangParse
clangLex clangLex
clangBasic) clangBasic
set( LLVM_LINK_COMPONENTS
bitreader
mc
core
) )
add_clang_executable(clang-wpa add_dependencies(clang-wpa
clang-wpa.cpp clang-headers
) )
add_dependencies(clang-wpa clang-headers)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic)
add_clang_library(clangAST add_clang_library(clangAST
APValue.cpp APValue.cpp
ASTConsumer.cpp ASTConsumer.cpp
...@@ -44,5 +42,16 @@ add_clang_library(clangAST ...@@ -44,5 +42,16 @@ add_clang_library(clangAST
TypePrinter.cpp TypePrinter.cpp
) )
add_dependencies(clangAST ClangARMNeon ClangAttrClasses ClangAttrList target_link_libraries(clangAST
ClangAttrImpl ClangDiagnosticAST ClangDeclNodes ClangStmtNodes) clangBasic
)
add_dependencies(clangAST
ClangARMNeon
ClangAttrClasses
ClangAttrList
ClangAttrImpl
ClangDiagnosticAST
ClangDeclNodes
ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangAST clangIndex)
add_clang_library(clangAnalysis add_clang_library(clangAnalysis
AnalysisContext.cpp AnalysisContext.cpp
CFG.cpp CFG.cpp
...@@ -15,5 +13,16 @@ add_clang_library(clangAnalysis ...@@ -15,5 +13,16 @@ add_clang_library(clangAnalysis
UninitializedValues.cpp UninitializedValues.cpp
) )
add_dependencies(clangAnalysis ClangAttrClasses ClangAttrList target_link_libraries(clangAnalysis
ClangDiagnosticAnalysis ClangDeclNodes ClangStmtNodes) clangBasic
clangAST
clangIndex
)
add_dependencies(clangAnalysis
ClangAttrClasses
ClangAttrList
ClangDiagnosticAnalysis
ClangDeclNodes
ClangStmtNodes
)
...@@ -14,6 +14,10 @@ add_clang_library(clangBasic ...@@ -14,6 +14,10 @@ add_clang_library(clangBasic
Version.cpp Version.cpp
) )
target_link_libraries(clangBasic
LLVMMC
)
# Determine Subversion revision. # Determine Subversion revision.
# FIXME: This only gets updated when CMake is run, so this revision number # FIXME: This only gets updated when CMake is run, so this revision number
# may be out-of-date! # may be out-of-date!
...@@ -24,16 +28,17 @@ if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn") ...@@ -24,16 +28,17 @@ if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn")
PROPERTIES COMPILE_DEFINITIONS "SVN_REVISION=\"${CLANG_WC_REVISION}\"") PROPERTIES COMPILE_DEFINITIONS "SVN_REVISION=\"${CLANG_WC_REVISION}\"")
endif() endif()
add_dependencies(clangBasic add_dependencies(clangBasic
ClangARMNeon ClangARMNeon
ClangAttrList ClangAttrList
ClangDiagnosticAnalysis ClangDiagnosticAnalysis
ClangDiagnosticAST ClangDiagnosticAST
ClangDiagnosticCommon ClangDiagnosticCommon
ClangDiagnosticDriver ClangDiagnosticDriver
ClangDiagnosticFrontend ClangDiagnosticFrontend
ClangDiagnosticGroups ClangDiagnosticGroups
ClangDiagnosticLex ClangDiagnosticLex
ClangDiagnosticParse ClangDiagnosticParse
ClangDiagnosticSema) ClangDiagnosticSema
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite)
add_clang_library(clangChecker add_clang_library(clangChecker
AdjustedReturnValueChecker.cpp AdjustedReturnValueChecker.cpp
AggExprVisitor.cpp AggExprVisitor.cpp
...@@ -84,5 +82,17 @@ add_clang_library(clangChecker ...@@ -84,5 +82,17 @@ add_clang_library(clangChecker
ValueManager.cpp ValueManager.cpp
) )
add_dependencies(clangChecker ClangAttrClasses ClangAttrList ClangDeclNodes target_link_libraries(clangChecker
ClangStmtNodes) clangBasic
clangLex
clangAST
clangFrontend
clangRewrite
)
add_dependencies(clangChecker
ClangAttrClasses
ClangAttrList
ClangDeclNodes
ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangAST clangFrontend)
add_clang_library(clangCodeGen add_clang_library(clangCodeGen
BackendUtil.cpp BackendUtil.cpp
CGBlocks.cpp CGBlocks.cpp
...@@ -39,5 +37,17 @@ add_clang_library(clangCodeGen ...@@ -39,5 +37,17 @@ add_clang_library(clangCodeGen
TargetInfo.cpp TargetInfo.cpp
) )
add_dependencies(clangCodeGen ClangAttrClasses ClangAttrList ClangDeclNodes target_link_libraries(clangCodeGen
ClangStmtNodes) LLVMCore
LLVMAsmParser
LLVMBitReader
LLVMBitWriter
LLVMipo
)
add_dependencies(clangCodeGen
ClangAttrClasses
ClangAttrList
ClangDeclNodes
ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangAST clangParse)
add_clang_library(clangDriver add_clang_library(clangDriver
Action.cpp Action.cpp
Arg.cpp Arg.cpp
...@@ -23,5 +21,16 @@ add_clang_library(clangDriver ...@@ -23,5 +21,16 @@ add_clang_library(clangDriver
Types.cpp Types.cpp
) )
add_dependencies(clangDriver ClangAttrList ClangDiagnosticDriver target_link_libraries(clangDriver
ClangDriverOptions ClangCC1Options ClangCC1AsOptions) clangBasic
clangAST
clangParse
)
add_dependencies(clangDriver
ClangAttrList
ClangDiagnosticDriver
ClangDriverOptions
ClangCC1Options
ClangCC1AsOptions
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set( LLVM_USED_LIBS
clangDriver
clangParse
clangSema
clangAST
clangLex
clangBasic
)
add_clang_library(clangFrontend add_clang_library(clangFrontend
ASTConsumers.cpp ASTConsumers.cpp
ASTMerge.cpp ASTMerge.cpp
...@@ -36,6 +27,17 @@ add_clang_library(clangFrontend ...@@ -36,6 +27,17 @@ add_clang_library(clangFrontend
Warnings.cpp Warnings.cpp
) )
target_link_libraries(clangFrontend
LLVMCore
clangDriver
clangParse
clangSema
clangAST
clangLex
clangBasic
)
IF(MSVC) IF(MSVC)
get_target_property(NON_ANSI_COMPILE_FLAGS clangFrontend COMPILE_FLAGS) get_target_property(NON_ANSI_COMPILE_FLAGS clangFrontend COMPILE_FLAGS)
string(REPLACE /Za string(REPLACE /Za
...@@ -44,12 +46,13 @@ IF(MSVC) ...@@ -44,12 +46,13 @@ IF(MSVC)
set_target_properties(clangFrontend PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) set_target_properties(clangFrontend PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
ENDIF(MSVC) ENDIF(MSVC)
add_dependencies(clangFrontend add_dependencies(clangFrontend
ClangAttrClasses ClangAttrClasses
ClangAttrList ClangAttrList
ClangCC1Options ClangCC1Options
ClangDiagnosticFrontend ClangDiagnosticFrontend
ClangDiagnosticLex ClangDiagnosticLex
ClangDiagnosticSema ClangDiagnosticSema
ClangDeclNodes ClangDeclNodes
ClangStmtNodes) ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangDriver clangFrontend clangRewrite clangCodeGen
clangChecker)
add_clang_library(clangFrontendTool add_clang_library(clangFrontendTool
ExecuteCompilerInvocation.cpp ExecuteCompilerInvocation.cpp
) )
target_link_libraries(clangFrontendTool
clangDriver
clangFrontend
clangRewrite
clangCodeGen
clangChecker
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangLex clangAST) add_clang_library(clangIndex
ASTLocation.cpp
Analyzer.cpp
CallGraph.cpp
DeclReferenceMap.cpp
Entity.cpp
GlobalSelector.cpp
Handlers.cpp
IndexProvider.cpp
Indexer.cpp
Program.cpp
SelectorMap.cpp
)
set( LLVM_USED_LIBS target_link_libraries(clangIndex
clangSerialization clangSerialization
clangFrontend clangFrontend
clangParse clangParse
...@@ -16,19 +28,9 @@ set( LLVM_USED_LIBS ...@@ -16,19 +28,9 @@ set( LLVM_USED_LIBS
clangBasic clangBasic
) )
add_clang_library(clangIndex add_dependencies(clangIndex
ASTLocation.cpp ClangAttrClasses
Analyzer.cpp ClangAttrList
CallGraph.cpp ClangDeclNodes
DeclReferenceMap.cpp ClangStmtNodes
Entity.cpp
GlobalSelector.cpp
Handlers.cpp
IndexProvider.cpp
Indexer.cpp
Program.cpp
SelectorMap.cpp
) )
add_dependencies(clangIndex ClangAttrClasses ClangAttrList
ClangDeclNodes ClangStmtNodes)
...@@ -2,8 +2,6 @@ set(LLVM_NO_RTTI 1) ...@@ -2,8 +2,6 @@ set(LLVM_NO_RTTI 1)
# TODO: Add -maltivec when ARCH is PowerPC. # TODO: Add -maltivec when ARCH is PowerPC.
set(LLVM_USED_LIBS clangBasic)
add_clang_library(clangLex add_clang_library(clangLex
HeaderMap.cpp HeaderMap.cpp
HeaderSearch.cpp HeaderSearch.cpp
...@@ -26,4 +24,10 @@ add_clang_library(clangLex ...@@ -26,4 +24,10 @@ add_clang_library(clangLex
TokenLexer.cpp TokenLexer.cpp
) )
add_dependencies(clangLex ClangDiagnosticLex) target_link_libraries(clangLex
clangBasic
)
add_dependencies(clangLex
ClangDiagnosticLex
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangAST clangLex clangSema)
add_clang_library(clangParse add_clang_library(clangParse
ParseAST.cpp ParseAST.cpp
ParseCXXInlineMethods.cpp ParseCXXInlineMethods.cpp
...@@ -18,4 +16,17 @@ add_clang_library(clangParse ...@@ -18,4 +16,17 @@ add_clang_library(clangParse
Parser.cpp Parser.cpp
) )
add_dependencies(clangParse ClangAttrClasses ClangAttrList ClangDeclNodes ClangDiagnosticParse ClangStmtNodes) target_link_libraries(clangParse
clangBasic
clangAST
clangLex
clangSema
)
add_dependencies(clangParse
ClangAttrClasses
ClangAttrList
ClangDeclNodes
ClangDiagnosticParse
ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend)
add_clang_library(clangRewrite add_clang_library(clangRewrite
DeltaTree.cpp DeltaTree.cpp
FixItRewriter.cpp FixItRewriter.cpp
...@@ -16,8 +14,16 @@ add_clang_library(clangRewrite ...@@ -16,8 +14,16 @@ add_clang_library(clangRewrite
TokenRewriter.cpp TokenRewriter.cpp
) )
target_link_libraries(clangRewrite
clangBasic
clangAST
clangParse
clangFrontend
)
add_dependencies(clangRewrite add_dependencies(clangRewrite
ClangAttrClasses ClangAttrClasses
ClangAttrList ClangAttrList
ClangDeclNodes ClangDeclNodes
ClangStmtNodes) ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangBasic clangAST clangLex clangAnalysis)
add_clang_library(clangSema add_clang_library(clangSema
AnalysisBasedWarnings.cpp AnalysisBasedWarnings.cpp
AttributeList.cpp AttributeList.cpp
...@@ -37,5 +35,15 @@ add_clang_library(clangSema ...@@ -37,5 +35,15 @@ add_clang_library(clangSema
TargetAttributesSema.cpp TargetAttributesSema.cpp
) )
add_dependencies(clangSema ClangARMNeon ClangAttrClasses ClangAttrList target_link_libraries(clangSema
ClangDiagnosticSema ClangDeclNodes ClangStmtNodes) clangAnalysis
)
add_dependencies(clangSema
ClangARMNeon
ClangAttrClasses
ClangAttrList
ClangDiagnosticSema
ClangDeclNodes
ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS clangFrontend)
add_clang_library(clangSerialization add_clang_library(clangSerialization
GeneratePCH.cpp GeneratePCH.cpp
ASTCommon.cpp ASTCommon.cpp
...@@ -13,6 +11,10 @@ add_clang_library(clangSerialization ...@@ -13,6 +11,10 @@ add_clang_library(clangSerialization
ASTWriterStmt.cpp ASTWriterStmt.cpp
) )
target_link_libraries(clangSerialization
clangFrontend
)
add_dependencies(clangSerialization add_dependencies(clangSerialization
ClangAttrClasses ClangAttrClasses
ClangAttrList ClangAttrList
...@@ -22,4 +24,5 @@ add_dependencies(clangSerialization ...@@ -22,4 +24,5 @@ add_dependencies(clangSerialization
ClangDiagnosticLex ClangDiagnosticLex
ClangDiagnosticSema ClangDiagnosticSema
ClangDeclNodes ClangDeclNodes
ClangStmtNodes) ClangStmtNodes
)
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set(LLVM_USED_LIBS libclang)
set( LLVM_LINK_COMPONENTS
bitreader
mc
core
)
add_clang_executable(c-index-test add_clang_executable(c-index-test
c-index-test.c c-index-test.c
) )
target_link_libraries(c-index-test
libclang
)
set_target_properties(c-index-test set_target_properties(c-index-test
PROPERTIES PROPERTIES
LINKER_LANGUAGE CXX) LINKER_LANGUAGE CXX)
......
set(LLVM_NO_RTTI 1) set(LLVM_NO_RTTI 1)
set( LLVM_USED_LIBS add_clang_executable(clang
driver.cpp
cc1_main.cpp
cc1as_main.cpp
)
add_llvm_link_components(clang all)
target_link_libraries(clang
LLVMAsmParser
LLVMBitReader
LLVMBitWriter
LLVMCodeGen
LLVMipo
LLVMSelectionDAG
clangFrontendTool clangFrontendTool
clangFrontend clangFrontend
clangDriver clangDriver
...@@ -17,22 +31,6 @@ set( LLVM_USED_LIBS ...@@ -17,22 +31,6 @@ set( LLVM_USED_LIBS
clangBasic clangBasic
) )
set( LLVM_LINK_COMPONENTS
${LLVM_TARGETS_TO_BUILD}
asmparser
bitreader
bitwriter
codegen
ipo
selectiondag
)
add_clang_executable(clang
driver.cpp
cc1_main.cpp
cc1as_main.cpp
)
if(UNIX) if(UNIX)
set(CLANGXX_LINK_OR_COPY create_symlink) set(CLANGXX_LINK_OR_COPY create_symlink)
set(CLANGXX_DESTDIR $ENV{DESTDIR}/) set(CLANGXX_DESTDIR $ENV{DESTDIR}/)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment