Author: phosek Date: Wed Jan 30 23:12:43 2019 New Revision: 352733 URL: http://llvm.org/viewvc/llvm-project?rev=352733&view=rev Log: Revert "[CMake] Unify scripts for generating VCS headers"
This reverts commits r352729 and r352731: this broke Sanitizer Windows bots Modified: cfe/trunk/lib/Basic/CMakeLists.txt cfe/trunk/lib/Basic/Version.cpp Modified: cfe/trunk/lib/Basic/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/CMakeLists.txt?rev=352733&r1=352732&r2=352733&view=diff ============================================================================== --- cfe/trunk/lib/Basic/CMakeLists.txt (original) +++ cfe/trunk/lib/Basic/CMakeLists.txt Wed Jan 30 23:12:43 2019 @@ -4,34 +4,45 @@ set(LLVM_LINK_COMPONENTS Support ) -find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) -find_first_existing_vc_file("${CLANG_SOURCE_DIR}" clang_vc) +find_first_existing_vc_file(llvm_vc "${LLVM_MAIN_SRC_DIR}") +find_first_existing_vc_file(clang_vc "${CLANG_SOURCE_DIR}") # The VC revision include that we want to generate. -set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSRevision.h") +set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/SVNVersion.inc") -set(get_svn_script "${LLVM_CMAKE_PATH}/GenerateVersionFromVCS.cmake") +set(get_svn_script "${LLVM_CMAKE_PATH}/GetSVN.cmake") -if(llvm_vc) - set(llvm_source_dir ${LLVM_MAIN_SRC_DIR}) +if(DEFINED llvm_vc AND DEFINED clang_vc) + # Create custom target to generate the VC revision include. + add_custom_command(OUTPUT "${version_inc}" + DEPENDS "${llvm_vc}" "${clang_vc}" "${get_svn_script}" + COMMAND + ${CMAKE_COMMAND} "-DFIRST_SOURCE_DIR=${LLVM_MAIN_SRC_DIR}" + "-DFIRST_NAME=LLVM" + "-DSECOND_SOURCE_DIR=${CLANG_SOURCE_DIR}" + "-DSECOND_NAME=SVN" + "-DHEADER_FILE=${version_inc}" + -P "${get_svn_script}") + + # Mark the generated header as being generated. + set_source_files_properties("${version_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") +else() + # Not producing a VC revision include. + set(version_inc) + + # Being able to force-set the SVN revision in cases where it isn't available + # is useful for performance tracking, and matches compatibility from autoconf. + if(SVN_REVISION) + set_source_files_properties(Version.cpp + PROPERTIES COMPILE_DEFINITIONS "SVN_REVISION=\"${SVN_REVISION}\"") + endif() endif() -if(clang_vc) - set(clang_source_dir ${CLANG_SOURCE_DIR}) -endif() - -# Create custom target to generate the VC revision include. -add_custom_command(OUTPUT "${version_inc}" - DEPENDS "${llvm_vc}" "${clang_vc}" "${get_svn_script}" - COMMAND ${CMAKE_COMMAND} "-DNAMES=LLVM\;CLANG" - "-DLLVM_SOURCE_DIR=${llvm_source_dir}" - "-DCLANG_SOURCE_DIR=${clang_source_dir}" - "-DHEADER_FILE=${version_inc}" - -P "${get_svn_script}") - -# Mark the generated header as being generated. -set_source_files_properties("${version_inc}" - PROPERTIES GENERATED TRUE - HEADER_FILE_ONLY TRUE) add_clang_library(clangBasic Attributes.cpp Modified: cfe/trunk/lib/Basic/Version.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Version.cpp?rev=352733&r1=352732&r2=352733&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Version.cpp (original) +++ cfe/trunk/lib/Basic/Version.cpp Wed Jan 30 23:12:43 2019 @@ -10,7 +10,6 @@ // //===----------------------------------------------------------------------===// -#include "VCSRevision.h" #include "clang/Basic/Version.h" #include "clang/Basic/LLVM.h" #include "clang/Config/config.h" @@ -18,19 +17,23 @@ #include <cstdlib> #include <cstring> +#ifdef HAVE_SVN_VERSION_INC +# include "SVNVersion.inc" +#endif + namespace clang { std::string getClangRepositoryPath() { #if defined(CLANG_REPOSITORY_STRING) return CLANG_REPOSITORY_STRING; #else -#ifdef CLANG_REPOSITORY - StringRef URL(CLANG_REPOSITORY); +#ifdef SVN_REPOSITORY + StringRef URL(SVN_REPOSITORY); #else StringRef URL(""); #endif - // If the CLANG_REPOSITORY is empty, try to use the SVN keyword. This helps us + // If the SVN_REPOSITORY is empty, try to use the SVN keyword. This helps us // pick up a tag in an SVN export, for example. StringRef SVNRepository("$URL$"); if (URL.empty()) { @@ -68,8 +71,8 @@ std::string getLLVMRepositoryPath() { } std::string getClangRevision() { -#ifdef CLANG_REVISION - return CLANG_REVISION; +#ifdef SVN_REVISION + return SVN_REVISION; #else return ""; #endif _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits