[cmake-developers] [CMake 0014747]: Target dependencies do not trigget build on Ninja

Mantis Bug Tracker mantis at public.kitware.com
Mon Feb 10 13:11:41 EST 2014


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=14747 
====================================================================== 
Reported By:                Daniel Levin
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   14747
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   high
Status:                     new
====================================================================== 
Date Submitted:             2014-02-10 13:11 EST
Last Modified:              2014-02-10 13:11 EST
====================================================================== 
Summary:                    Target dependencies do not trigget build on Ninja
Description: 
Target dependencies output do not trigger build of target itself using Ninja
generator. See attached archive for example.

Imaging next script:

add_custom_target(A DEPENDS somefile)
add_dependencies(A B)

Expected behavior: dependency checking of target A should be triggered AFTER
target B was built. If file 'somefile' depends on output of target B, build of
target A should be started. Works using make generator, does not work using
ninja generator.

Steps to Reproduce: 
Create make build for attached project. Run make from command line continuously.
If  RandomTouch target has output (random=1) it does trigger Test target build,
as expected. If RandomTouch target has no output (random=0) Test target not
built, as expected.

Create ninja build and do the same. Test target build is running depending on
PREVIOUS invocation of ninja command, not CURRENT. Because dependency scan of
target Test is done before RandomTouch target finished running and make any
output.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2014-02-10 13:11 Daniel Levin   New Issue                                    
2014-02-10 13:11 Daniel Levin   File Added: cmake-pre-build.tgz                 
  
======================================================================



More information about the cmake-developers mailing list