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