Thank you very much for your detailed response. I updated to CMake version 3.2.2 and I'm also using VS 2013 Update 4.
When testing with your project, I noticed the first difference with your description is here: "Now if you run build.cmd after that, you should see the repo cloned the first time you run it. After that, unless you change the CMakeLists file, each build should be a "do nothing" build. " For me the external project is additionally configured and built after it was cloned and it will produce an output file (build\name-prefix\src\name-build\Release\echoargs.exe). Now when changing the GIT_TAG I get exactly what you describe. Only the update step is executed to checkout the other commit. But here I would expect that the project is built again, because the commit has changed an input file (intentional_compile_warning.cxx). See: https://github.com/dlrdave/SmallAndFast/commit/68c3cebf842aa8a13d659fec428fd85ca3a24307 Am I wrong with this intuitive expectation? To me it seems to be the logical thing to do. If I change the GIT_TAG, I want to use the outputs of that exact version and not some outdated one. Our external project is a library to which we link. If it is not rebuilt after GIT_TAG is changed, then there will be build errors. -- View this message in context: http://cmake.3232098.n2.nabble.com/Do-build-after-GIT-TAG-changed-in-ExternalProject-Add-tp7590299p7590316.html Sent from the CMake mailing list archive at Nabble.com. -- 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: http://public.kitware.com/mailman/listinfo/cmake
