CMake: Explicitly #undef LLVM_REVISION rather than using a blank file
authorJustin Bogner <mail@justinbogner.com>
Thu, 8 Feb 2018 22:19:00 +0000 (22:19 +0000)
committerJustin Bogner <mail@justinbogner.com>
Thu, 8 Feb 2018 22:19:00 +0000 (22:19 +0000)
Including a blank file is confusing and makes it look like something
went wrong. Rather than requiring people know why this is blank, let's
just make it explicitly #undef the macro that it would define if it
weren't empty.

llvm-svn: 324659

llvm/include/llvm/Support/CMakeLists.txt

index bf662c7..bba962a 100644 (file)
@@ -5,16 +5,16 @@ set(version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSRevision.h")
 
 set(get_svn_script "${LLVM_CMAKE_PATH}/GenerateVersionFromCVS.cmake")
 
-file(WRITE "${version_inc}.empty" "")
+file(WRITE "${version_inc}.undef" "#undef LLVM_REVISION\n")
 if((DEFINED llvm_vc) AND LLVM_APPEND_VC_REV)
 
   execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files
-      "${version_inc}.empty" "${version_inc}"
+      "${version_inc}.undef" "${version_inc}"
       RESULT_VARIABLE files_not_equal
       OUTPUT_QUIET
       ERROR_QUIET)
-  # Remove ${version_inc} if it's empty -- toggling LLVM_APPEND_VC_REV
-  # from OFF to ON.
+  # Remove ${version_inc} if it doesn't define a revision. This will force it
+  # to be regenerated when toggling LLVM_APPEND_VC_REV from OFF to ON.
   if(NOT files_not_equal)
     file(REMOVE "${version_inc}")
   endif()
@@ -28,11 +28,11 @@ if((DEFINED llvm_vc) AND LLVM_APPEND_VC_REV)
                      "-DHEADER_FILE=${version_inc}"
                      -P "${get_svn_script}")
 else()
-  # Make sure ${version_inc} is an empty file.
+  # Make sure ${version_inc} doesn't define a revision
   execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
-    "${version_inc}.empty" "${version_inc}")
+    "${version_inc}.undef" "${version_inc}")
 endif()
-file(REMOVE "${version_inc}.empty")
+file(REMOVE "${version_inc}.undef")
 
 # Mark the generated header as being generated.
 set_source_files_properties("${version_inc}"