Brad King
0e44f4894f
Rename local target lookup methods to clarify purpose
...
Rename methods:
* `cmMakefile::Find{ => LocalNonAlias}Target`
* `cmLocalGenerator::Find{ => LocalNonAlias}GeneratorTarget`
These names clarify that they are for directory-local target names
and do not consider alias targets.
2016-04-01 15:44:16 -04:00
Brad King
036b6ef7c4
Port CMake from cmIML to KWIML
...
KWIML no longer uses a configured prefix.
2015-12-18 10:02:07 -05:00
Stephen Kelly
79c3a2a8f7
cmGlobalGenerator: Remove map from cmTarget to cmGeneratorTarget
...
The configure-time and generate-time types should be completely
independent.
Add ownership of cmGeneratorTarget instances to the cmLocalGenerator.
2015-10-27 07:44:26 +01:00
Stephen Kelly
c389f8bb07
cmLocalGenerator: Port Find method away from GetGeneratorTarget
...
Mirror the cmMakefile::FindTarget method.
2015-10-27 07:44:26 +01:00
Stephen Kelly
9b244cc0ec
cmLocalGenerator: Store imported targets in a separate container.
2015-10-27 07:44:24 +01:00
Stephen Kelly
def6da616b
cmLocalGenerator: Port FindGeneratorTarget away from GetGeneratorTarget
2015-10-27 07:44:24 +01:00
Stephen Kelly
00b8c0a8d4
cmLocalGenerator: Add IsRootMakefile API
2015-10-27 07:44:21 +01:00
Stephen Kelly
7d409f500e
cmLocalGenerator: Add GetPolicyStatus API
2015-10-27 07:44:21 +01:00
Stephen Kelly
a6b7eb5bc8
cmInstallTargetGenerator: Get a cmGeneratorTarget directly.
...
Extend the cmGeneratorTarget API to make this possible.
2015-10-24 09:19:52 +02:00
Stephen Kelly
a8c0fbcc19
cmLocalGenerator: Store a vector of generator targets.
...
Not a map from cmTarget to cmGeneratorTarget.
2015-10-21 23:21:01 +02:00
Stephen Kelly
a4bbdc5ecf
cmLocalGenerator: Remove cmGeneratorTargetsType from setter API.
2015-10-21 01:18:27 +02:00
Stephen Kelly
37ab74a607
cmLocalGenerator: Port PList handling to cmGeneratorTarget.
2015-10-18 16:29:29 +02:00
Stephen Kelly
31c4aee75a
cmLocalGenerator: Port policy handling to cmGeneratorTarget.
2015-10-17 17:30:39 +02:00
Stephen Kelly
3e8ef64273
cmLocalGenerator: Port some API to cmGeneratorTarget.
2015-10-17 17:30:38 +02:00
Stephen Kelly
7f5ec9f109
cmLocalGenerator: Port GetTargetDirectory to cmGeneratorTarget.
2015-10-15 00:33:12 +02:00
Stephen Kelly
2293d43d00
cmLocalGenerator: Store cmGeneratorTargets.
...
Relieve cmMakefile of this responsibility.
2015-10-14 13:32:09 -04:00
Brad King
762108f3ec
Merge topic 'add-cmLocalGenerator-API'
...
223d0efe
Remove some needless GetMakefile() calls.
a367416c
cmLocalGenerator: Add current source directory accessor.
bbef3c2d
cmLocalGenerator: Add current binary directory accessor.
12cb3bdc
cmLocalGenerator: Add Home directory accessors.
72efa15d
Eclipse: Port API to cmLocalGenerator.
f2a641d6
Kate: Remove unused variables.
10cf42f5
Kate: Port API to cmLocalGenerator.
e46ef270
export: Port internal method to cmGeneratorTarget.
53d3a1c9
cmMakefile: Remove unused GetProjectName calls.
4ab2750c
cmLocalGenerator: Add GetProjectName method.
c8187f41
cmCPluginAPI: Inline code to get project name.
8c6e6dd3
cmMakefile: Inline initialization of project name.
27916f2c
cmLocalGenerator: Add cmake instance accessor.
2015-10-12 10:26:15 -04:00
Stephen Kelly
a367416cec
cmLocalGenerator: Add current source directory accessor.
2015-10-10 11:04:39 +02:00
Stephen Kelly
bbef3c2da8
cmLocalGenerator: Add current binary directory accessor.
2015-10-10 11:04:39 +02:00
Stephen Kelly
c99b6cefbe
cmLocalGenerator: Devirtualize method.
2015-10-09 00:03:40 +02:00
Stephen Kelly
12cb3bdce4
cmLocalGenerator: Add Home directory accessors.
...
Reduce reasons for cmLocalGenerator to have a cmMakefile.
2015-10-09 00:00:19 +02:00
Stephen Kelly
4ab2750c54
cmLocalGenerator: Add GetProjectName method.
2015-10-09 00:00:18 +02:00
Stephen Kelly
27916f2cd1
cmLocalGenerator: Add cmake instance accessor.
2015-10-08 23:25:11 +02:00
Stephen Kelly
f7738fd122
cmLocalGenerator: Constify target in API.
2015-10-05 19:22:02 +02:00
Stephen Kelly
8bfff68642
cmLocalGenerator: Compute object max path on construction.
2015-09-24 09:39:39 +02:00
Brad King
e134e53b47
Add support for *.manifest source files with MSVC tools
...
Classify .manifest sources separately, add dependencies on them, and
pass them to the MS manifest tool to merge with linker-generated
manifest files.
Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
2015-09-17 10:21:32 -04:00
Brad King
9a6d7d2e54
Merge topic 'refactor-compute'
...
616d8f02
cmGeneratorTarget: Rename method to match operation.
ec56d244
cmGlobalGenerator: Process evaluation files after target depends.
1e5349a5
cmGlobalGenerator: Access makefile from makefiles container.
2015-08-31 09:48:30 -04:00
Stephen Kelly
616d8f02d5
cmGeneratorTarget: Rename method to match operation.
...
The manifest is computed, not generated, according to current language
used in cmake method naming.
2015-08-30 11:39:52 +02:00
Stephen Kelly
ff8ac8ee6a
cmLocalGenerator: Create from already-constructed cmMakefile.
...
Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
2015-08-28 18:44:39 +02:00
Stephen Kelly
9b6a743b80
cmLocalGenerator: Remove Parent pointer.
2015-08-28 18:44:38 +02:00
Stephen Kelly
867b5be8b8
cmLocalGenerator: Remove unused Children member.
2015-08-24 20:05:38 +02:00
Stephen Kelly
6c0e9ee276
cmMakefile: Store EvaluationFiles.
...
Relieve the cmGlobalGenerator of this responsibility. Evaluate
the generator expressions in the context of the cmLocalGenerator.
2015-08-01 13:07:11 +02:00
Stephen Kelly
bbad6ba537
cmLocalGenerator: Remove unused AddCustomCommandToCreateObject method.
2015-07-27 21:58:48 +02:00
Stephen Kelly
e4dc83ade5
cmLocalGenerator: Remove unused AddBuildTargetRule method.
2015-07-27 21:58:47 +02:00
Stephen Kelly
72f43fa13d
cmLocalGenerator: Remove CreateCustomTargetsAndCommands method.
...
It loops over cmGeneratorTargets, but at the point it is called, there are no
cmGeneratorTargets. This must be dead code.
2015-07-27 21:57:29 +02:00
Brad King
c736de7b28
Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables
...
Teach the Makefile and Ninja generators to substitute for an <INCLUDES>
placeholder instead of putting -I in <FLAGS>. Update our values for
CMAKE_<LANG>_COMPILE_OBJECT,
CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and
CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE
to place <INCLUDES> just before <FLAGS>.
2015-07-13 10:49:46 -04:00
Stephen Kelly
820986edff
cmLocalGenerator: Constify GetIncludeDirectories method.
2015-06-21 21:14:09 +02:00
Stephen Kelly
8bfaadfa39
cmMakefile: Move IsRoot API from cmLocalGenerator.
2015-06-21 21:14:05 +02:00
Stephen Kelly
eb05dcd6c9
cmLocalGenerator: Add IssueMessage method.
...
For use at generate-time instead of the cmMakefile method of the same name.
2015-06-21 20:17:59 +02:00
Stephen Kelly
0efe4944e1
cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method.
...
Fix generation of tgt/fast build targets.
Commit 363caa2f
(cmLocalGenerator: De-virtualize Configure().,
2015-05-30) moved the computation of HomeRelativeOutputPath from
Configure-time to Generate-time, because it is only used at
Generate-time. However, that commit caused the member for one
local generator to be computed immediately before generating with
that local generator, whereas previously the members of all local
generators were computed before generating any of them.
The HomeRelativeOutputPath is used by the GetRelativeTargetDirectory
method, which is called by the
cmGlobalUnixMakefileGenerator3::WriteConvenienceRules method. That
method is called by the
cmLocalUnixMakefileGenerator3::WriteLocalMakefile method when generating
for the top-most (ie, the first) local generator. At that point,
the HomeRelativeOutputPath is not yet computed.
Fix that by computing the member just before generating anything.
This will eventually be done in the cmLocalUnixMakefileGenerator3
constructor instead, but further refactoring is needed to make
that possible.
2015-06-13 08:38:27 +02:00
Stephen Kelly
22d09ecf33
cmLocalGenerator: Remove ConfigureFinalPass.
...
Call the cmMakefile implementation directly. This is a configure-time
construct.
2015-06-09 23:42:13 +02: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
f573bd22e4
cmLocalGenerator: Add Feature API from cmMakefile.
2015-06-06 15:44:17 +02:00
Stephen Kelly
6d7abb6326
cmOutputConverter: Extract from cmLocalGenerator.
...
The Convert methods never belonged to the local generator concept, so
split them out now. The cmOutputConverter is cheap to construct and
destroy, so it can be instantiated where needed to perform
conversions. This will allow further decoupling of cmLocalGenerator
from the configure step.
Inherit cmLocalGenerator from cmOutputConverter for the purpose of
source compatibility.
2015-06-06 09:15:55 +02: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
0863797037
cmLocalGenerator: ComputeObjectMaxPath just before generating.
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
363caa2fa5
cmLocalGenerator: De-virtualize Configure().
...
The generators that override it do so in order to populate
data members which can instead be populated in Generate().
2015-06-04 09:06:40 -04:00
Stephen Kelly
6e570f857a
cmLocalGenerator: Remove 'optional' parameter from Convert.
...
Port callers away from it.
2015-06-04 09:06:09 -04:00
Stephen Kelly
3d8c6cd964
cmLocalGenerator: Remove obsolete method.
2015-06-03 11:44:26 -04:00