<div dir="ltr"><div dir="ltr"><div>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.</div><div><br></div><div>The source code for these example can be found here: <a href="https://github.com/dev-cafe/cmake-cookbook">https://github.com/dev-cafe/cmake-cookbook</a></div><div><br></div><div>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.</div><div><br></div><div>For specific instructions to reproduce the issue, see this bug report I opened for the example in the book: <a href="https://github.com/dev-cafe/cmake-cookbook/issues/506">https://github.com/dev-cafe/cmake-cookbook/issues/506</a></div><div><br></div><div>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.</div><div><br></div><div>System info:</div><div>CMake version 3.13.3</div><div>Windows 10</div><div>Visual Studio 2017</div></div></div>