summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'doc-cache-option-space'Brad King2015-05-213-2/+5
|\ | | | | | | | | b0ea3673 Help: Spell '-D' option consistently across documentation (#15575)
| * Help: Spell '-D' option consistently across documentation (#15575)Brad King2015-05-203-2/+5
| | | | | | | | | | | | Always show the option with its argument separate in summary text. State in the main documentation that the option and its argument can be given together too.
* | Merge topic 'clean-up-cmQtAutoGenerators'Brad King2015-05-211-26/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | a5b59fae QtAutogen: Create global generator on the stack. fe401ede QtAutogen: Use a more-obvious delete-target. c95a55ad QtAutogen: Remove the need for a local makefile variable. 460e8fb9 QtAutogen: Inline static factory method. 58f41c78 QtAutogen: Remove repeated setters.
| * | QtAutogen: Create global generator on the stack.Stephen Kelly2015-05-191-6/+4
| | |
| * | QtAutogen: Use a more-obvious delete-target.Stephen Kelly2015-05-191-1/+1
| | |
| * | QtAutogen: Remove the need for a local makefile variable.Stephen Kelly2015-05-191-6/+3
| | |
| * | QtAutogen: Inline static factory method.Stephen Kelly2015-05-191-14/+7
| | |
| * | QtAutogen: Remove repeated setters.Stephen Kelly2015-05-191-3/+0
| |/ | | | | | | These methods are called already just before calling the static method.
* | Merge topic 'clean-up-cmMakefile'Brad King2015-05-219-247/+118
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9f99155 cmMakefile: Remove VarUsageStack. 2b09d9f3 cmMakefile: Remove VarInitStack. 528d6802 cmMakefile: Use more suitable method name to log var usage. 9118b53b cmMakefile: Move internal method to private scope. f58c3774 cmMakefile: Mark definitions explicitly erased, even at top level. ea7b962b cmMakefile: Raise variable in scope explicitly when needed. c8cb6688 cmMakefile: Use early return to reduce nested code. bdd1aa91 cmMakefile: Don't use else after return. c42f0e2b cmMakefile: Remove redundant conditions. caff8e5a cmCTest: Remove unimplemented method. bb1e8c3a cmMakefile: Remove Print() debugging facilities. 1363bff8 cmMakefile: Remove duplicate variable initialization. 5b7ff35c cmMakefile: Don't expect the VarStack iterator to support size(). 390bc324 cmMakefile: Remove redundant condition. 8ab1cce7 cmMakefile: Rename method to something more appropriate. 2dd5d42f cmMakefile: Make the public ReadListFile method take one param. ...
| * | cmMakefile: Remove VarUsageStack.Stephen Kelly2015-05-194-61/+22
| | | | | | | | | | | | | | | | | | Store usage information in the cmDefintions value instead. We already pay for the memory as padding in the Def struct, so we might as well use it.
| * | cmMakefile: Remove VarInitStack.Stephen Kelly2015-05-193-21/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cmMakefile::PushScope, a copy of the closure of keys initialized in the parent scope is made. In PopScope, essentially the same copy is inserted back into the parent. That means a lot of duplication of strings and a lot of string comparisons. None of it is needed, because the cmDefinitions keys already provide a canonical representation of what is initialized. The removal of the separate container also makes the variable handling code more easy to reason about in general. Before this patch, configuring llvm uses 200 KiB for the VarInitStack. Overall peak memory consumption goes from 35.5 MiB to 35.1 MiB.
| * | cmMakefile: Use more suitable method name to log var usage.Stephen Kelly2015-05-192-7/+7
| | |
| * | cmMakefile: Move internal method to private scope.Stephen Kelly2015-05-191-2/+2
| | |
| * | cmMakefile: Mark definitions explicitly erased, even at top level.Stephen Kelly2015-05-193-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presumably the intention here is to attempt to optimize memory by not storing what is not needed. However, all keys need to be tracked anyway to implement initialization tracking, and this special case gets in the way of simplifying the implementation of that. This doesn't change any observable effects because values set to 0 are considered not to exist by the cmDefinitions API.
| * | cmMakefile: Raise variable in scope explicitly when needed.Stephen Kelly2015-05-193-7/+17
| | | | | | | | | | | | | | | The Get method implicitly pulls a copy of all variables into a local scope. This is not necessary.
| * | cmMakefile: Use early return to reduce nested code.Stephen Kelly2015-05-191-15/+16
| | |
| * | cmMakefile: Don't use else after return.Stephen Kelly2015-05-191-4/+1
| | |
| * | cmMakefile: Remove redundant conditions.Stephen Kelly2015-05-191-6/+3
| | | | | | | | | | | | This container is never empty.
| * | cmCTest: Remove unimplemented method.Stephen Kelly2015-05-191-5/+0
| | |
| * | cmMakefile: Remove Print() debugging facilities.Stephen Kelly2015-05-192-62/+0
| | | | | | | | | | | | They don't print things that are important in the modern implementation.
| * | cmMakefile: Remove duplicate variable initialization.Stephen Kelly2015-05-191-4/+2
| | |
| * | cmMakefile: Don't expect the VarStack iterator to support size().Stephen Kelly2015-05-191-2/+1
| | |
| * | cmMakefile: Remove redundant condition.Stephen Kelly2015-05-191-8/+2
| | | | | | | | | | | | | | | As this is called in the constructor, the definition will never be already set.
| * | cmMakefile: Rename method to something more appropriate.Stephen Kelly2015-05-194-4/+4
| | | | | | | | | | | | Allow the name to be used for something more-suitable.
| * | cmMakefile: Make the public ReadListFile method take one param.Stephen Kelly2015-05-192-10/+11
| | | | | | | | | | | | | | | Make the existing method a private overload. All external callers invoke the method with only one argument.
| * | cmMakefile: Remove CurrentListFile member.Stephen Kelly2015-05-192-16/+1
| | | | | | | | | | | | | | | It is never read externally. The CollapseFullPath removed in this commit is a repeat of a similar call inside ReadListFile.
| * | cmMakefile: Port CurrentListFile clients to GetDefinition.Stephen Kelly2015-05-193-4/+7
| |/ | | | | | | There is no need to store this as a member variable.
* | Merge topic 'doc-cmake-buildsystem-typo'Brad King2015-05-211-2/+2
|\ \ | | | | | | | | | | | | 7412d100 Help: Fix typo in cmake-buildsystem(7) manual
| * | Help: Fix typo in cmake-buildsystem(7) manualBrad King2015-05-191-2/+2
| |/
* | Merge topic 'run-include-what-you-use'Brad King2015-05-2128-0/+207
|\ \ | | | | | | | | | | | | | | | ada5ffce Add options to run include-what-you-use with the compiler 67fa3da9 cmake: Add internal -E mode to run include-what-you-use with the compiler
| * | Add options to run include-what-you-use with the compilerBrad King2015-05-1918-0/+111
| | | | | | | | | | | | | | | | | | Create a <LANG>_INCLUDE_WHAT_YOU_USE target property (initialized by a CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE variable) to specify an IWYU command line to be run along with the compiler.
| * | cmake: Add internal -E mode to run include-what-you-use with the compilerBill Hoffman2015-05-1910-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | Add an internal "cmake -E __run_iwyu" mode to wrap the compiler call. Run a given include-what-you-use command line with the compiler options and report a warning if it finds anything. Then run the real compiler. Co-Author: Brad King <brad.king@kitware.com>
* | | Merge topic 'cleanup-module-policies'Brad King2015-05-212-3/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | b3795df2 FortranCInterface: Do not use cmake_policy(VERSION) a4596f20 CheckTypeSize: Do not use cmake_policy(VERSION)
| * | | FortranCInterface: Do not use cmake_policy(VERSION)Brad King2015-05-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not force a specific policy version in the module because it prevents projects from setting newer policies to NEW. In particular, projects may want to set CMP0056 to NEW to affect any try_compile calls in this module. Use of this was added in commit v2.8.2~714 (FortranCInterface: Use CMake 2.8.0 behavior, 2009-11-17) in order to set CMP0007 to NEW. Simply set this policy explicitly instead.
| * | | CheckTypeSize: Do not use cmake_policy(VERSION)Brad King2015-05-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not force a specific policy version in the module because it prevents projects from setting newer policies to NEW. In particular, projects may want to set CMP0056 to NEW to affect any try_compile calls in this module. Use of this was added in commit v2.8.2~539 (New CheckTypeSize for OS X Universal Binaries, 2009-12-17) and updated in commit v3.1.0-rc1~511^2~1 (Do not change minimum required version in modules, 2014-05-07). The history does not clearly explain why a specific policy version was introduced. If specific policies need to be NEW then we can add explicit settings for them.
* | | | Merge topic 'CheckTypeSyze-CMP0054'Brad King2015-05-211-4/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | 6784f0a6 CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)
| * | | CheckTypeSize: Avoid if() auto-dereferene in quoted arguments (#15571)Rolf Eike Beer2015-05-191-4/+5
| | | | | | | | | | | | | | | | | | | | Exposed by a CMP0054 warning. Set CMP0054 to NEW since no code in this module depends on the old behavior.
* | | | CMake Nightly Date StampKitware Robot2015-05-211-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2015-05-201-1/+1
| |_|/ |/| |
* | | Merge topic 'use-std-unordered_map'Brad King2015-05-1916-12/+100
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | d7923b82 Use std::unordered_map instead of hash_map where available. 820777af Tests: Don't rely on ordering of targets in maps. 921d74d8 AutoGen: Don't iterate over a container while populating it.
| * | | Use std::unordered_map instead of hash_map where available.Stephen Kelly2015-05-189-5/+85
| | | |
| * | | Tests: Don't rely on ordering of targets in maps.Stephen Kelly2015-05-176-6/+6
| | | |
| * | | AutoGen: Don't iterate over a container while populating it.Stephen Kelly2015-05-161-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The InitializeAutogenTarget creates new targets and adds them to the Targets container on the makefile. In this method, we have a reference to that container and we are iterating over it. That happens to work with hash_map, but it fails with undefined behavior when using the std::unordered_map from libstdc++-4.9 (and likely others).
* | | | Merge topic 'ninja-per-target-rules'Brad King2015-05-195-10/+49
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | a390de65 Ninja: Generate separate compile and link rules for each target
| * | | Ninja: Generate separate compile and link rules for each targetBrad King2015-05-185-10/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our <LANG>_COMPILER and <LANG>_<TARGET_TYPE>_LINKER rule generation has access to a specific cmTarget so the results may depend on it. Instead generate separate rules for each target using an encoded target name. In particular, this makes CTEST_USE_LAUNCHERS report proper target information.
* | | | Merge topic 'refactor-cmLocalGenerator'Brad King2015-05-1918-173/+230
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fa9eb814 cmLocalGenerator: Remove redundant path access. 1933f3d1 cmLocalGenerator: Remove redundant path conversions. 9e4b6cc2 cmState: Store computed relative paths to to current directories. 991f5e49 cmState::Snapshot: Store components for current directories. 57bdc1a2 cmState: Compute and store directory components.
| * | | | cmLocalGenerator: Remove redundant path access.Stephen Kelly2015-05-161-2/+1
| | | | |
| * | | | cmLocalGenerator: Remove redundant path conversions.Stephen Kelly2015-05-161-3/+0
| | | | | | | | | | | | | | | | | | | | The methods just called store the paths in already-converted form.
| * | | | cmState: Store computed relative paths to to current directories.Stephen Kelly2015-05-165-121/+132
| | | | |
| * | | | cmState::Snapshot: Store components for current directories.Stephen Kelly2015-05-164-36/+38
| | | | | | | | | | | | | | | | | | | | Remove this responsibility from cmLocalGenerator.