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