On 08/23/2017 05:56 PM, Sebastian Holtermann wrote: > It seems that in CMake 3.9/AUTOGEN the VS generator uses the *_autogen > target more often than necessary (it could use PRE_BUILD instead). > > Let's assume a target `B` that depends on > - a *GENERATED* file `FA` > - a linked library `LA` > - a utility target `TA` (via `add_dependencies()`) > > Using the VS generator, will `FA`, `LA` and `TA` be built completely before > target B executes it's PRE_BUILD?
Target-level dependencies will be completely finished, including their POST_BUILD if any, before the PRE_BUILD of a dependent target begins. In your list above, `LA` and `TA` will definitely be built before `B` starts. For the generated file `FA`, it depends whether the custom command is attached to `B` or not. If it is inside `B` then it won't generate until after PRE_BUILD is done. PRE_BUILD in VS means "if any files associated with this .vcxproj are about to be built due to updated dependencies or missing outputs, then run this pre-build command first". -Brad -- 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-developers