Stephen Kelly
bf2d061ad3
cmGeneratorTarget: Move FindTargetToLink from cmTarget.
2015-10-12 18:39:58 +02:00
Stephen Kelly
9ca4cae51e
cmGeneratorTarget: Move GetUtilityItems from cmTarget.
2015-10-12 18:39:58 +02:00
Stephen Kelly
3e428fdcb4
cmGeneratorTarget: Move IsImportedSharedLibWithoutSOName from cmTarget.
2015-10-10 11:03:48 +02:00
Stephen Kelly
110fd2fba1
cmGeneratorTarget: Move GetOutputTargetType from cmTarget.
2015-10-10 11:03:48 +02:00
Stephen Kelly
e73916992c
cmGeneratorTarget: Move HasMacOSXRpathInstallNameDir from cmTarget.
2015-10-10 11:03:48 +02:00
Stephen Kelly
c5718217ad
cmGeneratorTarget: Move HaveInstallTreeRPATH from cmTarget.
2015-10-09 01:04:38 +02:00
Stephen Kelly
bf5eb4a3f3
cmGeneratorTarget: Move ComputePDBOutputDir from cmTarget.
2015-10-09 01:04:38 +02:00
Stephen Kelly
49017cddab
cmGeneratorTarget: Move IsNullImpliedByLinkLibraries from cmTarget.
2015-10-09 01:04:38 +02:00
Stephen Kelly
0bae4a416f
cmGeneratorTarget: Move output info from cmTarget.
2015-10-09 01:04:38 +02:00
Stephen Kelly
1abc20d81d
cmGeneratorTarget: Move UsesDefaultOutputDir from cmTarget.
2015-10-09 01:04:38 +02:00
Stephen Kelly
50dc9b4440
cmGeneratorTarget: Move GetPDBDirectory from cmTarget.
2015-10-09 01:04:37 +02:00
Stephen Kelly
8b0168863e
cmGeneratorTarget: Move GetDirectory from cmTarget.
2015-10-09 01:04:37 +02:00
Stephen Kelly
e0261a1e20
cmTarget: Make OutputInfo definition public.
2015-10-08 23:41:30 +02:00
Stephen Kelly
df42dbb355
cmGeneratorTarget: Move link implementation from cmTarget.
2015-10-08 23:41:29 +02:00
Stephen Kelly
a8429a402d
cmTarget: Split storage of link implementation from backtraces.
2015-10-08 23:41:29 +02:00
Stephen Kelly
af71c7b479
cmTarget: Remove Compute method.
2015-10-07 20:17:55 +02:00
Stephen Kelly
dce6581b7b
cmGeneratorTarget: Move computed sources from cmTarget.
2015-10-07 08:37:58 +02:00
Stephen Kelly
7b6dc0fe45
cmGeneratorTarget: Inline GetSourceFiles from cmTarget.
2015-10-07 08:37:58 +02:00
Stephen Kelly
da1b0449d9
cmTarget: Remove a conditional for generate-time source addition.
...
It is not really necessary.
2015-10-07 08:37:57 +02:00
Stephen Kelly
fe113f0fd4
cmTarget: Split storage of sources from genexes.
2015-10-07 08:37:57 +02:00
Stephen Kelly
776ff8eb0b
cmTarget: Add Compute API for sources.
...
This method is a refactoring artifact. It will be removed in a
follow-up.
2015-10-07 08:37:57 +02:00
Stephen Kelly
64f73150b8
cmTarget: Add API for generate-time source addition.
...
This method is a refactoring artifact. It will be removed in a
follow-up.
2015-10-07 08:37:57 +02:00
Stephen Kelly
01e666c70e
cmTarget: Join strings conditionally.
2015-10-06 20:16:20 +02:00
Chuck Atkins
9784af1b50
CMP0065: Restrict the use of CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS
...
This new policy restricts the addition of the shared library link flags
to executables only when the ENABLE_EXPORTS property is set to True.
2015-09-21 10:12:13 -04:00
Stephen Kelly
2514e4265c
CMP0026: Use compatibility codepath until configure is finished ( #15748 )
...
Use it instead of the similar cmMakefile API. It is necessary to
know that the Configure step is completely done, not just that one
particular cmMakefile is finished configuring.
Prior to commit 611220f7
(cmTarget: Use reliable test for CMP0024 and CMP0026
OLD., 2015-07-25), this was determined by checking whether cmGeneratorTargets
exist yet, which happens after the Configure step.
2015-09-18 20:49:00 +02:00
Stephen Kelly
08ce3f486e
cmTarget: Only append non-empty values to buildsystem properties.
...
This is a change in behavior from CMake 3.3, but there is no semantic meaning
to empty entries in buildsystem properties. This also restores behavior to
that of CMake 2.8.10.
2015-09-11 18:30:46 +02:00
Brad King
407ff47eca
cmTarget: Fix memory leak when SOURCES property is cleared
2015-09-03 06:52:36 -04:00
Brad King
cf74fc24d4
cmTarget: Fix buildsystem property empty value set and append operations
...
Refactoring in commit 1f54bc1c
(cmTarget: Split storage of include
directories from genexes, 2015-08-04), commit 772ecef4
(cmTarget: Split
storage of compile options from genexes, 2015-08-04), commit 44e071ae
(cmTarget: Split storage of compile features from genexes, 2015-08-04),
and commit 197f4de1
(cmTarget: Split storage of compile definitions from
genexes, 2015-08-04) failed to account for value==NULL in SetProperty
and AppendProperty methods.
2015-09-03 06:52:36 -04:00
Brad King
dd2b88777f
Merge topic 'fix-ios-install'
...
ad262917
Xcode: Add unit test for iOS project install (#12506 )
48fe617e
Fix installation of iOS targets (#12506 )
d2c2319d
Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos
2015-09-01 09:53:30 -04:00
Brad King
27e4b21dfa
Merge topic 'use-generator-target'
...
c2b7336f
cmGeneratorTarget: Move GetConfigCommonSourceFiles from cmTarget.
69329fff
cmGeneratorTarget: Move GetLanguages from cmTarget.
0431f2c4
cmGeneratorTarget: Move ComputeLinkImplementationLanguages from cmTarget.
abe9505d
cmGeneratorTarget: Move HaveBuildTreeRPath from cmTarget.
d4a24c0e
cmGeneratorTarget: Move GetLinkImplementation from cmTarget.
83981cf5
cmTarget: Add GetLinkImplMap method.
771e79a2
cmLinkItem: Add cmOptionalLinkImplementation type.
3846ebcf
cmLinkItem: Add cmLinkImplementation type.
a7f5d70d
cmGeneratorTarget: Move compile defintions processing from cmTarget.
d051086c
cmGeneratorTarget: Move compile features processing from cmTarget.
db4cb92b
cmGeneratorTarget: Move compile options processing from cmTarget.
e6ccbf6f
cmGeneratorTarget: Move include directory processing from cmTarget.
8bfb0c53
cmGeneratorTarget: Move link iface helpers from cmTarget.
2cb3e574
cmGeneratorTarget: Move GetImportLinkInterface from cmTarget.
6d3d099b
cmGeneratorTarget: Move ComputeLinkInterfaceLibraries from cmTarget.
0db9d927
cmGeneratorTarget: Move GetLinkInterfaceLibraries from cmTarget.
...
2015-08-27 10:07:32 -04:00
Stephen Kelly
c2b7336ff3
cmGeneratorTarget: Move GetConfigCommonSourceFiles from cmTarget.
2015-08-26 19:46:33 +02:00
Stephen Kelly
69329fff70
cmGeneratorTarget: Move GetLanguages from cmTarget.
2015-08-26 19:46:32 +02:00
Stephen Kelly
0431f2c4d7
cmGeneratorTarget: Move ComputeLinkImplementationLanguages from cmTarget.
2015-08-26 19:46:32 +02:00
Stephen Kelly
abe9505df9
cmGeneratorTarget: Move HaveBuildTreeRPath from cmTarget.
2015-08-26 19:46:32 +02:00
Stephen Kelly
d4a24c0e95
cmGeneratorTarget: Move GetLinkImplementation from cmTarget.
2015-08-26 19:46:32 +02:00
Stephen Kelly
83981cf593
cmTarget: Add GetLinkImplMap method.
...
This is a temporary refactoring artifact.
2015-08-26 19:46:31 +02:00
Stephen Kelly
771e79a2bf
cmLinkItem: Add cmOptionalLinkImplementation type.
...
Move the associated Compute* methods to the cmTarget class.
2015-08-26 19:46:31 +02:00
Stephen Kelly
3846ebcf2b
cmLinkItem: Add cmLinkImplementation type.
2015-08-26 19:46:31 +02:00
Stephen Kelly
a7f5d70dde
cmGeneratorTarget: Move compile defintions processing from cmTarget.
2015-08-26 19:46:30 +02:00
Stephen Kelly
d051086cce
cmGeneratorTarget: Move compile features processing from cmTarget.
2015-08-26 19:46:10 +02:00
Stephen Kelly
db4cb92bda
cmGeneratorTarget: Move compile options processing from cmTarget.
2015-08-26 19:45:51 +02:00
Stephen Kelly
e6ccbf6f30
cmGeneratorTarget: Move include directory processing from cmTarget.
2015-08-26 19:45:21 +02:00
Stephen Kelly
8bfb0c53da
cmGeneratorTarget: Move link iface helpers from cmTarget.
2015-08-26 19:39:29 +02:00
Stephen Kelly
2cb3e57402
cmGeneratorTarget: Move GetImportLinkInterface from cmTarget.
2015-08-26 19:39:17 +02:00
Stephen Kelly
6d3d099b4a
cmGeneratorTarget: Move ComputeLinkInterfaceLibraries from cmTarget.
2015-08-26 19:38:57 +02:00
Stephen Kelly
0db9d92787
cmGeneratorTarget: Move GetLinkInterfaceLibraries from cmTarget.
2015-08-26 19:38:37 +02:00
Stephen Kelly
84b847e42f
cmGeneratorTarget: Move ComputeLinkInterface from cmTarget.
2015-08-26 19:38:14 +02:00
Stephen Kelly
6220241fd0
cmGeneratorTarget: Move GetLinkInterface from cmTarget.
2015-08-26 19:37:45 +02:00
Stephen Kelly
6353816786
cmTarget: Add GetHeadToLinkInterfaceMap methods.
2015-08-26 19:37:32 +02:00
Stephen Kelly
20993de464
cmTarget: Move cmHeadToLinkInterfaceMap out.
2015-08-26 19:37:06 +02:00
Stephen Kelly
f8ca51a054
cmGeneratorTarget: Move ComputeLinkInterface from cmTarget.
2015-08-26 19:36:13 +02:00
Stephen Kelly
d67584ccc4
cmTarget: Move link interface libraries struct out.
2015-08-26 19:35:45 +02:00
Stephen Kelly
e35ee02d6e
cmTarget: Fix indentation.
2015-08-25 23:06:33 +02:00
Gregor Jasny
48fe617e66
Fix installation of iOS targets ( #12506 )
...
Since cmTarget::ComputeOutputDir results can be used in CMake code of script
cmake_install.cmake and in Xcode internals, string ${EFFECTIVE_PLATFORM_NAME}
should be used instead of $(EFFECTIVE_PLATFORM_NAME) because it works for both.
Value of CMAKE_CFG_INTDIR can't be used in BUILD_TYPE argument of install
command since it contains $(EFFECTIVE_PLATFORM_NAME) (e.g. equals to
`Release-iphoneos`, `Debug-iphoneos`, etc.).
2015-08-25 21:53:51 +02:00
Gregor Jasny
d2c2319d64
Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos
...
Currently the CMAKE_XCODE_EFFECTIVE_PLATFORMS property acts only as
a kind of toggle switch to enable iOS project layout features.
But instead of relying on this undocumented property, better detect
the presence of an iOS SDK directly.
2015-08-25 21:53:51 +02:00
Brad King
a07d16085b
Merge topic 'OUTPUT_DIRECTORY-genex'
...
d25819bc
Add generator expression support to OUTPUT_DIRECTORY target properties
e36a05fd
cmTarget: Detect and diagnose recursion in GetOutputInfo
2015-08-13 10:38:54 -04:00
Chuck Atkins
675ef165f2
Allow LINK_SEARCH_{START,END}_STATIC props to have default values.
...
Use the CMAKE_LINK_SEARCH_START_STATIC and CMAKE_LINK_SEARCH_END_STATIC
variables to initialize the LINK_SEARCH_START_STATIC and
LINK_SEARCH_END_STATIC target properties respectively.
2015-08-13 10:34:44 -04:00
Robert Goulet
d25819bc26
Add generator expression support to OUTPUT_DIRECTORY target properties
...
If {ARCHIVE,LIBRARY,RUNTIME}_OUTPUT_DIRECTORY is set with a genex then
do not add the per-config subdirectory on multi-config generators.
This will allow projects to use $<CONFIG> to place the per-config
part of the directory path somewhere other than the end.
2015-08-12 13:43:00 -04:00
Robert Goulet
e36a05fd7f
cmTarget: Detect and diagnose recursion in GetOutputInfo
2015-08-12 13:42:57 -04:00
Gregor Jasny
8c076a8bdb
cmTarget: Remove unused AddSystemIncludeDirectories overload
2015-08-11 08:53:38 -04:00
Stephen Kelly
29886ce764
cmTarget: Use a simpler delete algorithm.
...
This way, the methods can be moved without requiring a local algorithm.
The containers use automatic storage.
2015-08-07 21:55:17 +02:00
Stephen Kelly
197f4de110
cmTarget: Split storage of compile definitions from genexes.
2015-08-07 17:06:19 +02:00
Stephen Kelly
44e071aeff
cmTarget: Split storage of compile features from genexes.
2015-08-07 17:06:18 +02:00
Stephen Kelly
772ecef4b8
cmTarget: Split storage of compile options from genexes.
2015-08-07 17:06:17 +02:00
Stephen Kelly
1f54bc1cf3
cmTarget: Split storage of include directories from genexes.
2015-08-07 17:06:15 +02:00
Stephen Kelly
7568199b4d
cmTarget: Request only the link libraries where needed.
2015-08-07 17:06:15 +02:00
Stephen Kelly
10040601a2
cmLinkImplementationLibraries: Move to namespace scope.
2015-08-07 00:51:49 +02:00
Stephen Kelly
f83e84028a
cmGeneratorTarget: Move CompileInfoMap from cmTarget.
2015-08-05 18:20:50 +02:00
Stephen Kelly
b3f0e35308
cmGeneratorTarget: Move GetCompilePDBDirectory from cmTarget.
2015-08-05 18:20:50 +02:00
Stephen Kelly
34c437411d
cmGeneratorTarget: Move GetOutputName from cmTarget.
2015-08-05 18:20:50 +02:00
Stephen Kelly
ee26add4f4
cmGeneratorTarget: Move IsBundleOnApple from cmTarget.
2015-08-05 18:20:49 +02:00
Stephen Kelly
f8076644ce
cmGeneratorTarget: Move GetLinkClosure from cmTarget.
2015-08-05 18:20:49 +02:00
Stephen Kelly
7c809fa2a6
cmGeneratorTarget: Move GetLinkerLanguage from cmTarget.
2015-08-05 18:20:48 +02:00
Stephen Kelly
6da99de323
cmGeneratorTarget: Move GetFrameworkDirectory from cmTarget.
2015-08-05 18:20:48 +02:00
Stephen Kelly
d6bb319b09
cmGeneratorTarget: Move GetFullName from cmTarget.
...
Bring GetFullNameInternal with it.
2015-08-05 18:20:48 +02:00
Stephen Kelly
7a460852fa
cmGeneratorTarget: Move GetAppBundleDirectory from cmTarget.
2015-08-05 18:20:48 +02:00
Stephen Kelly
d560bfd273
cmGeneratorTarget: Move GetInstallNameDir* from cmTarget.
2015-08-05 18:20:47 +02:00
Stephen Kelly
89e2a080e9
cmGeneratorTarget: Move GetMacContentDirectory from cmTarget.
2015-08-05 18:20:47 +02:00
Stephen Kelly
62720e44be
cmGeneratorTarget: Move GetFullNameComponents from cmTarget.
2015-08-05 18:20:47 +02:00
Stephen Kelly
e27d737e27
cmGeneratorTarget: Move IsChrPathUsed from cmTarget.
2015-08-05 18:20:47 +02:00
Stephen Kelly
8d2de00244
cmGeneratorTarget: Move NeedRelinkBeforeInstall from cmTarget.
2015-08-05 18:20:47 +02:00
Stephen Kelly
3df705681b
cmGeneratorTarget: Move GetPDBName from cmTarget.
2015-08-05 18:20:46 +02:00
Stephen Kelly
a45fed81e5
cmGeneratorTarget: Move GetCompilePDBPath from cmTarget.
2015-08-05 18:20:46 +02:00
Stephen Kelly
f0aa660772
cmGeneratorTarget: Move HasSOName from cmTarget.
2015-08-05 18:20:46 +02:00
Stephen Kelly
766839c56d
cmGeneratorTarget: Move GetLibraryNames from cmTarget.
2015-08-05 18:20:46 +02:00
Stephen Kelly
47803e6f8e
cmGeneratorTarget: Move GetExecutableNames from cmTarget.
2015-08-05 18:20:46 +02:00
Stephen Kelly
7da4c9d4ed
cmGeneratorTarget: Move GetLinkImplementationClosure
2015-08-05 18:20:45 +02:00
Stephen Kelly
97f10e488a
cmGeneratorTarget: Move ReportPropertyOrigin from cmTarget.
2015-08-05 18:20:45 +02:00
Stephen Kelly
5ff813c7a6
cmGeneratorTarget: Move LinkInterfaceDependent methods from cmTarget.
2015-08-05 18:20:45 +02:00
Stephen Kelly
90bad039c4
cmGeneratorTarget: Move CheckPropertyCompatibility from cmTarget.
2015-08-05 18:20:44 +02:00
Stephen Kelly
803a7982b4
cmGeneratorTarget: Move GetLinkInformation from cmTarget
2015-08-05 18:20:44 +02:00
Stephen Kelly
244c5b5dcd
cmGeneratorTarget: Move IsLinkInterfaceDependent* from cmTarget.
2015-08-05 18:20:44 +02:00
Stephen Kelly
12bc571c13
cmGeneratorTarget: Move GetAutoUicOptions from cmTarget.
2015-08-05 18:20:43 +02:00
Stephen Kelly
41abdc17df
cmGeneratorTarget: Move GetSOName from cmTarget..
2015-08-05 18:20:43 +02:00
Brad King
98d6e9ec2d
Merge topic 'use-generator-target'
...
57f03e59
Port some of the cmExportFileGenerator API to cmGeneratorTarget.
57ab0f70
Port cmExportBuildFileGenerator to cmGeneratorTarget.
570938cb
cmExportTryCompileFileGenerator: Create cmGeneratorTargets.
ec38e4c8
Move GetFullPath to cmGeneratorTarget
dfb025bf
Move GetLocationForBuild to cmGeneratorTarget.
9f2dca80
Move GetLocation to cmGeneratorTarget.
c7a8e74b
Always access target location from a cmGeneratorTarget instance.
5b60eaf6
cmTarget: Restore the ImportedGetLocation method.
50b17a61
cmIncludeCommand: Populate the cmGeneratorTargets in deprecated path.
ba266858
cmTarget: Create cmGeneratorTargets before reading deprecated LOCATION.
5ab3a946
cmTarget: Inline GetLocation into deprecated callers.
496f4cd0
cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc.
de80993a
cmGlobalGenerator: Create cmGeneratorTargets earlier.
611220f7
cmTarget: Use reliable test for CMP0024 and CMP0026 OLD.
bbad6ba5
cmLocalGenerator: Remove unused AddCustomCommandToCreateObject method.
e4dc83ad
cmLocalGenerator: Remove unused AddBuildTargetRule method.
...
2015-07-28 10:08:50 -04:00
Stephen Kelly
ec38e4c84f
Move GetFullPath to cmGeneratorTarget
2015-07-27 21:59:02 +02:00
Stephen Kelly
dfb025bf12
Move GetLocationForBuild to cmGeneratorTarget.
2015-07-27 21:58:50 +02:00
Stephen Kelly
9f2dca805c
Move GetLocation to cmGeneratorTarget.
2015-07-27 21:58:50 +02:00
Stephen Kelly
5b60eaf619
cmTarget: Restore the ImportedGetLocation method.
...
It was removed in commit f154475b
(cmTarget: Refactor GetLocation
API, 2014-03-08), but it is more readable for targets we know are
imported.
2015-07-27 21:58:50 +02:00
Stephen Kelly
ba26685882
cmTarget: Create cmGeneratorTargets before reading deprecated LOCATION.
...
The intention is to move generation-semantic cmTarget API to cmGeneratorTarget
and then use the latter for generator expressions.
This means that each time we read a deprecated LOCATION property, we have to
clear and re-populate the container. That must be done each time because the
result can change through the configure process, which is why this is
deprecated in the first place.
2015-07-27 21:58:49 +02:00