Hi Craig, On Mon, 7. Oct 2019 12:56 Craig Scott wrote: > As it happens, I just updated the docs for these in the last day or so.
You mean you updated the docs of the two commands, but you did not update the docs of the DEPENDS parameter, right? > There is a difference between the two, but it's subtle and specific to the > sort of scenario I mentioned in that issue comment. So the manual for the DEPENDS parameter of add_custom_target is outdated, but fixing it is not as easy as copying it from add_custom_command. Regards, Sebastian From: Craig Scott <craig.sc...@crascit.com> Sent: Montag, 7. Oktober 2019 12:56 To: Setzer Sebastian (CM-CI2/ECS2) <sebastian.set...@de.bosch.com> Cc: cmake@cmake.org Subject: Re: [CMake] DEPENDS parameter of add_custom_target On Mon, Oct 7, 2019 at 9:32 PM Setzer Sebastian (CM-CI2/ECS2) via CMake <mailto:cmake@cmake.org> wrote: Dear list, The manual says: https://cmake.org/cmake/help/latest/command/add_custom_target.html Reference files and outputs of custom commands created with add_custom_command() command calls in the same directory (CMakeLists.txt file). They will be brought up to date when the target is built. Use the add_dependencies() command to add dependencies on other targets. This is different from what the manual of add_custom_command says, and would be surprising for all users who only read the manual of add_custom_command and then think they know what the parameter means for add_custom_target. But on the other hand, when I test with this: -------------------------------------------------- cmake_minimum_required (VERSION 3.14) project(dependency_test LANGUAGES) add_custom_target(T1 COMMAND echo T1 ) add_custom_target(T2 COMMAND echo T2 DEPENDS T1 ) # cmake -GNinja -B build . # ninja T2 -------------------------------------------------- Then T1 and T2 are built, so contrary to what the manual says, it seems to work. Is the manual just outdated (Maybe behavior has changed and only manual for add_custom_command has been updated)? Should it be the same as for add_custom_command, or are there really some differences? As it happens, I just updated the docs for these in the last day or so. You can find it in the not-yet-merged merge request here: https://gitlab.kitware.com/cmake/cmake/merge_requests/3891 I wrote an explanation of the specific behavior of the dependencies in the associated issue here: https://gitlab.kitware.com/cmake/cmake/issues/19771#note_635547 There is a difference between the two, but it's subtle and specific to the sort of scenario I mentioned in that issue comment. -- Craig Scott Melbourne, Australia https://crascit.com Get the hand-book for every CMake user: https://crascit.com/professional-cmake/ Consulting services (CMake, C++, build/release processes): https://crascit.com/services -- 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