View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0013559 | CMake | CMake | public | 2012-09-25 08:53 | 2013-07-01 09:37 | ||||
Reporter | Yuchen Deng | ||||||||
Assigned To | Peter Kuemmel | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | Windows/Linux | OS | Win7 Ubuntu 12.04 | OS Version | |||||
Product Version | CMake 2.8.9 | ||||||||
Target Version | CMake 2.8.10 | Fixed in Version | CMake 2.8.10 | ||||||
Summary | 0013559: Ninja: Wrong dependency with PCH support | ||||||||
Description | Here is the ML discussion: http://www.cmake.org/pipermail/cmake/2012-September/052144.html [^] 3. It seems does not support PCH fully. e.g. change the PCH source (MSVC) or header (GCC), if using CMake Makefiles Generator, and will compilation every source files if it depends on PCH binary file. But using nanja, seems does not re-builds source files, just only updated the PCH binary. --- function(use_msvc_precompiled_header target sources) foreach(src ${sources}) set_source_files_properties(${src} PROPERTIES COMPILE_FLAGS "/Yu\"${pchBinaryFile}\" /FI\"${pchBinaryFile}\" /Fp\"${pchBinaryFile}\"" OBJECT_DEPENDS ${pchBinaryFile} ) endforeach() endfunction() See: set_source_files_properties, the OBJECT_DEPENDS setting does not work with Ninja Generator, but works well with NMake Makefiles and Unix Makefiles generator. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |||||||||||
|
Relationships |
Notes | |
(0031101) Peter Kuemmel (developer) 2012-09-25 09:29 |
Looks like wrong dependency is used, http://martine.github.com/ninja/manual.html#ref_dependencies [^] void cmNinjaTargetGenerator ::WriteObjectBuildStatement(cmSourceFile* source) { ... cmNinjaDeps explicitDeps; ... // Ensure that the target dependencies are built before any source file in // the target, using order-only dependencies. cmNinjaDeps orderOnlyDeps; this->GetLocalGenerator()->AppendTargetDepends(this->Target, orderOnlyDeps); if(const char* objectDeps = source->GetProperty("OBJECT_DEPENDS")) { std::vector<std::string> depList; cmSystemTools::ExpandListArgument(objectDeps, depList); std::transform(depList.begin(), depList.end(), std::back_inserter(orderOnlyDeps), MapToNinjaPath()); } |
(0031161) Peter Kuemmel (developer) 2012-10-03 08:47 |
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8f0e08d503c83f47f13efc21437e30b96c114639 [^] |
(0033424) Robert Maynard (manager) 2013-07-01 09:37 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-09-25 08:53 | Yuchen Deng | New Issue | |
2012-09-25 09:29 | Peter Kuemmel | Note Added: 0031101 | |
2012-09-25 09:29 | Peter Kuemmel | Assigned To | => Peter Kuemmel |
2012-09-25 09:29 | Peter Kuemmel | Status | new => assigned |
2012-10-03 08:47 | Peter Kuemmel | Note Added: 0031161 | |
2012-10-03 08:47 | Peter Kuemmel | Status | assigned => resolved |
2012-10-03 08:47 | Peter Kuemmel | Fixed in Version | => CMake 2.8.10 |
2012-10-03 08:47 | Peter Kuemmel | Resolution | open => fixed |
2012-10-24 17:29 | David Cole | Target Version | => CMake 2.8.10 |
2012-11-20 16:26 | Peter Kuemmel | Relationship added | related to 0013592 |
2013-02-16 06:41 | Peter Kuemmel | Relationship added | related to 0013874 |
2013-07-01 09:37 | Robert Maynard | Note Added: 0033424 | |
2013-07-01 09:37 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |