Stephen Kelly
52b9d828ab
cmMakefile: Move CMP0059 handling to command code.
...
Don't pay a penalty for it in all GetProperty calls.
Additionally, the storage of properties will eventually move to
cmState, which should only contain state and not logic for policies
like this.
2015-06-08 22:23:44 +02:00
Brad King
d17aa60659
Merge topic 'data-layout'
...
8174e5cd
cmCustomCommand: Remove special member functions.
34e1d6db
cmCustomCommand: Re-arrange data layout.
54cb76f2
cmComputeLinkDepends: Re-arrange data layout.
b661d6c6
cmQtAutoGenerators: Re-arrange data layout.
40844a14
cmProcessTools: Re-arrange data layout.
b1ff32af
cmOrderDirectories: Re-arrange data layout.
dd0417c7
cmInstallTargetGenerator: Re-arrange data layout.
125c4866
cmInstallFilesGenerator: Re-arrange data layout.
92b8b1fc
cmGraphVizWriter: Re-arrange data layout.
7f3e1623
cmGlobalGenerator: Re-arrange data layout.
d9df7fa7
cmComputeComponentGraph: Re-arrange data layout.
db24e41b
cmCommandArgumentParserHelper: Re-arrange data.
4cd13e80
cmComputeLinkInformation: Re-arrange data layout.
3e087a40
cmLocalUnixMakefileGenerator: Re-arrange data layout.
e0421701
cmMakefile: Re-arrange data layout.
c26696eb
cmSourceFile: Re-arrange data.
...
2015-06-08 13:54:11 -04:00
Brad King
ccc6fe9445
Merge topic 'clean-up-cmMakefile'
...
4c192fb5
cmMakefile: Remove cacheOnly option from GetDefinitions.
046aafff
cmGetCMakePropertyCommand: Don't explicitly specify default param.
021c4b6f
cmMakefile: Simplify handling of CACHE_VARIABLES property.
1981c971
cmMakefile: Simplify InitializeFromParent method.
353e422b
cmMakefile: Remove unused GetPolicies method.
00bfa047
cmMakefile: Out-of-line the cmMakefileCall.
db74ce58
cmMakefile: Inline PushScope into PushFunctionScope.
ca140c2e
cmMakefile: Create a unified raii for macro scopes.
d5dc4169
cmMakefile: Create a unified raii for function scopes.
2015-06-08 13:54:09 -04:00
Brad King
f5690cc57c
Merge topic 'move-Feature-API'
...
f573bd22
cmLocalGenerator: Add Feature API from cmMakefile.
ccbc2259
cmGeneratorTarget: Move Feature API from cmTarget.
2015-06-08 13:54:05 -04:00
Stephen Kelly
4c192fb531
cmMakefile: Remove cacheOnly option from GetDefinitions.
...
It is now unused.
2015-06-07 15:21:56 +02:00
Stephen Kelly
e042170103
cmMakefile: Re-arrange data layout.
...
2168 to 2152 bytes with GNU libstdc++-5.1.
2015-06-07 09:32:38 +02:00
Stephen Kelly
5181fae264
cmPropertyMap: Remove chaining logic.
...
The chaining logic doesn't belong to the container, and the
CMakeInstance pointer doesn't need to be in cmPropertyMap.
Size goes from 56 to 48 bytes with GNU libstdc++-5.1.
2015-06-07 09:29:31 +02:00
Stephen Kelly
f573bd22e4
cmLocalGenerator: Add Feature API from cmMakefile.
2015-06-06 15:44:17 +02:00
Stephen Kelly
1981c9718b
cmMakefile: Simplify InitializeFromParent method.
...
Provide a parent instead of requiring it to be computed through
the cmLocalGenerator.
2015-06-06 09:35:55 +02:00
Stephen Kelly
353e422b2a
cmMakefile: Remove unused GetPolicies method.
2015-06-06 09:35:55 +02:00
Stephen Kelly
00bfa04748
cmMakefile: Out-of-line the cmMakefileCall.
2015-06-06 09:31:16 +02:00
Stephen Kelly
8680520fea
cmMakefile: Make the cmState::Snapshot accessible.
2015-06-06 09:15:56 +02:00
Stephen Kelly
ca140c2e89
cmMakefile: Create a unified raii for macro scopes.
2015-06-04 22:08:23 +02:00
Stephen Kelly
d5dc4169ac
cmMakefile: Create a unified raii for function scopes.
2015-06-04 22:08:23 +02:00
Brad King
0886880e3b
Merge topic 'cmMakefile-Configure'
...
7657e8b1
cmMakefile: Introduce a local cmMakefile variable.
4e8f242d
cmMakefile: Store unconfigured cmMakefiles.
d65e0123
cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile.
f059ed16
cmMakefile: Move Configure responsibility from cmLocalGenerator.
a653611d
cmake: Replace CurrentLocalGenerator concept with CurrentMakefile.
69a038a9
cmMakefile: Refactor directories specified with the subdirs command.
08637970
cmLocalGenerator: ComputeObjectMaxPath just before generating.
27e11c6f
Merge Configure state with GeneratingBuildSystem state.
363caa2f
cmLocalGenerator: De-virtualize Configure().
2015-06-04 09:13:35 -04:00
Stephen Kelly
4e8f242d17
cmMakefile: Store unconfigured cmMakefiles.
...
Not cmLocalGenerators.
2015-06-04 09:06:42 -04:00
Stephen Kelly
d65e01235d
cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile.
2015-06-04 09:06:42 -04:00
Stephen Kelly
f059ed165b
cmMakefile: Move Configure responsibility from cmLocalGenerator.
...
The generator should only have a function at generate time.
2015-06-04 09:06:41 -04:00
Stephen Kelly
69a038a9e9
cmMakefile: Refactor directories specified with the subdirs command.
...
Store the directories on the cmMakefile as explicitly not-configured-yet.
2015-06-04 09:06:41 -04:00
Stephen Kelly
27e11c6fea
Merge Configure state with GeneratingBuildSystem state.
2015-06-04 09:06:40 -04:00
Stephen Kelly
b68f2ea8ae
cmMakefile: Add API for elseif to create backtrace.
2015-06-03 01:03:58 +02:00
Stephen Kelly
b9f9915516
cmMakefile: Remove VarUsageStack.
...
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.
2015-05-19 22:36:53 +02:00
Stephen Kelly
528d68021c
cmMakefile: Use more suitable method name to log var usage.
2015-05-19 22:36:52 +02:00
Stephen Kelly
9118b53b79
cmMakefile: Move internal method to private scope.
2015-05-19 22:36:52 +02:00
Stephen Kelly
bb1e8c3adf
cmMakefile: Remove Print() debugging facilities.
...
They don't print things that are important in the modern implementation.
2015-05-19 22:36:50 +02:00
Stephen Kelly
8ab1cce704
cmMakefile: Rename method to something more appropriate.
...
Allow the name to be used for something more-suitable.
2015-05-19 22:36:49 +02:00
Stephen Kelly
2dd5d42f52
cmMakefile: Make the public ReadListFile method take one param.
...
Make the existing method a private overload. All external callers
invoke the method with only one argument.
2015-05-19 22:36:49 +02:00
Stephen Kelly
f3e6a336f2
cmMakefile: Remove CurrentListFile member.
...
It is never read externally. The CollapseFullPath removed in this commit
is a repeat of a similar call inside ReadListFile.
2015-05-19 22:36:48 +02:00
Brad King
594dd9b36a
Merge topic 'use-std-unordered_map'
...
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.
2015-05-19 11:30:21 -04:00
Stephen Kelly
d7923b82ad
Use std::unordered_map instead of hash_map where available.
2015-05-19 00:07:02 +02:00
Stephen Kelly
e96b5d14f9
cmListFileContext: Implement LessThanComparable.
...
Move wrapping existing code from cmMakefile, and simplify the
implementation there.
2015-05-18 23:55:43 +02:00
Stephen Kelly
f9785e0cb6
cmMakefile: Simplify CMP0054 handling.
2015-05-18 23:55:43 +02:00
Stephen Kelly
e17b5e4262
cmMakefile: Add access to the top-level execution context.
...
This is cheaper than getting the whole backtrace, and the cmListFileBacktrace
will not always be composed of cmListFileContext objects.
2015-05-18 23:55:41 +02:00
Stephen Kelly
9b4aefad41
cmMakefile: Replace deques with vectors.
2015-05-18 21:25:48 +02:00
Brad King
226df303f9
CTest: Stop telling 'make' to ignore errors with -i
...
Add policy CMP0061 to maintain compatibility for existing projects.
2015-05-12 09:06:49 -04:00
Brad King
82a55ff916
Merge topic 'refactor-cmMakefile-constructor'
...
42142d4f
cmMakefile: Inline Intialize method in constructor
f39f0c0a
cmMakefile: Initialize SuppressWatches member before use
2015-05-05 09:35:23 -04:00
Brad King
42142d4fd2
cmMakefile: Inline Intialize method in constructor
...
Since commit 80909041
(cmMakefile: Disable copy constructor, 2015-04-18)
the only call to cmMakefile::Initialize is in one constructor. Inline
it and drop the separate method.
2015-05-04 10:22:01 -04:00
Stephen Kelly
0bb6dbe0c6
cmMakefile: Extract an accessor for the global generator.
...
Both for convenience, and because cmMakefile should not be the
way to get access to the local generator, so that should go away
in the future.
2015-05-03 11:41:59 +02:00
Stephen Kelly
46f6a5f458
cmState: Store the Current directories.
2015-04-28 07:57:21 +02:00
Stephen Kelly
3a041c5949
Introduce cmState::Snapshot.
...
Create snapshots for buildsystem directories during configure time.
This class will be extended in follow up commits to snapshot
all values in the cmState.
2015-04-28 07:57:01 +02:00
Stephen Kelly
86f3cd0f7e
cmMakefile: Require the localGenerator in the constructor.
...
Move the contents of cmMakeile::SetLocalGenerator to the Initialize
method.
2015-04-28 07:50:57 +02:00
Stephen Kelly
e4c78b37ce
cmMakefile: Inline SetHome* methods into last remaining caller.
2015-04-28 07:50:02 +02:00
Stephen Kelly
410f39a43e
cmMakefile: Delegate storage of Home dirs to the cmake class.
...
There is no need to duplicate these on every cmMakefile.
2015-04-28 07:50:01 +02:00
Brad King
5a5ef00106
Merge topic 'clean-up-cmMakefile'
...
8dc3a67c
cmMakefile: Out-of-line the directory methods.
0f3c8cfa
cmMakefile: Use method abstraction to access directories.
b288a997
cmMakefile: Rename SetStart* directory API to SetCurrent*.
932d53bc
cmMakefile: Remove redundant method duplication.
32b8f03a
cmMakefile: Port users of GetStart* methods to new names.
54d6a918
cmMakefile: Rename GetCurrent{Output,Binary}Directory.
55d80d0a
cmMakefile: Rename GetCurrent{,Source}Directory.
b23cf06f
cmake: Remove redundant start directories.
fcf246ac
cmMakefile: Populate Home directories on initialize.
8878bea7
cmake: Initialize Home directories on cmake for find-package mode.
044dc815
Use the Home directories from the cmake class where intended.
d67e8f24
cmake: Fix directory used to find the cache
1ea085d1
cmMakefile: Initialize dir definitions early.
f034bb2f
Remove redundant calls to MakeStartDirectoriesCurrent.
3a68c323
cmMakefile: Fix wrong parameter names.
2015-04-21 09:42:07 -04:00
Stephen Kelly
8dc3a67c9c
cmMakefile: Out-of-line the directory methods.
2015-04-21 09:41:27 -04:00
Stephen Kelly
8090904198
cmMakefile: Disable copy constructor.
...
It is no longer necessary to be able to copy it. Additionally, this
gives us one less reason to copy cmTarget.
2015-04-21 00:26:37 +02:00
Stephen Kelly
b288a997e9
cmMakefile: Rename SetStart* directory API to SetCurrent*.
2015-04-21 00:15:20 +02:00
Stephen Kelly
932d53bc02
cmMakefile: Remove redundant method duplication.
2015-04-21 00:15:20 +02:00
Stephen Kelly
54d6a9187f
cmMakefile: Rename GetCurrent{Output,Binary}Directory.
...
Match names used in CMake code.
2015-04-21 00:12:52 +02:00
Stephen Kelly
55d80d0a85
cmMakefile: Rename GetCurrent{,Source}Directory.
...
Match the names used in cmake code.
2015-04-21 00:12:52 +02:00