View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0013874CMakeCMakepublic2013-01-24 00:142013-10-07 10:03
ReporterМаксим Прохоренко 
Assigned ToPeter Kuemmel 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformLinuxOSFedoraOS Version18
Product VersionCMake 2.8.10.2 
Target VersionFixed in VersionCMake 2.8.11 
Summary0013874: Ninja: generated files like moc, huge deps list
DescriptionIn real project with huge number of generated files I have:

* Generates standard UNIX makefiles: build normal deps for generated files
* Generates build.ninja files (experimental): build strange deps, all files was rebuild in many strange cases, if i add new moc...
Steps To Reproduce1 Qt example mandelbrot
2 Simple Cmake list file
3 configure general
4 configure Ninja
5 compare build.ninja and build.make for deps list
TagsNo tags attached.
Attached Files7z file icon cmake-test-ninja.7z [^] (540,476 bytes) 2013-01-24 00:14
txt file icon CMakeLists.txt [^] (509 bytes) 2013-02-16 07:44 [Show Content]

 Relationships
related to 0013559closedPeter Kuemmel Ninja: Wrong dependency with PCH support 
related to 0013592closedPeter Kuemmel Ninja: Inefficient Ninja DAG with add_custom_command 

  Notes
(0032243)
Peter Kuemmel (developer)
2013-02-09 06:44

The reason for the recompile is that each source file implicitly depends from all mocs, e.g.:

build renderthread.cpp.obj: CXX_COMPILER renderthread.cpp | moc_mandelbrotwidget.cxx moc_renderthread.cxx

http://martine.github.com/ninja/manual.html#_ninja_file_reference [^]

Looks like QT4_WRAP_CPP sets a dependency which is misinterpreted by the ninja generator.
(0032309)
Peter Kuemmel (developer)
2013-02-16 07:43

Commit http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aa2e1e9caef92b10083a03c2ded5c937703e69b8 [^] was wrong.

It was committed because of http://public.kitware.com/pipermail/cmake-developers/2012-October/005336.html [^]
(0032310)
Peter Kuemmel (developer)
2013-02-16 08:01

reverted aa2e1e9caef92b10083a03c2ded5c937703e69b8
(0033987)
Robert Maynard (manager)
2013-10-07 10:03

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2013-01-24 00:14 Максим Прохоренко New Issue
2013-01-24 00:14 Максим Прохоренко File Added: cmake-test-ninja.7z
2013-02-09 06:44 Peter Kuemmel Note Added: 0032243
2013-02-09 06:44 Peter Kuemmel Assigned To => Peter Kuemmel
2013-02-09 06:44 Peter Kuemmel Status new => assigned
2013-02-09 07:03 Peter Kuemmel Summary Ninja and generated files like moc, huge deps list => Ninja: generated files like moc, huge deps list
2013-02-16 06:41 Peter Kuemmel Relationship added related to 0013559
2013-02-16 07:43 Peter Kuemmel Note Added: 0032309
2013-02-16 07:44 Peter Kuemmel File Added: CMakeLists.txt
2013-02-16 08:01 Peter Kuemmel Note Added: 0032310
2013-02-16 08:01 Peter Kuemmel Status assigned => resolved
2013-02-16 08:01 Peter Kuemmel Fixed in Version => CMake 2.8.11
2013-02-16 08:01 Peter Kuemmel Resolution open => fixed
2013-03-09 06:12 Peter Kuemmel Relationship added related to 0013592
2013-10-07 10:03 Robert Maynard Note Added: 0033987
2013-10-07 10:03 Robert Maynard Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team