18895 Commits

Author SHA1 Message Date
Stephen Kelly
1e77de7411 cmMakefile: Don't clear buildsystem properties.
Instead put a sentinal empty entry in the container when a property
is overwritten.  Use this sentinal when reading from the containers.

Use iterator::operator+(size_type) directly instead of std::advance,
because this only really makes sense if using RandomAccessIterators.
2015-07-22 21:23:49 +02:00
Stephen Kelly
8d336875b3 cmMakefile: Use Ranges for buildsystem property access.
Don't return vector copies.
2015-07-22 20:25:48 +02:00
Stephen Kelly
514a1dff5b cmAlgorithms: Add some convenient typedefs. 2015-07-22 20:25:47 +02:00
Stephen Kelly
c7b39d06f9 cmMakefile: Split accessors for include directories and origins. 2015-07-22 20:25:47 +02:00
Stephen Kelly
b2de25aded cmMakefile: Split accessors for compile options and origins. 2015-07-22 20:25:46 +02:00
Stephen Kelly
d6239507b2 cmMakefile: Split accessors for compile definitions and origins. 2015-07-22 20:25:45 +02:00
Stephen Kelly
ef17bbefd7 cmMakefile: Separate storage of buildsystem properties and their origins.
This simplifies some existing and upcoming algorithms.
2015-07-22 20:25:43 +02:00
Stephen Kelly
a89c02ce3d cmMakefile: Out of line some API. 2015-07-22 20:06:23 +02:00
Stephen Kelly
b19587e7d7 cmMakefile: Remove some references from APIs. 2015-07-22 20:06:22 +02:00
Brad King
e00e8713de Merge topic 'export-no-custom-target'
7e9f908e export: Reject custom target exports earlier (#15657)
3b09398a Tests: Teach RunCMake.export to enable languages only when needed
2015-07-22 11:04:32 -04:00
Brad King
4c3d431210 Merge topic 'target-directory-properties'
45c5f8ca Add SOURCE_DIR and BINARY_DIR target properties
2015-07-22 11:04:30 -04:00
Stephen Kelly
1fe71e2ef0 cmAlgorithms: Move Range type out of private namespace. 2015-07-22 10:58:19 -04:00
Stephen Kelly
8ea0b81d20 cmAlgorithms: Rename cmRange to cmMakeRange. 2015-07-22 10:58:19 -04:00
Brad King
a398acd02f Revert "CMake 3.3.0"
This reverts commit 0e3cfc134cee5b560a636d72231cfcaeac376b85.
Due to VS 2015 RTM being released, additional changes are needed
to CMake 3.3.
2015-07-22 08:35:21 -04:00
Kitware Robot
91d2497286 CMake Nightly Date Stamp 2015-07-22 00:01:06 -04:00
Brad King
7e9f908ef5 export: Reject custom target exports earlier (#15657)
Diagnose and reject custom targets given to the export() command
immediately.  Previously we would generate an internal error later.
2015-07-21 14:39:10 -04:00
Clifford Yapp
45c5f8cad2 Add SOURCE_DIR and BINARY_DIR target properties
This will allow project code to recover the directory information about
where a target was created.
2015-07-21 14:19:35 -04:00
Brad King
5b2754d41f Merge topic 'remove-special-MACROS-handling'
41bb831f cmMakefile: Remove special handling of MACROS property.
2015-07-21 09:22:23 -04:00
Brad King
e13c189743 Merge topic 'remove-special-LINK_DIRECTORIES-handling'
881613c4 cmMakefile: Remove special handling of LINK_DIRECTORIES property.
35734260 cmMakefile: Inline only use of GetLinkDirectories.
2015-07-21 09:22:21 -04:00
Brad King
ae64efa1ce Merge topic 'cmState-Directory'
9ebc7502 cmState: Extract a Directory class.
27ec21db cmState: Forward-declare a type earlier.
2015-07-21 09:22:19 -04:00
Brad King
93b393e74c Merge topic 'remove-Properties-accessor'
c6055d9d cmMakefile: Remove GetProperties method.
cbe3ee58 cmMakefile: Add a PropertyKeys accessor.
2015-07-21 09:22:17 -04:00
Brad King
64aa41b248 Merge topic 'clean-up-include_regular_expression'
4efda261 cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
2015-07-21 09:22:15 -04:00
Brad King
ce597a022b Merge topic 'minor-cleanups'
cff2dc34 cmLocalUnixMakefileGenerator3: Port away from the Parent.
5505bff7 cmMakefile: Add include which we use.
2007d11c cmState: Remove unused variable.
a622b829 cmGetCMakePropertyCommand: Clean up VARIABLES handling.
52f22616 cmListFileBacktrace: Constify API.
fc1c7cf8 Genex: Store a backtrace, not a pointer to one.
4dc45707 cmMakefile: Fix indentation.
12c82fd8 cmMakefile: Remove dead code.
f19653eb CodeLite: Remove unused code.
2015-07-21 09:22:13 -04:00
Brad King
b953d526d1 Merge topic 'remove-ListFileStack'
640fc5b5 cmMakefile: Remove unused ListFileStack.
54cc0c0e cmMakefile: Port some users of ListFileStack to cmState.
e77c4666 cmMakefile: Remove obsolete condition.
8e7d3030 cmMakefile: Simplify setting of current snapshot.
6083ec9a cmMakefile: Implement LISTFILE_STACK property in terms of cmState.
647b533b cmMakefile: Implement FormatListFileStack in terms of cmState.
2015-07-21 09:22:10 -04:00
Kitware Robot
533798275c CMake Nightly Date Stamp 2015-07-21 00:01:05 -04:00
Brad King
0e3cfc134c CMake 3.3.0 2015-07-20 11:05:01 -04:00
Kitware Robot
04b45acc3d CMake Nightly Date Stamp 2015-07-20 00:01:05 -04:00
Stephen Kelly
41bb831fc9 cmMakefile: Remove special handling of MACROS property. 2015-07-19 16:01:39 +02:00
Kitware Robot
0d48bb6273 CMake Nightly Date Stamp 2015-07-19 00:01:06 -04:00
Stephen Kelly
9ebc7502b2 cmState: Extract a Directory class.
Move Directory-scoped state accessors to it.  This will be expanded
with directory property state soon.
2015-07-18 19:37:58 +02:00
Stephen Kelly
27ec21dbb2 cmState: Forward-declare a type earlier. 2015-07-18 19:09:51 +02:00
Stephen Kelly
c6055d9d4c cmMakefile: Remove GetProperties method.
The storage details of properties do not belong in the API.
2015-07-18 18:59:41 +02:00
Stephen Kelly
cbe3ee58ca cmMakefile: Add a PropertyKeys accessor. 2015-07-18 18:59:18 +02:00
Stephen Kelly
cff2dc34f9 cmLocalUnixMakefileGenerator3: Port away from the Parent. 2015-07-18 18:43:17 +02:00
Stephen Kelly
5505bff7ae cmMakefile: Add include which we use.
Don't rely on this through the cmLocalGenerator include.
2015-07-18 18:40:36 +02:00
Stephen Kelly
2007d11caf cmState: Remove unused variable. 2015-07-18 14:40:12 +02:00
Stephen Kelly
a622b829bd cmGetCMakePropertyCommand: Clean up VARIABLES handling. 2015-07-18 14:39:51 +02:00
Stephen Kelly
4efda261fe cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.
It costs an extra cmMakefile member and extra code to maintain in
directory property handling.  Remove documentation note that it
is read-only and specify high-level command to populate it.
2015-07-18 14:10:34 +02:00
Stephen Kelly
881613c4ab cmMakefile: Remove special handling of LINK_DIRECTORIES property.
There is no need to handle it in a special way.
2015-07-18 13:56:48 +02:00
Stephen Kelly
357342602d cmMakefile: Inline only use of GetLinkDirectories. 2015-07-18 13:45:43 +02:00
Stephen Kelly
640fc5b54a cmMakefile: Remove unused ListFileStack. 2015-07-18 13:27:19 +02:00
Stephen Kelly
54cc0c0e1f cmMakefile: Port some users of ListFileStack to cmState. 2015-07-18 13:26:06 +02:00
Stephen Kelly
e77c46664c cmMakefile: Remove obsolete condition. 2015-07-18 13:22:51 +02:00
Stephen Kelly
8e7d303077 cmMakefile: Simplify setting of current snapshot. 2015-07-18 13:17:24 +02:00
Stephen Kelly
6083ec9a78 cmMakefile: Implement LISTFILE_STACK property in terms of cmState. 2015-07-18 13:12:07 +02:00
Stephen Kelly
647b533bce cmMakefile: Implement FormatListFileStack in terms of cmState. 2015-07-18 13:11:45 +02:00
Stephen Kelly
52f2261685 cmListFileBacktrace: Constify API. 2015-07-18 11:10:15 +02:00
Kitware Robot
e7fbd489e0 CMake Nightly Date Stamp 2015-07-18 00:01:05 -04:00
Stephen Kelly
fc1c7cf85d Genex: Store a backtrace, not a pointer to one.
The storage of a pointer means that the ownership and lifetime are
externally determined, which is harder to reason about. It also imposes
API constraints, requiring APIs to return references to backtraces.

This pointer storage was introduced in commit v3.1.0-rc1~425^2~3 (genex:
remove the need for backtraces, 2014-05-23).  As backtraces are now cheap
to copy around, just do that instead.
2015-07-17 22:14:37 +02:00
Stephen Kelly
4dc4570734 cmMakefile: Fix indentation. 2015-07-17 22:14:37 +02:00