View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0013032 | CMake | CMake | public | 2012-03-09 05:24 | 2016-06-10 14:31 | ||||
Reporter | Zahary Karadjov | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | tweak | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | Visual Studio | OS | OS Version | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0013032: Support the option "Use Library Dependency Inputs" in Visual Studio 2005+ | ||||||||
Description | The build times of Visual Studio CMake generated projects could be significantly improved if 1) All dependent static libraries of an executable are listed as dependencies in Visual Studio 2) The "Linker->General->Use Library Dependency Inputs" option is enabled. Reference Information: http://msdn.microsoft.com/en-us/library/024awkd1(v=vs.80).aspx [^] Use Library Dependency Inputs In a large project, when a dependent project produces a .lib file, incremental linking is disabled. If there are many dependent projects that produce .lib files, building the application can take a long time. When this property is set to Yes, the project system links in the .obj files for .libs produced by dependent projects, thus enabling incremental linking. http://blogs.msdn.com/b/vcblog/archive/2010/05/03/flexible-project-to-project-references.aspx [^] http://code.google.com/p/chromium/wiki/WindowsIncrementalLinking [^] http://www.xoreax.com/webhelp/pages/advanced_incredilink.htm [^] | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0028876) Brad King (manager) 2012-03-09 08:53 |
Background: The CVS commit mentioned in 0009732:0018129 in Git is: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bc43b0f2 [^] and since then: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1a0c166a [^] http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fd614e60 [^] Also see the comment here: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmGlobalVisualStudioGenerator.cxx;hb=v2.8.7#l317 [^] |
(0028877) Brad King (manager) 2012-03-09 08:56 |
In short LinkLibraryDependencies messes with the difference between order-only dependencies and true link dependencies. |
(0028888) Zahary Karadjov (reporter) 2012-03-10 05:55 edited on: 2012-03-12 08:58 |
If I understand correctly, you are saying that LinkLibrariesDependencies can't be enabled on a VS project-wide level, because then order-only dependencies added by add_dependency will be linked too. Please, see the second link I posted: http://blogs.msdn.com/b/vcblog/archive/2010/05/03/flexible-project-to-project-references.aspx [^] It explains that now in VS10, the project file can specify LinkLibrariesDependencies on a per-dependency basis. The build time improvements of UseLibraryDependencyInputs could be quite substantial from my experiences, so this issue is really worth investigating further. |
(0040379) Vivien Millet (reporter) 2016-01-29 20:08 |
I think this issue should be updated because having options UseLibraryDependencyInputs and LinkLibraryDependencies in MSVC are not only useful for link dependencies but also allows to keep some static variable symbol alive when linking static libraries (which would be thrown away if these flags were not set). It's the case in my project, i absolutely need these flags to be true and i will be forced to change the cmake source myself if not done by the cmake team. I don't understand why these flags becomes true only on external dependencies in cmake and stay absolutely false in any other case ? And more importantly, why not let the freedom to the user to decide if these flags are set or not, even if it creates some conflicts (a warning can be emitted in this case) |
(0042001) Kitware Robot (administrator) 2016-06-10 14:28 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-03-09 05:24 | Zahary Karadjov | New Issue | |
2012-03-09 08:48 | Brad King | Relationship added | related to 0009732 |
2012-03-09 08:53 | Brad King | Note Added: 0028876 | |
2012-03-09 08:56 | Brad King | Note Added: 0028877 | |
2012-03-10 05:55 | Zahary Karadjov | Note Added: 0028888 | |
2012-03-12 08:58 | Zahary Karadjov | Note Edited: 0028888 | |
2012-03-12 09:02 | Brad King | Status | new => backlog |
2016-01-29 20:08 | Vivien Millet | Note Added: 0040379 | |
2016-06-10 14:28 | Kitware Robot | Note Added: 0042001 | |
2016-06-10 14:28 | Kitware Robot | Status | backlog => resolved |
2016-06-10 14:28 | Kitware Robot | Resolution | open => moved |
2016-06-10 14:28 | Kitware Robot | Assigned To | => Kitware Robot |
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |