Commit Graph

46884 Commits

Author SHA1 Message Date
Brad King
7fda917fa4 CTest: Fix reported duration on timeout when grindchild keeps pipes open
Since commit d1976cd1f2 (CTest: Fix timeout when grandchild keeps pipes
open, 2020-01-13, v3.17.0-rc1~169^2) we no longer hang, but the test
duration we report after the timeout is the amount of time the immediate
child ran before exiting.  Fix the logic to instead report the actual
amount of time we spent monitoring the test before the timeout.

Fixes: #20509
2020-03-26 14:35:54 -04:00
Brad King
e3185e3d1b CMake 3.17.0 2020-03-20 06:26:14 -04:00
Brad King
dfca1887b0 Merge topic 'FindMatlab-r2020' into release-3.17
75331a4578 FindMatlab: Add R2020a=9.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4507
2020-03-20 06:22:48 -04:00
Brad King
3ab89b5475 Merge topic 'GetPrerequisites-vcruntime-is-system' into release-3.17
417b765f5a GetPrerequisites: Classify vcruntime libraries as system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4506
2020-03-20 06:17:49 -04:00
Brad King
119d1dadce Merge topic 'export-repeat' into release-3.17
8affe9aa33 export: Fix use-after-free on multiple calls overwriting same FILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4494
2020-03-20 06:17:00 -04:00
Michael Hirsch, Ph.D
75331a4578 FindMatlab: Add R2020a=9.8
This allows Matlab R2020a to be recognized as a valid Matlab version.
2020-03-19 12:47:10 -04:00
Err0rC0deX
417b765f5a GetPrerequisites: Classify vcruntime libraries as system
Previously GetPrerequisites classified `vcruntime*.dll` as type "other".
They should be classified as type "system".
2020-03-19 10:17:40 -04:00
Brad King
8fad32f5b9 Merge topic 'trace-format-json-doc' into release-3.17
1994f950ff cmake: List valid values for --trace-format on the command line
e39766d84a Help: Fix documentation of --trace-format parameter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4500
2020-03-19 06:57:51 -04:00
Brad King
8affe9aa33 export: Fix use-after-free on multiple calls overwriting same FILE
CMake 3.16 and below allow multiple `export()` calls with the same output
file even without using `APPEND`.  The implementation worked by accident
by leaking memory.  Refactoring in commit 5444a8095d (cmGlobalGenerator:
modernize memrory managemenbt, 2019-12-29, v3.17.0-rc1~239^2) cleaned up
that memory leak and converted it to a use-after-free instead.

The problem is caused by using the `cmGlobalGenerator::BuildExportSets`
map to own `cmExportBuildFileGenerator` instances.  It can own only
one instance per output FILE name at a time, so repeating use of the
same file now frees the old `cmExportBuildFileGenerator` instance
and leaves the pointer in the `cmMakefile::ExportBuildFileGenerators`
vector dangling.  Move ownership of the instances into `cmMakefile`'s
vector since its entries are not replaced on a repeat output FILE.

In future work we should introduce a policy to error out on this case.
For now simply fix the use-after-free to restore CMake <= 3.16 behavior.

Fixes: #20469
2020-03-19 06:41:39 -04:00
Kyle Edwards
1994f950ff cmake: List valid values for --trace-format on the command line 2020-03-18 16:16:46 -04:00
Kyle Edwards
e39766d84a Help: Fix documentation of --trace-format parameter 2020-03-18 16:02:04 -04:00
Brad King
9abc99e905 Merge topic 'FindPython-version-validation-fix' into release-3.17
cc7f116cb4 FindPython: fix regression on version validation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4492
2020-03-18 07:54:23 -04:00
Marc Chevrier
cc7f116cb4 FindPython: fix regression on version validation
In commit 3dab4682f6 (FindPython: reduces consumption of resources,
2020-02-10, v3.17.0-rc1~11^2) we accidentally broke the python
executable version validation when the "LOCATION" strategy is used
with the plain `FindPython` module.  Fix the logic and add test
cases covering those combinations.

Fixes: #20465
2020-03-17 10:08:34 -04:00
Brad King
b145196bf2 Merge topic 'FindThreads-doc' into release-3.17
1502f281dd FindThreads: Improve documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4480
2020-03-17 07:51:24 -04:00
Rolf Eike Beer
1502f281dd FindThreads: Improve documentation
Issue: #19823
2020-03-16 11:46:38 -04:00
Brad King
02fa6fd134 Merge topic 'generated-byproducts-docs' into release-3.17
3eb2b62d21 Help: Expand discussion of GENERATED / BYPRODUCTS
1853c7f571 Help: Add missing word in AUTOGEN_TARGET_DEPENDS.rst

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4472
2020-03-12 12:58:46 -04:00
FeRD (Frank Dana)
3eb2b62d21 Help: Expand discussion of GENERATED / BYPRODUCTS
- Mention the Makefile Generators' `make clean` removal in the
  BYPRODUCTS section of add_custom_command and add_custom_target
- Expand the GENERATED property docs' description of which files will
  be marked with the property, and of what it implies (including
  `make clean` removal)
2020-03-12 11:55:10 -04:00
FeRD (Frank Dana)
1853c7f571 Help: Add missing word in AUTOGEN_TARGET_DEPENDS.rst 2020-03-12 11:55:10 -04:00
Brad King
1ec72e0947 CMake 3.17.0-rc3 2020-03-12 09:45:24 -04:00
Brad King
c852c0d138 Merge topic 'apple-clang-flags-c++17' into release-3.17
a67f2d00d8 Apple Clang: add flags for C++17 standard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4468
2020-03-12 09:33:18 -04:00
Brad King
d584d01103 Merge topic 'swift-link-line-spaces' into release-3.17
af39d1b993 Swift: Fix quoting of library search paths with spaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4469
2020-03-12 09:32:01 -04:00
Saleem Abdulrasool
af39d1b993 Swift: Fix quoting of library search paths with spaces
The library search paths added by commit 2746c61e6d (Swift: Add library
search paths for dependencies, 2019-06-09, v3.16.0-rc1~561^2) need to be
quoted properly on command lines to handle spaces and such.  This was
already done by `cmLinkLineComputer::ComputeLinkPath` for
non-Swift-specific link directories.
2020-03-12 08:46:11 -04:00
Brad King
3cf22df42e Merge topic 'ctest-curl-debugfunction' into release-3.17
7a1cce210b CTest: Fix our internal CURL_DEBUGFUNCTION to conform to CURL docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4459
2020-03-12 08:19:43 -04:00
Brad King
c278b4eda9 Merge topic 'FindPython-ENV-CMAKE_FRAMEWORK_PATH' into release-3.17
1044776472 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !4462
2020-03-12 08:18:54 -04:00
Brad King
c5f850d145 Merge topic 'swift-rpath' into release-3.17
f481b3a947 Swift: repair RPATH handling for macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4456
2020-03-12 08:18:03 -04:00
Marc Chevrier
a67f2d00d8 Apple Clang: add flags for C++17 standard 2020-03-12 08:09:12 -04:00
Craig Scott
3d388e5e98 Merge topic 'rename-macho-version-properties' into release-3.17
14732d3f30 macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4452
2020-03-12 06:52:11 -04:00
Brad King
14732d3f30 macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSION
The properties added by commit 4a62e3d97c (macOS: Add
OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties,
2020-01-24, v3.17.0-rc1~80^2~1) are general-purpose for all platforms
using Mach-O formats and not just on OS X.  Rename them accordingly.
The properties are new to the CMake 3.17 release so we can rename
them without compatibility concerns.

Fixes: #20442
2020-03-12 21:15:40 +11:00
Betsy McPhail
7a1cce210b CTest: Fix our internal CURL_DEBUGFUNCTION to conform to CURL docs
The curl debug callback function must return ``0``.

Fixes: #20449
2020-03-11 13:36:58 -04:00
Bo Anderson
1044776472 FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake path 2020-03-11 13:35:33 -04:00
Brad King
dd45b7b429 Merge topic 'FindCUDAToolkit-reduce-verbosity' into release-3.17
a7cf574417 CUDAToolkit: Mark find queries as advanced variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4455
2020-03-11 08:56:40 -04:00
Saleem Abdulrasool
f481b3a947 Swift: repair RPATH handling for macOS
The configuration previously handled Linux properly but did not function
on macOS as `ld64` does not support `:` delimited paths.  Account for
that by setting it to the empty string which will use multiple
invocations of the `-Xlinker -rpath -Xlinker ...` pattern to compute the
correct RPATH.
2020-03-11 08:45:47 -04:00
Robert Maynard
a7cf574417 CUDAToolkit: Mark find queries as advanced variables
Fixes #20435
2020-03-10 13:27:16 -04:00
Brad King
7b7170a584 Merge topic 'release-notes-minor-cleanups' into release-3.17
d5e6fedd7b Help: Cleanup minor typos and grammar in 3.17 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4449
2020-03-10 10:30:07 -04:00
Brad King
51c8ac8e89 Merge topic 'doc-3.17-relnotes' into release-3.17
6b925d0536 Help: Fix 3.17 release notes for Xcode scheme settings
e0409b8bca Help: Fix toctree order of Xcode scheme variable and property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4447
2020-03-10 10:29:14 -04:00
Kyle Edwards
2427bbf01c Merge topic 'swift-ninja-multiconfig' into release-3.17
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
6b925d0536 Help: Fix 3.17 release notes for Xcode scheme settings
In commit 730a53ef1d (Help: Organize and revise 3.17 release notes,
2020-02-04, v3.17.0-rc1~21^2) we accidentally combined the release notes
for `CMAKE_XCODE_SCHEME_ENVIRONMENT` and `XCODE_SCHEME_WORKING_DIRECTORY`.
Split them up again.  Also mention `CMAKE_XCODE_SCHEME_WORKING_DIRECTORY`.

Fixes: #20439
2020-03-10 08:51:53 -04:00
Brad King
e0409b8bca Help: Fix toctree order of Xcode scheme variable and property
In commit 92c4c852db (Xcode: Add custom working directory property,
2019-11-18, v3.17.0-rc1~400^2) the toctree links to the new properties
were not added in sorted order.  Move them.

Issue: #20439
2020-03-10 08:51:53 -04:00
Craig Scott
d5e6fedd7b Help: Cleanup minor typos and grammar in 3.17 release notes 2020-03-10 23:24:59 +11:00
Brad King
cb84575b0d Merge topic 'cuda_warning' into release-3.17
6ebc6cec41 cm_cxx_features: Filter out CUDA installation warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4437
2020-03-10 08:22:57 -04:00
Brad King
d11a5d8f2b Merge topic 'invalid_alias' into release-3.17
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
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
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
Brad King
6857aaaa06 Merge topic 'ibmi-fix-libuv-build' into release-3.17
7d6bd14dca libuv: Add support for building on IBM i (OS400)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4431
2020-03-09 08:58:38 -04:00
Jesse Gorzinski
7d6bd14dca libuv: Add support for building on IBM i (OS400) 2020-03-06 14:24:01 -05:00
Brad King
b7d43ea0da Merge topic 'cmstd-IBM-i' into release-3.17
917db8163d cmstd: Remove -isystem option for IBM i (OS400)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4430
2020-03-06 09:24:45 -05:00
Brad King
a1ccbab5a8 Merge branch 'release-3.16' into release-3.17 2020-03-06 09:23:23 -05:00
Brad King
6746fdf7cb Merge topic 'doc-add_custom_command-depends' into release-3.17
785f2b2df1 Help: Clarify add_custom_command DEPENDS conversion to file paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4434
2020-03-06 09:20:02 -05:00
Brad King
785f2b2df1 Help: Clarify add_custom_command DEPENDS conversion to file paths
In commit f5126badd8 (add_custom_command: convert DEPENDS path arguments
to absolute paths, 2019-12-18, v3.17.0-rc1~263^2) we updated the
documentation to describe the behavior introduced by that commit.
However, the behavior was removed again by commit fd0ba705ce
(add_custom_command: check if a relative path should be an in-source
path, 2020-01-09, v3.17.0-rc1~141^2~4) without updating the
documentation.

Update the documentation again to describe the behavior as of the latter
commit.  Spell out the steps that `cmLocalGenerator::GetRealDependency`
and `cmTargetTraceDependencies::IsUtility` use to add file-level and
target-level dependencies.
2020-03-06 08:44:46 -05:00