Commit Graph

25535 Commits

Author SHA1 Message Date
Vitaly Stakhovsky 1cf9c754db Source: Modernize for loops, add const modifiers 2018-12-31 11:50:40 -05:00
Kitware Robot ae8525b82f CMake Nightly Date Stamp 2018-12-30 00:01:05 -05:00
Kitware Robot 3fe0b6f0ab CMake Nightly Date Stamp 2018-12-29 00:01:04 -05:00
Kitware Robot f564f65ff5 CMake Nightly Date Stamp 2018-12-28 00:01:03 -05:00
Kitware Robot efdc19c58b CMake Nightly Date Stamp 2018-12-27 00:01:04 -05:00
Kitware Robot 8e45c805d9 CMake Nightly Date Stamp 2018-12-26 00:01:04 -05:00
Kitware Robot 1a0a13a24f CMake Nightly Date Stamp 2018-12-25 00:01:04 -05:00
Kitware Robot 6d37652368 CMake Nightly Date Stamp 2018-12-24 00:01:10 -05:00
Craig Scott d480ede35b Merge topic 'link-options'
f255280fd9 PIE link options: Update strategy to fix performance regression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2739
2018-12-23 17:23:11 -05:00
Craig Scott 170fcebf2e Merge topic 'install-code-script-genex'
25cae1e85d install: Teach CODE,SCRIPT modes to evaluate generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2688
2018-12-23 17:19:57 -05:00
Kitware Robot 2cc78b9623 CMake Nightly Date Stamp 2018-12-23 00:01:04 -05:00
Jon Chronopoulos 25cae1e85d install: Teach CODE,SCRIPT modes to evaluate generator expressions
This also introduces CMP0087 which will keep the OLD behaviour of not
evaluating generator expressions

Fixes: #15785
2018-12-23 09:03:38 +11:00
Kitware Robot 87ddcad03e CMake Nightly Date Stamp 2018-12-22 00:01:05 -05:00
Kitware Robot 0194780abc CMake Nightly Date Stamp 2018-12-21 00:01:06 -05:00
Kitware Robot bc789afac9 CMake Nightly Date Stamp 2018-12-20 00:01:05 -05:00
Kyle Edwards fa9853d833 Merge topic 'member-init'
b2aa3aedea clang-tidy: Use default member initialization
32cb564bea clang-tidy: Remove redundant member initializations
7ffa6bf999 cmUVHandlePtr: Use inherited constructors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2726
2018-12-19 12:02:27 -05:00
Marc Chevrier f255280fd9 PIE link options: Update strategy to fix performance regression
Fixes: #18700
2018-12-19 19:41:27 +11:00
Kitware Robot e4c5e81f31 CMake Nightly Date Stamp 2018-12-19 00:01:04 -05:00
Kitware Robot 3bd8144601 CMake Nightly Date Stamp 2018-12-18 00:01:04 -05:00
Kitware Robot 50454c96d6 CMake Nightly Date Stamp 2018-12-17 00:01:04 -05:00
Kitware Robot b689679594 CMake Nightly Date Stamp 2018-12-16 00:01:04 -05:00
Regina Pfeifer b2aa3aedea clang-tidy: Use default member initialization 2018-12-15 10:52:37 +01:00
Regina Pfeifer 32cb564bea clang-tidy: Remove redundant member initializations 2018-12-15 10:51:47 +01:00
Regina Pfeifer 7ffa6bf999 cmUVHandlePtr: Use inherited constructors 2018-12-15 10:23:23 +01:00
Kitware Robot b95b935ccf CMake Nightly Date Stamp 2018-12-15 00:01:04 -05:00
Kitware Robot d84b2cc334 CMake Nightly Date Stamp 2018-12-14 00:01:04 -05:00
Brad King e2d0da3366 Merge topic 'vs_deploy_content_fix'
b5b63da088 VS: Fix Deploy content in .csproj files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2713
2018-12-13 10:03:52 -05:00
Brad King ed1c375c05 Merge topic 'vs-csharp-ref-dot'
ea3d60cffa VisualStudio10TargetGenerator: support C# refs with '.' in file name.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2729
2018-12-13 10:03:00 -05:00
Brad King eef87a37cd Merge topic 'server-mode-install-fix'
c150bf087c Server mode: Fix regression of hasInstallRule

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2735
2018-12-13 10:01:34 -05:00
Brad King 04a9145af5 Merge topic 'update-kwsys'
b29d96701b Merge branch 'upstream-KWSys' into update-kwsys
8ca8daeb47 KWSys 2018-12-12 (abb8c680)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2733
2018-12-13 10:00:27 -05:00
Brad King 0be5ed7128 Merge topic 'custom-string'
2d68b2c593 String: Add str_if_stable() as a const alternative to str()
a0841b59bd String: Add support for a ""_s string literal syntax
9d5fe8e96a String: Add 'borrow' member to construct borrowing instances
80802a002c String: Add support for concatenation by operator+
ff69763ca0 String: Add a custom string type
410a3e4b22 Add support for using C++17 string_view or a fallback

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !2578
2018-12-13 09:58:50 -05:00
Brad King dc90cd6877 Merge topic 'fileapi'
b9c6f08276 Help: Add release note for fileapi feature
4b6b2a571c fileapi: extend codemodel v2 with directory details
eb8c7676a4 fileapi: extend codemodel v2 with a project model
42f0125ceb fileapi: Add test for cmakeFiles v1
6615408193 fileapi: add cmakeFiles v1
3f6ee75a66 fileapi: Add test for cache v2
7489e95b8e fileapi: add cache v2
ea0a060168 fileapi: Add test for codemodel v2
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2706
2018-12-13 09:57:59 -05:00
Kitware Robot dea01ac30a CMake Nightly Date Stamp 2018-12-13 00:01:05 -05:00
Brad King 4b6b2a571c fileapi: extend codemodel v2 with directory details
Issue: #18398
Co-Author: Kyle Edwards <kyle.edwards@kitware.com>
2018-12-12 15:12:26 -05:00
Brad King eb8c7676a4 fileapi: extend codemodel v2 with a project model
Offer clients a `project()`-centric view of the build system.  This is
similar to the directory-centric view but consolidates subdirectories
that do not call `project()` with a new project name.

Issue: #18398
Co-Author: Kyle Edwards <kyle.edwards@kitware.com>
2018-12-12 15:12:26 -05:00
Kyle Edwards c150bf087c Server mode: Fix regression of hasInstallRule
The introduction of policy CMP0082, to run subdirectory install
rules in the correct order, caused a regression in server mode
where any directory with a subdirectory is marked as having an
install rule even if no "real" install rules are present. This
change fixes this regression for server mode.
2018-12-12 10:29:50 -05:00
Brad King 6615408193 fileapi: add cmakeFiles v1
Issue: #18398
2018-12-12 09:46:13 -05:00
Brad King 7489e95b8e fileapi: add cache v2
Start with v2 to distinguish it from server-mode v1.

Issue: #18398
2018-12-12 09:46:13 -05:00
Brad King 6a6900f616 Merge topic 'object-library-link'
bab24e782c target_link_libraries: Propagate dependencies of object libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2725
2018-12-12 08:32:17 -05:00
Brad King 71e74b4ae4 Merge topic 'fix-configure-line-number'
fe9a16c80f cmMakefile: Fix @CMAKE_CURRENT_LIST_LINE@ for ExpandVariablesInStringNew
dda4755b46 cmMakefile: Fix ConfigureString not passing filename and line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2675
2018-12-12 08:30:45 -05:00
Artur Ryt fe9a16c80f cmMakefile: Fix @CMAKE_CURRENT_LIST_LINE@ for ExpandVariablesInStringNew
Added check for variable name in @@ evaluation and test for
configuring @CMAKE_CURRENT_LIST_LINE@ with new CMP0053

Fixes: #18646
2018-12-12 08:29:14 -05:00
Artur Ryt dda4755b46 cmMakefile: Fix ConfigureString not passing filename and line
It enables to use CMAKE_CURRENT_LIST_LINE in string(CONFIGURE)
Added tests for it for ${} and @@ notattion for old CMP0053
and ${} for new
2018-12-12 08:29:01 -05:00
Brad King abccf484e3 Merge topic 'default-test-timeout'
3e0eb3307f Help: clarify documentation of ctest --timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2721
2018-12-12 08:20:43 -05:00
Brad King ed5087e32c Merge topic 'output-converter-simplify'
33f08eec18 cmOutputConverter: Moved ContainedInDirectory to cmStateDirectory
87e810f223 cmOutputConverter: Moved ForceToRelativePath to cmSystem

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2665
2018-12-12 08:19:49 -05:00
Brad King b29d96701b Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2018-12-12 (abb8c680)
2018-12-12 08:14:53 -05:00
Brad King 2d68b2c593 String: Add str_if_stable() as a const alternative to str()
The `str()` method must be non-const because it may need to internally
mutate the representation of the string in order to have an owned
`std::string` instance holding the exact string (not a superstring).
This is inconvenient in contexts where we can ensure that no mutation
is needed to get a `std::string const&`.

Add a `str_if_stable() const` method that returns `std::string const*`
so we can return `nullptr` if if mutation would be necessary to get a
`std::string const&`.  Add supporting `is_stable() const` and
`stabilize()` methods to check and enforce stable availability of
`std::string const&`.  These can be used to create `String const`
instances from which we can still get a `std::string const&` via
`*str_if_stable()` by maintaining the stability invariant at runtime.
2018-12-12 08:10:16 -05:00
Brad King a0841b59bd String: Add support for a ""_s string literal syntax
Create a `static_string_view` type that binds only to the static storage
of string literals.  Teach `cm::String` to borrow from these implicitly.
2018-12-12 08:10:15 -05:00
Brad King 9d5fe8e96a String: Add 'borrow' member to construct borrowing instances
This will allow creation of `cm::String` instances that borrow from
non-owned storage.  It is the caller's responsibility to ensure that
no copy of the instance outlives the borrowed buffer.
2018-12-12 08:10:15 -05:00
Brad King 80802a002c String: Add support for concatenation by operator+
Use expression templates to collect the entire expression and
pre-allocate a string with the final length before concatenating
the pieces.
2018-12-12 08:10:15 -05:00
Brad King ff69763ca0 String: Add a custom string type
Create a `cm::String` type that holds a view of a string buffer and
optionally shares ownership of the buffer.  Instances can either
borrow longer-lived storage (e.g. static storage of string literals)
or internally own a `std::string` instance.  In the latter case,
share ownership with copies and substrings.  Allocate a new internal
string only on operations that require mutation.

This will allow us to recover string sharing semantics that we
used to get from C++98 std::string copy-on-write implementations.
Such implementations are not allowed by C++11 so code our own in
a custom string type instead.
2018-12-12 08:10:15 -05:00