I haven't tried it out but I'm not exactly surprised it wouldn't work with
Visual Studio 2017.

It seems to be similar to the issue mentioned here:
https://stackoverflow.com/q/54557801/1028434

The problem I noticed in the case of the StackOverflow question,
"add_custom_target(testcmake2 ALL)" doesn't have a "command" so it doesn't
generate an output.

When performing a build Visual Studio prints a message like "all outputs up
to date" and skips over it.  So any associated custom commands with the
target are never run.
Adding a "command" that is even an echo, like add_custom_target(testcmake1
COMMAND ${CMAKE_COMMAND} -E echo "Running testcmake1 step 1"), and the
problem goes away.



On Fri, Feb 8, 2019 at 6:08 PM Timothy Wrona <tjwrona1...@gmail.com> wrote:

> I have been following the examples in the "CMake Cookbook" by Radovan Bast
> and Roberto Di Remigio and came across one example that doesn't appear to
> work right on Windows.
>
> The source code for these example can be found here:
> https://github.com/dev-cafe/cmake-cookbook
>
> Chapter-06/Recipe-07 is supposed to update the Git commit hash referenced
> by the version header file every time the project is built. According to
> the book, "add_custom_command()" is supposed to execute on every build
> regardless of whether any files are changed. This example seems to work
> correctly in a Linux environment, but not in Windows with the Visual Studio
> Generator. When a new commit is created (an empty commit created with "git
> commit --allow-empty") the custom command is never called and the commit
> hash is not updated correctly.
>
> For specific instructions to reproduce the issue, see this bug report I
> opened for the example in the book:
> https://github.com/dev-cafe/cmake-cookbook/issues/506
>
> I assumed this was an issue with the example, but it looks like the Visual
> Studio Generator may not be handling "add_custom_command()" correctly and
> may be the source of the problem.
>
> System info:
> CMake version 3.13.3
> Windows 10
> Visual Studio 2017
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> https://cmake.org/mailman/listinfo/cmake-developers
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers

Reply via email to