<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 18, 2017 at 3:10 PM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Without this patch I get:<br>
<br>
% ninja bin/llvm-mc<br>
ninja: no work to do.<br>
<br>
But with it there is always<br>
<br>
% ninja bin/llvm-mc<br>
[4/1/1] Generating force_version_inc_check<br>
<br>
Is this really necessary?<br></blockquote><div><br></div><div>I've fixed this when LLVM_APPEND_VC_REV = OFF, and toggling from ON -> OFF and OFF -> ON works correctly.</div><div><br></div><div>It'll still do the force when LLVM_APPEND_VC_REV = ON, but I could remove that too if you'd like.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
Rafael<br>
<div class="HOEnZb"><div class="h5"><br>
don hinton via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> writes:<br>
<br>
> hintonda updated this revision to Diff 106963.<br>
> hintonda added a comment.<br>
><br>
> Fix comments -- NFC.<br>
><br>
><br>
> <a href="https://reviews.llvm.org/D35377" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D35377</a><br>
><br>
> Files:<br>
>   cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
>   include/llvm/Support/<wbr>CMakeLists.txt<br>
><br>
><br>
> Index: include/llvm/Support/<wbr>CMakeLists.txt<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- include/llvm/Support/<wbr>CMakeLists.txt<br>
> +++ include/llvm/Support/<wbr>CMakeLists.txt<br>
> @@ -9,7 +9,6 @@<br>
>  endfunction()<br>
><br>
>  macro(find_first_existing_vc_<wbr>file out_var path)<br>
> -  if ( LLVM_APPEND_VC_REV )<br>
>      find_program(git_executable NAMES git git.exe git.cmd)<br>
>      # Run from a subdirectory to force git to print an absolute path.<br>
>      execute_process(COMMAND ${git_executable} rev-parse --git-dir<br>
> @@ -30,7 +29,6 @@<br>
>          "${path}/.svn/entries" # SVN 1.6<br>
>        )<br>
>      endif()<br>
> -  endif()<br>
>  endmacro()<br>
><br>
>  find_first_existing_vc_file(<wbr>llvm_vc "${LLVM_MAIN_SRC_DIR}")<br>
> @@ -40,22 +38,21 @@<br>
><br>
>  set(get_svn_script "${LLVM_CMAKE_PATH}/<wbr>GenerateVersionFromCVS.cmake")<br>
><br>
> -if(DEFINED llvm_vc)<br>
> -  # Create custom target to generate the VC revision include.<br>
> -  add_custom_command(OUTPUT "${version_inc}"<br>
> -    DEPENDS "${llvm_vc}" "${get_svn_script}"<br>
> -    COMMAND<br>
> -    ${CMAKE_COMMAND} "-DSOURCE_DIR=${LLVM_MAIN_SRC_<wbr>DIR}"<br>
> -                     "-DNAME=LLVM_REVISION"<br>
> -                     "-DHEADER_FILE=${version_inc}"<br>
> -                     -P "${get_svn_script}")<br>
> -<br>
> -  # Mark the generated header as being generated.<br>
> -  set_source_files_properties("$<wbr>{version_inc}"<br>
> -    PROPERTIES GENERATED TRUE<br>
> -               HEADER_FILE_ONLY TRUE)<br>
> -else()<br>
> -  file(WRITE "${version_inc}" "")<br>
> -endif()<br>
> +add_custom_command(OUTPUT force_version_inc_check COMMAND ${CMAKE_COMMAND} -E echo_append)<br>
> +<br>
> +# Create custom target to generate the VC revision include.<br>
> +add_custom_command(OUTPUT "${version_inc}"<br>
> +  DEPENDS force_version_inc_check "${llvm_vc}" "${get_svn_script}"<br>
> +  COMMAND<br>
> +  ${CMAKE_COMMAND} "-DSOURCE_DIR=${LLVM_MAIN_SRC_<wbr>DIR}"<br>
> +                   "-DLLVM_APPEND_VC_REV=${LLVM_<wbr>APPEND_VC_REV}"<br>
> +                   "-DNAME=LLVM_REVISION"<br>
> +                   "-DHEADER_FILE=${version_inc}"<br>
> +                   -P "${get_svn_script}")<br>
> +<br>
> +# Mark the generated header as being generated.<br>
> +set_source_files_properties("<wbr>${version_inc}"<br>
> +  PROPERTIES GENERATED TRUE<br>
> +             HEADER_FILE_ONLY TRUE)<br>
><br>
>  add_custom_target(llvm_<wbr>vcsrevision_h DEPENDS "${version_inc}")<br>
> Index: cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
> +++ cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
> @@ -1,14 +1,16 @@<br>
>  # CMake project that writes Subversion revision information to a header.<br>
>  #<br>
>  # Input variables:<br>
> -#   SRC               - Source directory<br>
> -#   HEADER_FILE       - The header file to write<br>
> +#   SOURCE_DIR          - Source directory<br>
> +#   LLVM_APPEND_VC_REV  - Append vc info (ON/OFF)<br>
> +#   NAME                - Macro name to use<br>
> +#   HEADER_FILE         - The header file to write<br>
>  #<br>
>  # The output header will contain macros FIRST_REPOSITORY and FIRST_REVISION,<br>
>  # and SECOND_REPOSITORY and SECOND_REVISION if requested, where "FIRST" and<br>
>  # "SECOND" are substituted with the names specified in the input variables.<br>
><br>
> -<br>
> +if (LLVM_APPEND_VC_REV)<br>
><br>
>  # Chop off cmake/modules/GetSVN.cmake<br>
>  get_filename_component(LLVM_<wbr>DIR "${CMAKE_SCRIPT_MODE_FILE}" PATH)<br>
> @@ -32,6 +34,11 @@<br>
><br>
>  append_info(${NAME} "${SOURCE_DIR}")<br>
><br>
> +else()<br>
> +  file(WRITE "${HEADER_FILE}.txt" "")<br>
> +endif()<br>
> +<br>
> +<br>
>  # Copy the file only if it has changed.<br>
>  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different<br>
>    "${HEADER_FILE}.txt" "${HEADER_FILE}")<br>
><br>
><br>
> Index: include/llvm/Support/<wbr>CMakeLists.txt<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- include/llvm/Support/<wbr>CMakeLists.txt<br>
> +++ include/llvm/Support/<wbr>CMakeLists.txt<br>
> @@ -9,7 +9,6 @@<br>
>  endfunction()<br>
><br>
>  macro(find_first_existing_vc_<wbr>file out_var path)<br>
> -  if ( LLVM_APPEND_VC_REV )<br>
>      find_program(git_executable NAMES git git.exe git.cmd)<br>
>      # Run from a subdirectory to force git to print an absolute path.<br>
>      execute_process(COMMAND ${git_executable} rev-parse --git-dir<br>
> @@ -30,7 +29,6 @@<br>
>          "${path}/.svn/entries" # SVN 1.6<br>
>        )<br>
>      endif()<br>
> -  endif()<br>
>  endmacro()<br>
><br>
>  find_first_existing_vc_file(<wbr>llvm_vc "${LLVM_MAIN_SRC_DIR}")<br>
> @@ -40,22 +38,21 @@<br>
><br>
>  set(get_svn_script "${LLVM_CMAKE_PATH}/<wbr>GenerateVersionFromCVS.cmake")<br>
><br>
> -if(DEFINED llvm_vc)<br>
> -  # Create custom target to generate the VC revision include.<br>
> -  add_custom_command(OUTPUT "${version_inc}"<br>
> -    DEPENDS "${llvm_vc}" "${get_svn_script}"<br>
> -    COMMAND<br>
> -    ${CMAKE_COMMAND} "-DSOURCE_DIR=${LLVM_MAIN_SRC_<wbr>DIR}"<br>
> -                     "-DNAME=LLVM_REVISION"<br>
> -                     "-DHEADER_FILE=${version_inc}"<br>
> -                     -P "${get_svn_script}")<br>
> -<br>
> -  # Mark the generated header as being generated.<br>
> -  set_source_files_properties("$<wbr>{version_inc}"<br>
> -    PROPERTIES GENERATED TRUE<br>
> -               HEADER_FILE_ONLY TRUE)<br>
> -else()<br>
> -  file(WRITE "${version_inc}" "")<br>
> -endif()<br>
> +add_custom_command(OUTPUT force_version_inc_check COMMAND ${CMAKE_COMMAND} -E echo_append)<br>
> +<br>
> +# Create custom target to generate the VC revision include.<br>
> +add_custom_command(OUTPUT "${version_inc}"<br>
> +  DEPENDS force_version_inc_check "${llvm_vc}" "${get_svn_script}"<br>
> +  COMMAND<br>
> +  ${CMAKE_COMMAND} "-DSOURCE_DIR=${LLVM_MAIN_SRC_<wbr>DIR}"<br>
> +                   "-DLLVM_APPEND_VC_REV=${LLVM_<wbr>APPEND_VC_REV}"<br>
> +                   "-DNAME=LLVM_REVISION"<br>
> +                   "-DHEADER_FILE=${version_inc}"<br>
> +                   -P "${get_svn_script}")<br>
> +<br>
> +# Mark the generated header as being generated.<br>
> +set_source_files_properties("<wbr>${version_inc}"<br>
> +  PROPERTIES GENERATED TRUE<br>
> +             HEADER_FILE_ONLY TRUE)<br>
><br>
>  add_custom_target(llvm_<wbr>vcsrevision_h DEPENDS "${version_inc}")<br>
> Index: cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
> +++ cmake/modules/<wbr>GenerateVersionFromCVS.cmake<br>
> @@ -1,14 +1,16 @@<br>
>  # CMake project that writes Subversion revision information to a header.<br>
>  #<br>
>  # Input variables:<br>
> -#   SRC               - Source directory<br>
> -#   HEADER_FILE       - The header file to write<br>
> +#   SOURCE_DIR          - Source directory<br>
> +#   LLVM_APPEND_VC_REV  - Append vc info (ON/OFF)<br>
> +#   NAME                - Macro name to use<br>
> +#   HEADER_FILE         - The header file to write<br>
>  #<br>
>  # The output header will contain macros FIRST_REPOSITORY and FIRST_REVISION,<br>
>  # and SECOND_REPOSITORY and SECOND_REVISION if requested, where "FIRST" and<br>
>  # "SECOND" are substituted with the names specified in the input variables.<br>
><br>
> -<br>
> +if (LLVM_APPEND_VC_REV)<br>
><br>
>  # Chop off cmake/modules/GetSVN.cmake<br>
>  get_filename_component(LLVM_<wbr>DIR "${CMAKE_SCRIPT_MODE_FILE}" PATH)<br>
> @@ -32,6 +34,11 @@<br>
><br>
>  append_info(${NAME} "${SOURCE_DIR}")<br>
><br>
> +else()<br>
> +  file(WRITE "${HEADER_FILE}.txt" "")<br>
> +endif()<br>
> +<br>
> +<br>
>  # Copy the file only if it has changed.<br>
>  execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different<br>
>    "${HEADER_FILE}.txt" "${HEADER_FILE}")<br>
</div></div></blockquote></div><br></div></div>