llvm-project/clang/lib/Basic/CMakeLists.txt

74 lines
2.1 KiB
CMake

set(LLVM_LINK_COMPONENTS mc)
add_clang_library(clangBasic
Builtins.cpp
CharInfo.cpp
Diagnostic.cpp
DiagnosticIDs.cpp
FileManager.cpp
FileSystemStatCache.cpp
IdentifierTable.cpp
LangOptions.cpp
Module.cpp
ObjCRuntime.cpp
OpenMPKinds.cpp
OperatorPrecedence.cpp
SourceLocation.cpp
SourceManager.cpp
TargetInfo.cpp
Targets.cpp
TokenKinds.cpp
Version.cpp
VersionTuple.cpp
)
# Determine Subversion revision.
# FIXME: This only gets updated when CMake is run, so this revision number
# may be out-of-date!
if( NOT IS_SYMLINK "${CLANG_SOURCE_DIR}" ) # See PR 8437
find_package(Subversion)
endif()
if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn")
# Create custom target to generate the Subversion version include.
add_custom_target(clang_revision_tag ALL
COMMAND ${CMAKE_COMMAND} -DFIRST_SOURCE_DIR=${LLVM_MAIN_SRC_DIR}
-DFIRST_REPOSITORY=LLVM_REPOSITORY
-DSECOND_SOURCE_DIR=${CLANG_SOURCE_DIR}
-DSECOND_REPOSITORY=SVN_REPOSITORY
-DHEADER_FILE=${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc
-P ${LLVM_MAIN_SRC_DIR}/cmake/modules/GetSVN.cmake)
# Mark the generated header as being generated.
message(STATUS "Expecting header to go in ${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc")
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc
PROPERTIES GENERATED TRUE
HEADER_FILE_ONLY TRUE)
# Tell Version.cpp that it needs to build with -DHAVE_SVN_VERSION_INC.
set_source_files_properties(Version.cpp
PROPERTIES COMPILE_DEFINITIONS "HAVE_SVN_VERSION_INC")
endif()
add_dependencies(clangBasic
ClangARMNeon
ClangAttrList
ClangDiagnosticAnalysis
ClangDiagnosticAST
ClangDiagnosticComment
ClangDiagnosticCommon
ClangDiagnosticDriver
ClangDiagnosticFrontend
ClangDiagnosticGroups
ClangDiagnosticIndexName
ClangDiagnosticLex
ClangDiagnosticParse
ClangDiagnosticSema
ClangDiagnosticSerialization
)
# clangBasic depends on the version.
if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn")
add_dependencies(clangBasic clang_revision_tag)
endif()