Commit Graph

28454 Commits

Author SHA1 Message Date
Kyle Edwards
228232d454 Merge topic 'swift-ninja-multiconfig'
87819db28d Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfig
65b3848de0 Swift: support Ninja Multi-Config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4440
2020-03-10 10:16:17 -04:00
Brad King
268909518f Merge topic 'file-CONFIGURE'
a6fee09484 file: Add CONFIGURE subcommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4436
2020-03-10 08:27:21 -04:00
Brad King
16ad4e5ce6 Merge topic 'modernize-memory-management'
44867a8c01 Modernize memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4444
2020-03-10 08:26:27 -04:00
Brad King
30e67e752c Merge topic 'std-string-genex'
b0dc52704b cmGeneratorExpression: remove const char* overloads

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4445
2020-03-10 08:25:18 -04:00
Brad King
058972b16f Merge topic 'cuda_warning'
6ebc6cec41 cm_cxx_features: Filter out CUDA installation warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4437
2020-03-10 08:22:58 -04:00
Brad King
e154c70e48 Merge topic 'invalid_alias'
a54d96b722 cmAlgorithms: Fix -Wnon-c-typedef-for-linkage warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4438
2020-03-10 08:22:00 -04:00
Kitware Robot
df4acef151 CMake Nightly Date Stamp 2020-03-10 00:01:10 -04:00
Leander Beernaert
a6fee09484 file: Add CONFIGURE subcommand
Extend the `file()` command with a new `CONFIGURE` subcommand that
behaves the same as `string(CONFIGURE)` except that it writes the
resulting output immediately to a file.

Fixes: #20388
2020-03-09 11:54:02 -04:00
Raul Tambre
a54d96b722 cmAlgorithms: Fix -Wnon-c-typedef-for-linkage warnings
In commit bf1e73305a (cmAlgorithms: Refactor cmRemoveDuplicates,
2019-03-03, v3.15.0-rc1~414^2) we added `union X = struct {}`.
C++ had a rule change whereby only C-compatible unnamed typedefs are
allowed. Clang 11 warns about this by default.  See
https://reviews.llvm.org/D74103.  The aliases don't seem to be
necessary, so simply define as structs.
2020-03-09 09:21:25 -04:00
Raul Tambre
6ebc6cec41 cm_cxx_features: Filter out CUDA installation warnings
Clang always outputs these if it doesn't recognize the installed CUDA version.
They don't affect compiling C++.

Fixes #20434.
2020-03-09 09:17:41 -04:00
Brad King
efa30023b4 Merge topic 'required_find_commands'
dc00809596 find_*: Add support for REQUIRED keyword
cc070e66cd cmFindBase: Use in-class member initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4435
2020-03-09 09:15:38 -04:00
Kyle Edwards
87819db28d Merge branch 'backport-swift-ninja-multiconfig' into swift-ninja-multiconfig 2020-03-09 09:12:54 -04:00
Saleem Abdulrasool
65b3848de0 Swift: support Ninja Multi-Config
Enable support for multi-configuration builds using Ninja when building
Swift.
2020-03-09 09:11:22 -04:00
Kitware Robot
ca8e37f72e CMake Nightly Date Stamp 2020-03-09 00:01:08 -04:00
Vitaly Stakhovsky
b0dc52704b cmGeneratorExpression: remove const char* overloads 2020-03-08 17:22:43 -04:00
Marc Chevrier
44867a8c01 Modernize memory management
Update internals of various classes.
2020-03-08 16:32:44 +01:00
Kitware Robot
1bb7474aba CMake Nightly Date Stamp 2020-03-08 00:01:21 -05:00
Kitware Robot
8f122b4557 CMake Nightly Date Stamp 2020-03-07 00:01:12 -05:00
Sylvain Joubert
dc00809596 find_*: Add support for REQUIRED keyword
In the same spirit as the REQUIRED keyword on find_package, this will
stop cmake execution with an error on a failed find_program, find_file,
find_path or find_library.
2020-03-06 16:40:26 +01:00
Sylvain Joubert
cc070e66cd cmFindBase: Use in-class member initialization 2020-03-06 16:07:18 +01:00
Brad King
41162cbb81 Merge topic 'ConvertMSBuildXMLToJSON-default-mutable'
98e735903a MSBuild: Fix python mutable default data structure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Drew Dennison <dennison@mit.edu>
Merge-request: !4432
2020-03-06 09:42:20 -05:00
Brad King
74359da1e9 Merge topic 'modernize-memory-management'
9de0355d4f Modernize memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4428
2020-03-06 09:17:39 -05:00
Kitware Robot
4a1baca6f7 CMake Nightly Date Stamp 2020-03-06 00:01:10 -05:00
Brendon Go
98e735903a MSBuild: Fix python mutable default data structure
Change default value of arguments to be None and instantiate new
object inside function.
2020-03-05 20:42:46 -05:00
Kyle Edwards
e484b4289d Merge topic 'macos_framework_postfix'
ad3f69c86e Add support for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4289
2020-03-05 10:50:15 -05:00
Marc Chevrier
9de0355d4f Modernize memory management
Update internals of various classes.
2020-03-05 07:34:01 -05:00
Brad King
fee2b209b8 Merge topic 'objlib-transitive-deps'
a833aa1167 Fix dependencies on targets linked through object libraries
3b3de0fd17 Tests: Extend ObjectLibrary test with case for object lib dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4427
2020-03-05 07:26:18 -05:00
Brad King
9871190dd7 Merge topic 'ninja-multi-custom-command-deps'
081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4423
2020-03-05 07:24:49 -05:00
Brad King
cf0dc5efbf Merge topic 'ninja-multi-custom-command-deps' into release-3.17
081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4423
2020-03-05 07:24:48 -05:00
Brad King
612da5775e Merge topic 'update-kwsys'
9e6b07f5ff Merge branch 'upstream-KWSys' into update-kwsys
ec33e3600c KWSys 2020-03-04 (6af2e592)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4424
2020-03-05 07:23:24 -05:00
Kitware Robot
b0e34a3160 CMake Nightly Date Stamp 2020-03-05 00:01:10 -05:00
Brad King
a833aa1167 Fix dependencies on targets linked through object libraries
When an object library is used via `target_link_libraries`, any targets
listed in the object library's `INTERFACE_LINK_LIBRARIES` closure should
become direct dependencies of the consuming target.  However, these were
accidentally left out by `cmComputeTargetDepends::CollectTargetDepends`
because object libraries are encountered through external object sources
first and then added to the `emitted` set which blocks them from being
processed as link dependencies.

This was not noticed by the test case in commit bab24e782c
(target_link_libraries: Propagate dependencies of object libraries,
2018-12-10, v3.14.0-rc1~260^2) because the relevant dependency appears
transitively through the object library target itself.

Re-order the logic to process link dependencies first, and then external
object sources.  That way object libraries used via
`target_link_libraries` will be treated as such by dependency analysis.

This also adds missing backtrace information for object libraries used
via `target_link_libraries`.  The missing information was mentioned in a
FIXME comment in the RunCMake.FileAPI test added by commit ea0a060168
(fileapi: Add test for codemodel v2, 2018-11-09, v3.14.0-rc1~257^2~7).
That comment itself was dropped by commit a0de350e2f (FileAPI test:
Break gen_check_targets() into JSON files, 2020-02-07), but we can now
update the corresponding location in the `.json` files to have the
now-expected backtrace information.

Fixes: #20421
2020-03-04 13:07:41 -05:00
Alexandru Croitor
ad3f69c86e Add support for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG> 2020-03-04 14:30:54 +01:00
Brad King
26f728ca78 Merge topic 'ninja-multi-spurious-unused-variables'
8b799f80e3 Ninja Multi-Config: Fix spurious unused variable warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4421
2020-03-04 08:18:03 -05:00
Brad King
9e6b07f5ff Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-03-04 (6af2e592)
2020-03-04 08:00:24 -05:00
Kitware Robot
d674c3a5bc CMake Nightly Date Stamp 2020-03-04 00:01:11 -05:00
Kyle Edwards
8b799f80e3 Ninja Multi-Config: Fix spurious unused variable warning
Fixes: #20381
2020-03-03 15:52:36 -05:00
Kyle Edwards
081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands
If cross-config mode is used, and a target depends on another target
as well as a custom command, we don't want the custom command to also
depend on the depended target, as that would build targets unnecessarily.
Fix this behavior.
2020-03-03 15:15:13 -05:00
Brad King
38ac070ead Merge topic 'cmake_command-eval'
598b676b5e cmake_command: Add command to EVAL a CMake script as a string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4408
2020-03-03 09:19:39 -05:00
Brad King
cabde33ed8 Merge topic 'cmGeneratedFileStream-resource-leak'
59530d9dec cmGeneratedFileStream: File resource leak if oldname not found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4415
2020-03-03 08:46:44 -05:00
Cristian Adam
598b676b5e cmake_command: Add command to EVAL a CMake script as a string 2020-03-03 08:42:13 -05:00
Kitware Robot
7120ffc994 CMake Nightly Date Stamp 2020-03-03 00:01:08 -05:00
Brad King
d1cb554c99 CMake 3.17.0-rc2 2020-03-02 14:15:14 -05:00
Brad King
178a166ae1 Merge topic 'xl-fortran-module-dir-use'
92785ed746 Tests: Enable Fortran submodule tests on XL compilers
210b0b99a9 XL: Fix using Fortran modules from their output directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4405
2020-03-02 10:48:05 -05:00
Kitware Robot
d016637eef CMake Nightly Date Stamp 2020-03-02 00:01:08 -05:00
Bo Rydberg
59530d9dec cmGeneratedFileStream: File resource leak if oldname not found 2020-03-01 17:40:41 -05:00
Kitware Robot
61596e1cc8 CMake Nightly Date Stamp 2020-03-01 00:01:04 -05:00
Kitware Robot
be2f34b9c1 CMake Nightly Date Stamp 2020-02-29 00:01:10 -05:00
Brad King
b78a68f98b Merge topic 'csharp-out-of-source-groups'
ac6b18cd90 CSharp: Add support for source groups with out-of-source builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4374
2020-02-28 14:15:56 -05:00
Kinan Mahdi
ac6b18cd90 CSharp: Add support for source groups with out-of-source builds
This also fixes support for multiple sources of the same name in
different directories.  Add a test for both problems.

Issue: #19505
2020-02-28 11:42:01 -05:00