Commit Graph

43428 Commits

Author SHA1 Message Date
Brad King 2389fcc677 Merge topic 'find-boost-cmp0093'
5108759ed2 FindBoost: Introduce CMP0093 to report Boost_VERSION in x.y.z format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3317
2019-05-14 11:14:33 -04:00
Brad King 1f0a695561 Merge topic 'cmSytemTools_ExpandedList'
cdff7f4e2a cmSystemTools: Add ExpandedListArgument and ExpandedLists methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3313
2019-05-14 10:58:43 -04:00
Brad King bae7a2e250 Merge topic 'error-generate-step'
8cc04b1918 cmake: Display error if generate step fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3304
2019-05-14 10:57:44 -04:00
Brad King 050bf57472 Merge topic 'ninja_cleanups'
054954d855 Ninja: Use clean target instead of clean tool in `cmake --target clean` calls
30a550d6ad Ninja: In cmNinjaTargetGenerator use std::unique_ptr to manage new instances
0024356f8e Ninja: In cmNinjaTargetGenerator optimize string composition
8691b3cf91 Ninja: Inline range loop range arguments
47da9859e8 Ninja: In cmGlobalNinjaGenerator use std::unique_ptr to manage output streams
9902702134 Ninja: Add and use cmGlobalNinjaGenerator::CMakeCmd method
12aa6fe07b Ninja: Fix message in cmGlobalNinjaGenerator::WriteBuild method
02293841e7 Ninja: Simplify cmGlobalNinjaGenerator::AddRule and HasRule methods
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3312
2019-05-14 10:56:29 -04:00
Brad King 0302d40faa Merge topic 'cminstallgenerator-compute-error'
b133d14fb1 Refactor: Allow cmInstallGenerator::Compute() to return an error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3305
2019-05-14 10:54:53 -04:00
Brad King 730d8a135e Merge topic 'relax_cxx_relaxed_constexpr_requirements'
d156f8f5a2 CompileFeatures: Record when MSVC gained full CXX14 support
62dbe53a8a CompileFeatures: Record when Intel gained full CXX14 support
1ebb0d79fe CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3292
2019-05-14 10:53:24 -04:00
Brad King e0ab9e1cb9 Merge topic 'apple_clang_cxx_20_support'
9523ca72e2 Features: Activate C++20 support for AppleClang 10.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3294
2019-05-14 10:52:17 -04:00
Brad King 9ca45a51ae Merge branch 'release-3.14' 2019-05-14 10:51:23 -04:00
Brad King b0b357a878 Merge topic 'swig4'
65c5c1b567 FindSWIG: Support swig4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3314
2019-05-14 10:49:30 -04:00
Brad King 7d9db24f4c Merge topic 'ios-xctest-lookup'
e9d128b789 Apple: Properly lookup XCTest for iOS and tvOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3309
2019-05-14 10:48:13 -04:00
Kitware Robot 9d48d3f61b CMake Nightly Date Stamp 2019-05-14 00:01:07 -04:00
Robert Maynard d156f8f5a2 CompileFeatures: Record when MSVC gained full CXX14 support
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++14 feature support when the
running compiler is known to have all features.
2019-05-13 13:13:09 -04:00
Robert Maynard 62dbe53a8a CompileFeatures: Record when Intel gained full CXX14 support
Use the infrastructure added by commit 646fb1a646 (CompileFeatures:
memoize C++ compilers with full language level support, 2019-03-27) to
avoid using a `try_compile` to check for C++14 feature support when the
running compiler is known to have all features.
2019-05-13 13:12:47 -04:00
Robert Maynard 1ebb0d79fe CompileFeatures: Relax cxx_relaxed_constexpr compiler requirements
This in effect means that cxx_relaxed_constexpr is now supported
by MSVC and Intel 18.0-18.04.
2019-05-13 13:11:32 -04:00
Dennis Klein 5108759ed2 FindBoost: Introduce CMP0093 to report Boost_VERSION in x.y.z format
This aligns module mode behaviour with config mode.
2019-05-13 11:57:12 -04:00
Brad King 016a8bc659 Merge branch 'swig4' into release-3.14
Merge-request: !3314
2019-05-13 11:30:27 -04:00
Daniele E. Domenichelli 65c5c1b567 FindSWIG: Support swig4.0 2019-05-13 11:29:53 -04:00
Sebastian Holtermann 054954d855 Ninja: Use clean target instead of clean tool in cmake --target clean calls
A convenience `clean` target for the Ninja generator exists since commit
3bd41f2eb5.  It's safe to call `ninja clean` instead of `ninja -t clean`.
This removes the exception mapping of the `clean` target in
`cmake --build ... --target clean` calls to the Ninja `-t clean` tool.
2019-05-13 17:20:28 +02:00
Sebastian Holtermann 30a550d6ad Ninja: In cmNinjaTargetGenerator use std::unique_ptr to manage new instances 2019-05-13 17:20:27 +02:00
Sebastian Holtermann 0024356f8e Ninja: In cmNinjaTargetGenerator optimize string composition 2019-05-13 17:20:23 +02:00
Kyle Edwards b133d14fb1 Refactor: Allow cmInstallGenerator::Compute() to return an error
This is preparation for an upcoming merge request, which will add
a new cmInstallGenerator that returns false if there are errors in
the Compute() step.
2019-05-13 10:45:36 -04:00
Brad King f9feab40a1 Merge topic 'autorcc_timestamp'
15004e4319 AutoRcc: Simplify error logging with utility lambda
bd6c3f8609 AutoRcc: Rebuild if the rcc executable is newer than its output
54903af84b AutoRcc: Don't read the info file time again
081104fb00 AutoRcc: Write re-generation reason and rcc command as one string
eff6e622d6 Autogen: A missing info file is a critical error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3311
2019-05-13 10:42:02 -04:00
Brad King df6c4afa77 Merge topic 'cmuvprocesschain'
26025d6e10 cmUVProcessChain: Add cmUVProcessChain
6b04d1cdc2 cmUVStreambuf: Initialize all members on construction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3275
2019-05-13 10:38:09 -04:00
Brad King 620e7b1c39 Merge branch 'ios-xctest-lookup' into release-3.14
Merge-request: !3309
2019-05-13 10:37:21 -04:00
Kyle Edwards 8cc04b1918 cmake: Display error if generate step fails 2019-05-13 10:31:39 -04:00
Brad King 3429369634 Merge topic 'apple_clang_full_cxx_14_support'
daad51c3b7 CompileFeatures: Record when AppleClang gained full CXX14 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3293
2019-05-13 10:13:52 -04:00
Brad King 2bc9ddcad9 Merge topic 'iar-new_architectures'
4178096493 IAR: Add architecture support for RL78, RH850 and MSP430

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3288
2019-05-13 10:03:35 -04:00
Brad King b498967243 Merge topic 'FindProtobuf-gen-sources'
9a324cbee0 Protobuf: Fix generated source path with PROTOBUF_GENERATE_CPP_APPEND_PATH OFF

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3295
2019-05-13 10:02:26 -04:00
Brad King 9af34615ae Merge topic 'windows-signing'
9a34031081 Utilities/Release: Enable signing of Windows release binaries
29f4f70b41 Add undocumented option to sign CMake's own binaries on Windows
1069a3f02b Configure CMake itself with policies through CMake 3.14

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3296
2019-05-13 09:57:43 -04:00
Sebastian Holtermann cdff7f4e2a cmSystemTools: Add ExpandedListArgument and ExpandedLists methods
Changes
-------

In `cmSystemTools` this
- renames the method `ExpandList` to `ExpandLists` and makes it iterator based

and adds the methods
- `std::vector<std::string> ExpandedLists(InputIt first, InputIt last)`
- `std::vector<std::string> ExpandedListArgument(const std::string& arg,
                                                       bool emptyArgs)`

Both return the  `std::vector<std::string>` instead of taking a return vector
reference like `cmSystemTools::ExpandLists` and
`cmSystemTools::ExpandListArgument`.

Motivation
----------

Since C++17 return value optimization is mandatory, so returning a
`std:vector<std::string>` from a function should be (at least) as fast as
passing a return vector reference to the function.

The new methods can replace `cmSystemTools::ExpandLists` and
`cmSystemTools::ExpandListArgument` in many cases, which leads to
shorter and simpler syntax.

E.g. the commonly used pattern
```
  if (const char* value = X->GetProperty("A_KEY_STRING")) {
    std::vector<std::string> valuesList;
    cmSystemTools::ExpandListArgument(value, valuesList);
    for (std::string const& i : valuesList) {
      doSomething(i);
    }
  }
```
becomes
```
  if (const char* value = X->GetProperty("A_KEY_STRING")) {
    for (std::string const& i :
      cmSystemTools::ExpandedListArgument(value)) {
      doSomething(i);
    }
  }
```
2019-05-13 15:37:18 +02:00
Kitware Robot a8f1527ba4 CMake Nightly Date Stamp 2019-05-13 00:01:10 -04:00
Sebastian Holtermann 8691b3cf91 Ninja: Inline range loop range arguments 2019-05-12 18:56:53 +02:00
Kitware Robot 9d2ea14492 CMake Nightly Date Stamp 2019-05-12 00:01:04 -04:00
Sebastian Holtermann 15004e4319 AutoRcc: Simplify error logging with utility lambda 2019-05-11 22:15:47 +02:00
Sebastian Holtermann bd6c3f8609 AutoRcc: Rebuild if the rcc executable is newer than its output
In AUTORCC add a test if the rcc executable is newer that the rcc output.
If the rcc executable is newer, rebuild the output.
2019-05-11 22:15:47 +02:00
Sebastian Holtermann 54903af84b AutoRcc: Don't read the info file time again
In `AUTORCC` use the info file time that's available already instead of
reading it again.
2019-05-11 22:15:47 +02:00
Sebastian Holtermann 081104fb00 AutoRcc: Write re-generation reason and rcc command as one string
In AUTORCC with verbose output write the rcc re-generation reason and
the rcc command as on single string to avoid message chopping in concurrent
builds.
2019-05-11 21:23:29 +02:00
Sebastian Holtermann eff6e622d6 Autogen: A missing info file is a critical error 2019-05-11 21:17:05 +02:00
Sebastian Holtermann 47da9859e8 Ninja: In cmGlobalNinjaGenerator use std::unique_ptr to manage output streams 2019-05-11 15:51:30 +02:00
Gregor Jasny e9d128b789 Apple: Properly lookup XCTest for iOS and tvOS
Closes: #19172
2019-05-11 12:12:32 +02:00
Kitware Robot e329944d09 CMake Nightly Date Stamp 2019-05-11 00:01:05 -04:00
Sebastian Holtermann 9902702134 Ninja: Add and use cmGlobalNinjaGenerator::CMakeCmd method 2019-05-10 20:22:26 +02:00
Sebastian Holtermann 12aa6fe07b Ninja: Fix message in cmGlobalNinjaGenerator::WriteBuild method 2019-05-10 20:22:26 +02:00
Sebastian Holtermann 02293841e7 Ninja: Simplify cmGlobalNinjaGenerator::AddRule and HasRule methods
- Use `std::unordered_set` for the emitted rule register
- Use `std::unordered_map` for command length register
2019-05-10 20:22:26 +02:00
Sebastian Holtermann a173a1173e Ninja: Simplify cmGlobalNinjaGenerator::WriteRule method 2019-05-10 20:22:26 +02:00
Marc Chevrier 741fb95f66 Merge topic 'FindPython-module'
30b873c05d FindPython*: Manage weak link for Python modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3291
2019-05-10 09:02:57 -04:00
Kitware Robot 62e826d11b CMake Nightly Date Stamp 2019-05-10 00:01:05 -04:00
Kitware Robot 5a2023f904 CMake Nightly Date Stamp 2019-05-09 00:01:04 -04:00
Brad King 9a34031081 Utilities/Release: Enable signing of Windows release binaries 2019-05-08 13:18:31 -04:00
Brad King 29f4f70b41 Add undocumented option to sign CMake's own binaries on Windows 2019-05-08 13:18:31 -04:00