Tim Grothe
247c168b98
Refactor `.def` file lookup
...
Return a `cmSourceFile const*` from GetModuleDefinitionFile so that
callers can get more information than just the path to the file.
2015-11-04 09:15:14 -05:00
Stephen Kelly
4bc65d76f1
Makefiles: Port to cmGeneratorTarget.
2015-10-24 09:19:53 +02:00
Stephen Kelly
4c41e74da5
Use cmLocalGenerator at generate-time.
2015-10-24 09:19:53 +02:00
Stephen Kelly
18046bd50a
cmCommonTargetGenerator: Use NameResolvesToFramework without cmTarget.
2015-10-21 00:52:22 +02:00
Stephen Kelly
311018e5ad
cmGeneratorTarget: Move GetExportMacro from cmTarget.
2015-10-21 00:52:22 +02:00
Stephen Kelly
3e8ef64273
cmLocalGenerator: Port some API to cmGeneratorTarget.
2015-10-17 17:30:38 +02:00
Stephen Kelly
cfb2f7508a
Use cmGeneratorTarget for property access.
2015-10-17 17:30:38 +02:00
Stephen Kelly
fb4fca0b5e
cmGeneratorTarget: Access global state through LocalGenerator.
2015-10-16 20:24:43 +02:00
Brad King
f13521317a
Merge topic 'clean-up-cmTarget'
...
55474e61
cmState: Move GetTargetTypeName from cmTarget.
38df5c36
Remove now-obsolete casts.
4ee2b267
cmGeneratorTarget: Use enum for GetType.
eac15298
cmState: Move TargetType enum from cmTarget.
482b3811
cmTarget: Move link type enum out.
2ee1cb85
cmTarget: Move ImportInfoMap out of internal class.
a48bcabd
cmTarget: Move backtrace member out of internal class.
6694d993
cmTarget: Remove unneeded constructors.
983c00f8
Generators: Use GetType from the cmGeneratorTarget.
2015-10-16 09:35:34 -04:00
Stephen Kelly
eac15298a8
cmState: Move TargetType enum from cmTarget.
...
Mostly automated:
values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType")
for i in "${values[@]}"; do git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
2015-10-15 00:41:39 +02:00
Stephen Kelly
7f5ec9f109
cmLocalGenerator: Port GetTargetDirectory to cmGeneratorTarget.
2015-10-15 00:33:12 +02:00
Stephen Kelly
763f7b19fc
cmCommonTargetGenerator: Port implementation detail to cmGeneratorTarget.
2015-10-12 18:39:58 +02:00
Stephen Kelly
c7645fca12
cmComputeLinkInformation: Port data interface to cmGeneratorTarget.
2015-10-12 18:39:58 +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
Stephen Kelly
803a7982b4
cmGeneratorTarget: Move GetLinkInformation from cmTarget
2015-08-05 18:20:44 +02:00
Brad King
e90372a0db
cmCommonTargetGenerator: Factor out Fortran module directory computation
...
Move computation from GetFortranModuleDirectory to a virtual method
so it can be customized for each type of generator.
2015-07-29 13:37:54 -04:00
Brad King
70c21301b2
cmCommonTargetGenerator: Store working directory for relative paths
...
The Makefile generators run tools with the current working directory set
to the subdirectory of the build tree for the each target. The Ninja
generator runs tools with the current working directory set to the top
of the build tree. Tell cmCommonTargetGenerator where the working
directory will be so it can compute proper relative paths.
2015-07-29 13:20:03 -04:00
Brad King
7371d8f3b4
cmCommonTargetGenerator: Return string from GetFortranModuleDirectory
2015-07-29 13:18:46 -04:00
Brad King
6d79eda769
cmCommonTargetGenerator: Adopt linked target directory computation
...
Factor a GetLinkedTargetDirectories method out of
cmMakefileTargetGenerator::WriteTargetDependRules to compute the list of
directories associated with targets to which the current target links.
2015-07-28 15:40:06 -04: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
Brad King
eacacacdce
cmCommonTargetGenerator: Adopt GetDefines method
...
Move the member up from cmMakefileTargetGenerator so it can be re-used
later by cmNinjaTargetGenerator.
2015-07-09 10:10:25 -04:00
Brad King
0837538e46
cmCommonTargetGenerator: Adopt GetFlags method
...
De-duplicate per-target flag computation in Makefile and Ninja target
generators.
2015-07-09 10:06:24 -04:00
Brad King
058074d499
cmCommonTargetGenerator: Adopt GetFrameworkFlags
...
Move the member up from cmMakefileTargetGenerator.
2015-07-09 09:50:07 -04:00
Brad King
ab8240189d
cmCommonTargetGenerator: Adopt AppendFortranFormatFlags
...
Move up from cmMakefileTargetGenerator.
2015-07-09 09:50:07 -04:00
Brad King
0b22c0b815
cmCommonTargetGenerator: Adopt AddFortranFlags and friends
...
Move AddFortranFlags, GetFortranModuleDirectory, and supporting members
up from cmMakefileTargetGenerator.
2015-07-09 09:50:07 -04:00
Brad King
b2f51aef0d
cmCommonTargetGenerator: Adopt Convert method
...
Move it up from cmMakefileTargetGenerator.
2015-07-09 09:50:06 -04:00
Brad King
cdb5b65752
cmCommonTargetGenerator: Adopt ModuleDefinitionFile member
...
De-duplicate the ModuleDefinitionFile and AddModuleDefinitionFlag
members from the Makefile and Ninja target generators.
2015-07-09 09:50:06 -04:00
Brad King
beee793732
cmCommonTargetGenerator: Adopt GetFeature and friends
...
De-duplicate the GetFeature, GetFeatureAsBool, and AddFeatureFlags
members from the Makefile and Ninja target generators.
2015-07-09 09:50:06 -04:00
Brad King
abfa5f2d1f
cmCommonTargetGenerator: Adopt ConfigName member
...
De-duplicate the member from the Makefile and Ninja target generators.
2015-07-09 09:50:06 -04:00
Brad King
e7dcdd1011
cmCommonTargetGenerator: Adopt basic target generator members
...
De-duplicate the GeneratorTarget, Target, and Makefile members from the
local Makefile and Ninja generators.
2015-07-09 09:50:05 -04:00
Brad King
001f9b3617
Add common base classes to Makefile and Ninja generators
...
Provide a place to move functionality common to both.
2015-07-09 09:50:05 -04:00