.svn/wc.db seems to get updated on each `svn up` though. This is with "svn, version 1.7.17 (r1591372)" (which I think is the svn bundled with Xcode 6.1).
On Wed, Nov 19, 2014 at 5:25 PM, Jordan Rose <[email protected]> wrote: > Shoot! And you actually got new revisions? Okay, will poke at this some > more tonight. > > Jordan > > > On Nov 19, 2014, at 17:24, Nico Weber <[email protected]> wrote: > > Nice! > > But .svn/entries doesn't seem to be touched when I `svn up` my llvm > checkout. > > On Wed, Nov 19, 2014 at 2:03 PM, Jordan Rose <[email protected]> > wrote: > >> Author: jrose >> Date: Wed Nov 19 16:03:48 2014 >> New Revision: 222393 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=222393&view=rev >> Log: >> [CMake] Always include the Clang repo version, just like the autoconf >> build. >> >> Now that LLVM's helper script GetSVN.cmake actually works consistently, >> there's no reason not to use it. We avoid having to regenerate >> SVNVersion.inc >> every time by marking it as dependent on Git's reflog or SVN's entries >> file. >> >> This should end most of the issues of the AST format changing and breaking >> old module files: CMake-Clang should now detect that the version changed >> just >> like Autoconf-Clang has. >> >> Based on r190557. Depends on LLVM r222391. >> >> Modified: >> cfe/trunk/lib/Basic/CMakeLists.txt >> >> Modified: cfe/trunk/lib/Basic/CMakeLists.txt >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/CMakeLists.txt?rev=222393&r1=222392&r2=222393&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/Basic/CMakeLists.txt (original) >> +++ cfe/trunk/lib/Basic/CMakeLists.txt Wed Nov 19 16:03:48 2014 >> @@ -4,6 +4,48 @@ set(LLVM_LINK_COMPONENTS >> Support >> ) >> >> +# Figure out if we can track VC revisions. >> +function(find_first_existing_file out_var) >> + foreach(file ${ARGN}) >> + if(EXISTS "${file}") >> + set(${out_var} "${file}" PARENT_SCOPE) >> + return() >> + endif() >> + endforeach() >> +endfunction() >> + >> +find_first_existing_file(llvm_vc >> + "${LLVM_MAIN_SRC_DIR}/.git/logs/HEAD" >> + "${LLVM_MAIN_SRC_DIR}/.svn/entries") >> +find_first_existing_file(clang_vc >> + "${CLANG_SOURCE_DIR}/.git/logs/HEAD" >> + "${CLANG_SOURCE_DIR}/.svn/entries") >> + >> +if(DEFINED llvm_vc AND DEFINED clang_vc) >> + # Create custom target to generate the VC revision include. >> + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc" >> + DEPENDS "${llvm_vc}" "${clang_vc}" >> + COMMAND >> + ${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") >> + >> + # Mark the generated header as being generated. >> + >> 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") >> + set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc") >> +else() >> + set(version_inc) >> +endif() >> + >> add_clang_library(clangBasic >> Attributes.cpp >> Builtins.cpp >> @@ -29,30 +71,6 @@ add_clang_library(clangBasic >> VersionTuple.cpp >> VirtualFileSystem.cpp >> Warnings.cpp >> + ${version_inc} >> ) >> >> -# 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") >> - set(FIRST_SOURCE_DIR ${LLVM_MAIN_SRC_DIR}) >> - set(FIRST_REPOSITORY LLVM_REPOSITORY) >> - set(SECOND_SOURCE_DIR ${CLANG_SOURCE_DIR}) >> - set(SECOND_REPOSITORY SVN_REPOSITORY) >> - set(HEADER_FILE ${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc) >> - include(GetSVN) >> - >> - # 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() >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
