From fc74c814511b0d9e8f23a7db17a7bc1a0f98d70d Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 1 Oct 2013 17:31:40 +0000 Subject: [PATCH] Revert commits r190613, r190560 and r190557. The added a cmake invocation to null builds, making them a lot slower. llvm-svn: 191784 --- clang/CMakeLists.txt | 2 -- clang/lib/Basic/CMakeLists.txt | 56 ++++++++++++++++++---------------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index 3d707bce1062..69679538f745 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -321,8 +321,6 @@ set(LIBCLANG_LIBRARY_VERSION "Version number that will be placed into the libclang library , in the form XX.YY") mark_as_advanced(CLANG_EXECUTABLE_VERSION LIBCLANG_LIBRARY_VERSION) -option(CLANG_ALWAYS_CHECK_VC_REV "Always keep revision number up-to-date." OFF) - add_subdirectory(utils/TableGen) add_subdirectory(include) diff --git a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt index 4eccfdeee558..34111691c82e 100644 --- a/clang/lib/Basic/CMakeLists.txt +++ b/clang/lib/Basic/CMakeLists.txt @@ -20,26 +20,35 @@ add_clang_library(clangBasic TokenKinds.cpp Version.cpp VersionTuple.cpp - ${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc ) -# Create custom target to generate the Subversion version include. -add_custom_target(clang_revision_tag - ${CMAKE_COMMAND} -DFIRST_SOURCE_DIR=${LLVM_MAIN_SRC_DIR} - -DFIRST_NAME=LLVM - -DSECOND_SOURCE_DIR=${CLANG_SOURCE_DIR} - -DSECOND_NAME=SVN - -DHEADER_FILE=${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc - -P ${LLVM_MAIN_SRC_DIR}/cmake/modules/GetSVN.cmake) +# 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. -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc - PROPERTIES GENERATED TRUE - HEADER_FILE_ONLY TRUE) + # 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") + # 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 @@ -56,14 +65,9 @@ add_dependencies(clangBasic ClangDiagnosticParse ClangDiagnosticSema ClangDiagnosticSerialization - clang_revision_tag -) + ) -# Force regeneration now. -FILE(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc) - -if(CLANG_ALWAYS_CHECK_VC_REV) - add_custom_command(TARGET clangBasic POST_BUILD - COMMAND ${CMAKE_COMMAND} -E remove - ${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc) -endif() +# clangBasic depends on the version. +if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn") + add_dependencies(clangBasic clang_revision_tag) +endif() \ No newline at end of file