Commit Graph

19204 Commits

Author SHA1 Message Date
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
Kitware Robot 33df7f36d0 CMake Nightly Date Stamp 2015-08-26 00:01:07 -04:00
Stephen Kelly 7f551b4f26 cmGlobalGenerator: Implement VS6 check without virtual method.
Don't require existence of a global generator for this check.
2015-08-25 23:06:33 +02:00
Stephen Kelly cd6293cdf8 cmMakefile: Fix style. 2015-08-25 23:06:33 +02:00
Stephen Kelly de6b289582 cmTarget: Remove vestigal method declaration.
The definition was removed in commit v3.1.0-rc1~688^2~5 (cmTarget:
Allow any generator expression in SOURCES property., 2014-03-18).
2015-08-25 23:06:33 +02:00
Stephen Kelly e35ee02d6e cmTarget: Fix indentation. 2015-08-25 23:06:33 +02:00
Stephen Kelly 00f2298f07 Reduce uses of cmMakefile::GetGlobalGenerator.
Don't assume the cmMakefile has a global generator.
2015-08-25 23:06:33 +02:00
Stephen Kelly 6254ba9578 cmMakefile: Remove Internal class.
Move only remaining state to the direct class.
2015-08-25 22:19:57 +02:00
Stephen Kelly cf0a78dc4c cmGeneratorTarget: Issue messages through the local generator. 2015-08-25 22:18:39 +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 cdb9984bff Merge topic 'consistent-empty'
e876963f Replace '0 == instances.size()' with instances.empty().
44ffb9cd Replace foo.size() pattern with !foo.empty().
8f89f8b1 Replace 'foo.size() != 0' pattern with !foo.empty().
524610f9 Replace 'foo.size() == 0' pattern with foo.empty().
0e14c7ee Replace 'foo.size() > 0' pattern with !foo.empty().
2015-08-25 15:13:33 -04:00
Brad King 96dafff97f Merge topic 'libarchive-modern-apis'
e7f93715 Use modern libarchive APIs
2015-08-25 15:13:31 -04:00
Brad King 9aeee9c608 Merge topic 'cmState-prop_dir'
f4150bd8 cmState: Move directory Properties from cmMakefile.
01787547 cmMakefile: Inline GetDefinitions into GetProperty.
2015-08-25 15:13:23 -04:00
Stephen Kelly 637c56b4e0 cmGlobalGenerator: Implement FillProjectMap in terms of cmState. 2015-08-25 19:57:44 +02:00
Stephen Kelly b3f2299e06 cmState: Move ProjectName from cmMakefile. 2015-08-25 19:57:42 +02:00
Stephen Kelly 6ce940ac97 cmMakefile: Use std::string in ProjectName API. 2015-08-25 19:55:34 +02:00
Stephen Kelly e8c0341d86 cmMakefile: Out-of-line GetProjectName. 2015-08-25 19:55:32 +02:00
Kitware Robot a8f8848241 CMake Nightly Date Stamp 2015-08-25 00:01:07 -04:00
Stephen Kelly e876963fc9 Replace '0 == instances.size()' with instances.empty().
This is not a pattern.
2015-08-24 20:47:18 +02:00
Stephen Kelly 44ffb9cdb4 Replace foo.size() pattern with !foo.empty(). 2015-08-24 20:47:18 +02:00
Stephen Kelly 8f89f8b1e9 Replace 'foo.size() != 0' pattern with !foo.empty(). 2015-08-24 20:47:17 +02:00
Stephen Kelly 524610f967 Replace 'foo.size() == 0' pattern with foo.empty(). 2015-08-24 20:47:17 +02:00
Stephen Kelly 0e14c7ee63 Replace 'foo.size() > 0' pattern with !foo.empty(). 2015-08-24 20:47:17 +02:00
Brad King ddb7f280ce Merge topic 'drop-cmsys-std-layer'
04e708d8 Remove use of include <cmsys/IOStream.hxx> from KWSys
e8585f45 Remove use of include <cmsys/stl/*> and cmsys_stl::*
6db713c0 Remove use of include <cmsys/ios/*> and cmsys_ios::*
2015-08-24 14:28:43 -04:00
Stephen Kelly 867b5be8b8 cmLocalGenerator: Remove unused Children member. 2015-08-24 20:05:38 +02:00
Stephen Kelly 6c832219ea cmLocalGenerator: Implement child traversal in terms of cmState. 2015-08-24 20:05:37 +02:00
Stephen Kelly 3fcf383763 Makefiles: Remove valueless cast. 2015-08-24 20:05:37 +02:00
Stephen Kelly 223f4a662f cmLocalGenerator: Simplify condition. 2015-08-24 20:05:37 +02:00
Stephen Kelly ae026f5458 cmState: Store Children states in parent state. 2015-08-24 20:05:37 +02:00
Stephen Kelly e3078aa153 cmLocalGenerator: Implement GetFeature in terms of cmState. 2015-08-24 20:04:37 +02:00
Stephen Kelly 7441fde34a cmLocalGenerator: Convert GetFeature recursion to loop. 2015-08-24 20:04:37 +02:00
Stephen Kelly ad0b0089ab cmLocalGenerator: Simplify GetFeature implementation. 2015-08-24 20:04:37 +02:00
Stephen Kelly 314c9ae33b cmLocalGenerator: Make GetFeature tail-recursive. 2015-08-24 20:04:37 +02:00
Stephen Kelly 7fbc56ac40 cmGlobalUnixMakefileGenerator3: Implement progress in terms of cmState. 2015-08-24 20:03:30 +02:00
Stephen Kelly 65c434e1b0 cmGlobalUnixMakefileGenerator3: Inline an IsExcluded call. 2015-08-24 20:03:29 +02:00
Stephen Kelly be56feb618 cmGlobalGenerator: Extract new IsExcluded overload. 2015-08-24 20:03:29 +02:00
Stephen Kelly 45f5200396 cmGlobalGenerator: Implement IsExcluded in terms of cmState::Snapshot. 2015-08-24 20:03:29 +02:00
Stephen Kelly af9fc27753 cmState: Make Snapshot EqualityComparable. 2015-08-24 20:03:29 +02:00
Stephen Kelly 9b44018d52 cmGlobalGenerator: Convert IsExcluded to loop. 2015-08-24 20:03:29 +02:00
Stephen Kelly 5f05b56284 cmGlobalGenerator: Refactor IsExcluded.
Make it easier to convert it to a loop.
2015-08-24 20:03:29 +02:00
Stephen Kelly 95925a60fc cmGlobalGenerator: Don't use else after return. 2015-08-24 20:03:29 +02:00
Stephen Kelly f4150bd88d cmState: Move directory Properties from cmMakefile. 2015-08-24 20:02:21 +02:00
Stephen Kelly 0178754725 cmMakefile: Inline GetDefinitions into GetProperty.
It will soon move to cmState.
2015-08-24 19:48:45 +02:00
Páder Rezső e7f937155f Use modern libarchive APIs
Replace use of deprecated libarchive3 functions with their modern
equivalents.
2015-08-24 10:40:04 -04:00
Brad King 2370a99400 Merge topic 'cmState-definitions'
bff27391 cmState: Host variable definitions.
6954c893 cmState: Add a VariableScope snapshot type.
1fc645bd cmState: Add a Base snapshot type.
0f070dd3 cmMakefile: Decouple the container of cmDefinitions from scoping logic.
25e04ddf cmDefinitions: Implement in terms of cmLinkedTree.
4bbe261c cmMakefile: Extract InitializeVarScope method.
2015-08-24 10:07:04 -04:00
Brad King 58043880b9 Merge topic 'ios-app-bundle-layout'
744e6c49 Fix iOS Bundle layouts (#15669)
2015-08-24 10:07:02 -04:00
Brad King eeeb0eb751 Merge topic 'remove-unused-cmPolicies'
d8a57148 cmake: Remove unused cmPolicies member.
2015-08-24 10:07:00 -04:00
Brad King d5d86ecf50 Merge topic 'refactor-progress'
3fa1b964 cmGlobalUnixMakefileGenerator3: Change the progress container key.
55e39276 cmState: Make it possible to order cmState::Snapshot.
04168cbb cmGlobalUnixMakefileGenerator3: Rename member.
2394584c cmGlobalGenerator: Rename progress initializer method.
b9eb3cd1 cmGlobalGenerator: Move LG to target map to subclass.
f5d2b7a6 cmGlobalGenerator: Remove clearance of map.
2015-08-24 10:06:58 -04:00
Brad King 9135e3707d Merge topic 'generators-use-cmLocalGenerator'
1f39ee5b cmInstallExportGenerator: Require cmLocalGenerator, not cmMakefile.
c259b830 cmTestGenerator: Require cmLocalGenerator, not cmMakefile.
75e511ee cmInstallFilesGenerator: Require cmLocalGenerator, not cmMakefile.
2015-08-24 10:06:56 -04:00
Brad King aaf9532bbc Merge topic 'fix-include_directories-BEFORE'
a4bd3010 include_directories: Fix regression in BEFORE option (#15693)
2015-08-24 10:06:54 -04:00
Gregor Jasny 744e6c497c Fix iOS Bundle layouts (#15669)
In contrast to Mac OS X App bundle layout the iOS one lacks the
Contents/MacOSX structure.  See also the Bundle Structures documentation
in Mac Developer Library:

  https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html

For now detect iOS targets by checking the SDK name/path.
2015-08-24 09:50:20 -04:00
Kitware Robot 884c63176f CMake Nightly Date Stamp 2015-08-24 00:01:06 -04:00
Stephen Kelly bff27391a9 cmState: Host variable definitions. 2015-08-23 19:05:11 +02:00
Stephen Kelly d8a5714839 cmake: Remove unused cmPolicies member.
heaptrack showed a 1 byte allocation with the backtrace pointing
here, as is the case since commit v3.3.0-rc1~112^2~5 (cmPolicies:
Remove unused cmPolicy class., 2015-05-03)
2015-08-23 18:28:01 +02:00
Stephen Kelly 3fa1b9641d cmGlobalUnixMakefileGenerator3: Change the progress container key. 2015-08-23 18:05:13 +02:00
Stephen Kelly 55e3927634 cmState: Make it possible to order cmState::Snapshot. 2015-08-23 18:05:13 +02:00
Stephen Kelly 04168cbb59 cmGlobalUnixMakefileGenerator3: Rename member. 2015-08-23 18:05:13 +02:00
Stephen Kelly 2394584ce2 cmGlobalGenerator: Rename progress initializer method. 2015-08-23 18:05:13 +02:00
Stephen Kelly b9eb3cd140 cmGlobalGenerator: Move LG to target map to subclass.
This is the only user.
2015-08-23 18:05:01 +02:00
Stephen Kelly f5d2b7a694 cmGlobalGenerator: Remove clearance of map.
It is always cleared before being re-populated.
2015-08-23 17:49:11 +02:00
Stephen Kelly 1f39ee5beb cmInstallExportGenerator: Require cmLocalGenerator, not cmMakefile. 2015-08-23 17:46:23 +02:00
Stephen Kelly c259b83026 cmTestGenerator: Require cmLocalGenerator, not cmMakefile. 2015-08-23 17:46:07 +02:00
Stephen Kelly 75e511eeaf cmInstallFilesGenerator: Require cmLocalGenerator, not cmMakefile. 2015-08-23 17:21:27 +02:00
Stephen Kelly 6954c8936f cmState: Add a VariableScope snapshot type.
Match the scopes currently used in cmMakefile for definitions.
2015-08-23 17:08:54 +02:00
Stephen Kelly 1fc645bd9c cmState: Add a Base snapshot type.
For completeness mostly.
2015-08-23 17:08:54 +02:00
Stephen Kelly 0f070dd3e1 cmMakefile: Decouple the container of cmDefinitions from scoping logic.
Maintain a Parent tree node for writing to in RaiseScope.
2015-08-23 17:08:53 +02:00
Stephen Kelly 25e04ddffe cmDefinitions: Implement in terms of cmLinkedTree.
Store the definitions in a cmLinkedTree in the cmMakefile.  This can
be moved to cmState and then the tree will provide snapshotting
possibilities.  It will also make the Closure copy created at
the start of each cmMakefile unnecesarry.
2015-08-23 17:08:53 +02:00
Stephen Kelly 4bbe261cd3 cmMakefile: Extract InitializeVarScope method. 2015-08-23 17:08:53 +02:00
Kitware Robot b5f17d1b80 CMake Nightly Date Stamp 2015-08-23 00:01:06 -04:00
Kitware Robot 29c1385675 CMake Nightly Date Stamp 2015-08-22 00:01:07 -04:00
Brad King a4bd30104f include_directories: Fix regression in BEFORE option (#15693)
Refactoring in commit 6ed9c7e0 (cmState: Host buildsystem properties for
directories, 2015-07-18) broke include_directories(BEFORE).  Fix it and
add a test case.
2015-08-21 15:21:37 -04:00
Brad King 04e708d8df Remove use of include <cmsys/IOStream.hxx> from KWSys
We no longer need this compatibility layer for the compilers we support.
2015-08-21 10:54:57 -04:00
Brad King badde9c2a1 Merge topic 'modules-no-soname'
f799ffb5 Do not set SONAME for MODULE library targets (#15705)
899458ab Tests: Cover NO_SONAME property for SHARED libraries
2015-08-21 09:29:06 -04:00
Brad King c450686ef2 Merge topic 'OUTPUT_NAME-genex-no-recursion'
3c37d264 cmGeneratorTarget: Avoid recursion in GetOutputName method
2015-08-21 09:29:02 -04:00
Brad King cecd0d186d Merge topic 'vs-fix-obj-extension'
3e94f94b cmLocalVisualStudioGenerator: Use computed .obj extension (#13685)
2015-08-21 09:28:58 -04:00
Brad King 4ae9362b5b Merge topic 'get-filename-component-base-dir'
e89ea3d1 get_filename_component:  Teach new BASE_DIR parameter.
2015-08-21 09:28:53 -04:00
Kitware Robot 3755250f8e CMake Nightly Date Stamp 2015-08-21 00:01:09 -04:00
Brad King e8585f45f5 Remove use of include <cmsys/stl/*> and cmsys_stl::*
We no longer need this compatibility layer for the compilers we support.
2015-08-20 16:19:08 -04:00