Commit Graph

26225 Commits

Author SHA1 Message Date
Brad King
4e47e9967a Merge topic 'cmTarget_non_copyable'
204c5ccb43 cmMakefile: Use std::unordered_map::emplace to add cmTargets to the list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3134
2019-03-22 09:19:55 -04:00
Brad King
fb05b6a8f5 Merge topic 'cmTarget_micro_fixes'
965da8d787 cmTarget: Acquire data only when needed
03d17a35b5 cmTarget: Use helper function to append to lists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3135
2019-03-22 09:19:09 -04:00
Brad King
6d8f0627a3 Merge topic 'update-kwsys'
d79fa9dd55 Merge branch 'upstream-KWSys' into update-kwsys
868dc1a121 KWSys 2019-03-21 (fd41ac36)
775c8b21da update-third-party: update from upstream

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3136
2019-03-22 09:16:56 -04:00
Brad King
3744bd0a0a Merge topic 'xcodescheme2'
413b71485a Xcode: Create Xcode schemes per target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3098
2019-03-22 09:16:02 -04:00
Kitware Robot
94be5f9344 CMake Nightly Date Stamp 2019-03-22 00:01:09 -04:00
Sebastian Holtermann
204c5ccb43 cmMakefile: Use std::unordered_map::emplace to add cmTargets to the list
When adding cmTargets to a cmMakefile, use std::unordered_map::emplace instead
of std::unordered_map::insert.
2019-03-21 20:43:48 +01:00
Harry Mallon
413b71485a Xcode: Create Xcode schemes per target 2019-03-21 16:50:41 +00:00
Brad King
d79fa9dd55 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2019-03-21 (fd41ac36)
2019-03-21 12:38:42 -04:00
Sebastian Holtermann
965da8d787 cmTarget: Acquire data only when needed 2019-03-21 16:58:29 +01:00
Sebastian Holtermann
03d17a35b5 cmTarget: Use helper function to append to lists 2019-03-21 16:57:27 +01:00
Kyle Edwards
fac093802a Merge topic 'tar-improve-error-handling'
ea9a2c1759 cmake: tar: Parse 'cmake -E tar' arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3081
2019-03-21 10:50:38 -04:00
Brad King
e09c606eb4 Merge topic 'dont_do_compiler_feature_checks_for_version_with_no_features'
85415afbdc CompileFeatures: Don't try_compile for language levels with no features
616282a5ce CMake: Provide language level compile features lists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3128
2019-03-21 10:03:10 -04:00
Brad King
732b7b9dd0 Merge topic 'ctest-devirtualize-handlers'
5a72dbd40c cmCTest: Remove dead code
a5eeb0310d cmCTest: Cleanup typedefs
71a3391b5f cmCTest: Use default member initialization
b172a81d55 cmCTest: Use concrete accessor functions for TestingHandlers
46090c2337 cmCTest: Store TestingHandlers by value
da5ee509b2 cmCTest: Move all data members to private implementation struct
670d27da64 cmCTest: Remove friend declarations
9406844616 cmCTest: De-inline all member functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !3114
2019-03-21 09:44:13 -04:00
Brad King
fbc0f355ea Merge topic 'eclipse-interface-lib'
d3dcf8d774 Eclipse: Fix extra generator to not crash on interface libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3125
2019-03-21 09:37:59 -04:00
Kitware Robot
be9a133cbf CMake Nightly Date Stamp 2019-03-21 00:01:07 -04:00
Robert Maynard
616282a5ce CMake: Provide language level compile features lists
Now CMake stores what compile features are associated with each
language level and exposes them as global properties.
2019-03-20 09:10:07 -07:00
Regina Pfeifer
5a72dbd40c cmCTest: Remove dead code 2019-03-20 11:41:29 -04:00
Regina Pfeifer
a5eeb0310d cmCTest: Cleanup typedefs 2019-03-20 11:41:29 -04:00
Regina Pfeifer
71a3391b5f cmCTest: Use default member initialization 2019-03-20 11:41:29 -04:00
Regina Pfeifer
b172a81d55 cmCTest: Use concrete accessor functions for TestingHandlers 2019-03-20 11:39:14 -04:00
Brad King
23a84ac990 Merge topic 'dedup-path-normalization'
b52d9d6960 cmSystemTools: Drop unused CollapseCombinedPath method
a13a5c948e Replace use of CollapseCombinedPath with CollapseFullPath

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@xwmw.org>
Merge-request: !3117
2019-03-20 11:32:12 -04:00
Brad King
d3dcf8d774 Eclipse: Fix extra generator to not crash on interface libraries
Do not process interface libraries in ways that expect build information
to be present internally.  This filtering was left out of the extra
generator accidentally when interface libraries were introduced, but it
worked by accident until commit 76ad2ecb50 (Order SYSTEM include
directories after non-system directories, 2018-04-13, v3.12.0-rc1~179^2)
added a code path that was not tolerated.

Fixes: #18363
2019-03-20 10:52:31 -04:00
Bartosz Kosiorek
ea9a2c1759 cmake: tar: Parse 'cmake -E tar' arguments 2019-03-20 09:28:49 -04:00
Kitware Robot
51f3a76ab2 CMake Nightly Date Stamp 2019-03-20 00:01:06 -04:00
Kyle Edwards
8c0b7aa17d Merge topic 'cmake--install'
73f23d1e00 cmake: add '--install <dir>' option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Rejected-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3069
2019-03-19 13:39:18 -04:00
Kyle Edwards
f1e53266e9 Merge topic 'improve-tar-command'
8634576dcb cmake: Don't interrupt archive creation if unable to read a file.
c7c6a4a2cc Help: Update 'tar' documentation with supported arguments
7c47fd8cd1 cmake: tar: Display warning when no files provided during archive creation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3080
2019-03-19 13:37:59 -04:00
Brad King
b52d9d6960 cmSystemTools: Drop unused CollapseCombinedPath method
All call sites have been converted to `CollapseFullPath`, so the
now-unused `CollapseCombinedPath` can be removed.

Fixes: #19050
2019-03-19 10:00:08 -04:00
Brad King
a13a5c948e Replace use of CollapseCombinedPath with CollapseFullPath
`CollapseCombinedPath` was introduced by commit 551d3343cd (cmDependsC:
Collapse relative include paths, 2013-06-19, v2.8.12~237^2) where the
existing `CollapseFullPath` should have been used instead.  Then its use
proliferated slightly.  Since `CollapseCombinedPath` is less widely used
and less robust (see issue #19049), use `CollapseFullPath` everywhere
instead.

Issue: #19050
2019-03-19 09:57:23 -04:00
Brad King
d2101e944a Merge topic 'xcodegen-use-std-string'
482d9ef9a8 cmGlobalXCodeGenerator: Prefer std::string over char*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3111
2019-03-19 08:59:23 -04:00
Brad King
3c4f92cf5b Merge topic 'is-valid-utf8'
53184a727d cm_utf8: add an is_valid function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3104
2019-03-19 08:58:39 -04:00
Brad King
0587c4b247 Merge topic 'file_time_comparison'
ec3c968de2 cmake: Use scopes to limit temporary object lifetime
1de0c827a1 cmDependsC: Read cache file modification time only once
5536cec46e Rename cmFileTimeCache::FileTimeCompare to cmFileTimeCache::Compare
98d4846953 Rename cmFileTimeCache::FileTimesDiffer to cmFileTimeCache::DifferS
a6d75a1ce0 Substitute FileComparison in variable names with FileTimeCache
216416219a Rename cmFileTimeComparison to cmFileTimeCache
3160258393 cmFileTimeComparison: Replace anonymous private class with std::map
103aa9e46a cmFileTimeComparison: Use cmFileTime internally
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !3101
2019-03-19 08:55:18 -04:00
Kitware Robot
e67e4dbaad CMake Nightly Date Stamp 2019-03-19 00:01:08 -04:00
Regina Pfeifer
46090c2337 cmCTest: Store TestingHandlers by value 2019-03-18 22:55:51 +01:00
Regina Pfeifer
da5ee509b2 cmCTest: Move all data members to private implementation struct 2019-03-18 22:55:50 +01:00
Regina Pfeifer
670d27da64 cmCTest: Remove friend declarations 2019-03-18 22:25:50 +01:00
Regina Pfeifer
9406844616 cmCTest: De-inline all member functions 2019-03-18 22:25:50 +01:00
Ben Boeckel
53184a727d cm_utf8: add an is_valid function 2019-03-18 14:18:13 -04:00
Bartosz Kosiorek
8634576dcb cmake: Don't interrupt archive creation if unable to read a file.
Rationale:
Currently during creation of archive by 'tar',
if error appears, it interrupt archive creation.
As a result only part of files are archived

This behaviour is not consistent with 'copy_directory', native 'tar'
and other command behaviour.
With this Merge Request this behaviour is fixed.
2019-03-18 17:55:35 +01:00
Bartosz Kosiorek
7c47fd8cd1 cmake: tar: Display warning when no files provided during archive creation 2019-03-18 17:08:20 +01:00
Brad King
875f49cc58 Merge topic 'utf8-fixes'
fb5de060bc cm_utf8: reject codepoints above 0x10FFFF
a11e5e021b cm_utf8: reject UTF-16 surrogate half codepoints
7111873efd testUTF8: add more test cases
bba2b1c89b testUTF8: comment why sequences are invalid

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3097
2019-03-18 11:28:52 -04:00
Sebastian Holtermann
ec3c968de2 cmake: Use scopes to limit temporary object lifetime 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
1de0c827a1 cmDependsC: Read cache file modification time only once
Using cmFileTime to store and compare file times in cmDependsC allows us to
read the cache file modification time only once instead of over and over again
for each comparison.
2019-03-18 15:09:11 +01:00
Sebastian Holtermann
5536cec46e Rename cmFileTimeCache::FileTimeCompare to cmFileTimeCache::Compare 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
98d4846953 Rename cmFileTimeCache::FileTimesDiffer to cmFileTimeCache::DifferS 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
a6d75a1ce0 Substitute FileComparison in variable names with FileTimeCache 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
216416219a Rename cmFileTimeComparison to cmFileTimeCache
The name `cmFileTimeCache` reflects the functionality of the class more
appropriately.
2019-03-18 15:09:11 +01:00
Sebastian Holtermann
3160258393 cmFileTimeComparison: Replace anonymous private class with std::map
After the switch to `cmFileTime`, the anonymous private class of
`cmFileTimeComparison` held only a `std::map`.  This moves the
`std::map` to the `cmFileTimeComparison` class itself and removes the
instantiation of an anonymous private class.
2019-03-18 15:09:10 +01:00
Sebastian Holtermann
103aa9e46a cmFileTimeComparison: Use cmFileTime internally
This replaces OS dependent code in `cmFileTimeComparison` with `cmFileTime`
instances that provide the required file time load and comparison operations.

A new public `cmFileTimeComparison::Load` method is introduced that,
for a given file name, updates the `cmFileTimeComparison` cache on demand and
returns a `cmFileTime` instance on success.
2019-03-18 15:09:10 +01:00
Sebastian Holtermann
6f24c4e93f New cmFileTime class
The new cmFileTime class stores the file modification time as an OS independent
nanosecond count.  Its main use is to load and compare file modification times
in nanosecond and second resolution.
2019-03-18 15:09:10 +01:00
Kitware Robot
b06f8c93e5 CMake Nightly Date Stamp 2019-03-18 00:01:06 -04:00