summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* export: Fix use-after-free on multiple calls overwriting same FILEBrad King2020-03-198-28/+41
| | | | | | | | | | | | | | | | | | | | | 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
* CMake 3.17.0-rc3v3.17.0-rc3Brad King2020-03-121-1/+1
|
* Merge topic 'apple-clang-flags-c++17' into release-3.17Brad King2020-03-122-2/+8
|\ | | | | | | | | | | | | a67f2d00d8 Apple Clang: add flags for C++17 standard Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4468
| * Apple Clang: add flags for C++17 standardMarc Chevrier2020-03-122-2/+8
| |
* | Merge topic 'swift-link-line-spaces' into release-3.17Brad King2020-03-121-3/+5
|\ \ | | | | | | | | | | | | | | | | | | af39d1b993 Swift: Fix quoting of library search paths with spaces Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4469
| * | Swift: Fix quoting of library search paths with spacesSaleem Abdulrasool2020-03-121-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'ctest-curl-debugfunction' into release-3.17Brad King2020-03-122-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7a1cce210b CTest: Fix our internal CURL_DEBUGFUNCTION to conform to CURL docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4459
| * | | CTest: Fix our internal CURL_DEBUGFUNCTION to conform to CURL docsBetsy McPhail2020-03-112-2/+2
| | |/ | |/| | | | | | | | | | | | | The curl debug callback function must return ``0``. Fixes: #20449
* | | Merge topic 'FindPython-ENV-CMAKE_FRAMEWORK_PATH' into release-3.17Brad King2020-03-121-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | FindPython: Convert env CMAKE_FRAMEWORK_PATH to CMake pathBo Anderson2020-03-111-1/+2
| |/ /
* | | Merge topic 'swift-rpath' into release-3.17Brad King2020-03-121-4/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | f481b3a947 Swift: repair RPATH handling for macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4456
| * | | Swift: repair RPATH handling for macOSSaleem Abdulrasool2020-03-111-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'rename-macho-version-properties' into release-3.17Craig Scott2020-03-1211-44/+44
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 14732d3f30 macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSION Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4452
| * | | macOS: Rename OSX_*_VERSION properties to MACHO_*_VERSIONBrad King2020-03-1211-44/+44
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge topic 'FindCUDAToolkit-reduce-verbosity' into release-3.17Brad King2020-03-111-1/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | a7cf574417 CUDAToolkit: Mark find queries as advanced variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4455
| * | | CUDAToolkit: Mark find queries as advanced variablesRobert Maynard2020-03-101-1/+8
| |/ / | | | | | | | | | Fixes #20435
* | | Merge topic 'release-notes-minor-cleanups' into release-3.17Brad King2020-03-101-13/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | d5e6fedd7b Help: Cleanup minor typos and grammar in 3.17 release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4449
| * | | Help: Cleanup minor typos and grammar in 3.17 release notesCraig Scott2020-03-101-13/+13
| | | |
* | | | Merge topic 'doc-3.17-relnotes' into release-3.17Brad King2020-03-103-6/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Help: Fix 3.17 release notes for Xcode scheme settingsBrad King2020-03-101-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Help: Fix toctree order of Xcode scheme variable and propertyBrad King2020-03-102-2/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge topic 'swift-ninja-multiconfig' into release-3.17Kyle Edwards2020-03-106-5/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 65b3848de0 Swift: support Ninja Multi-Config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4440
| * | | | Swift: support Ninja Multi-ConfigSaleem Abdulrasool2020-03-096-5/+15
| | |/ / | |/| | | | | | | | | | | | | | Enable support for multi-configuration builds using Ninja when building Swift.
* | | | Merge topic 'cuda_warning' into release-3.17Brad King2020-03-101-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6ebc6cec41 cm_cxx_features: Filter out CUDA installation warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4437
| * | | | cm_cxx_features: Filter out CUDA installation warningsRaul Tambre2020-03-091-0/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Clang always outputs these if it doesn't recognize the installed CUDA version. They don't affect compiling C++. Fixes #20434.
* | | | Merge topic 'invalid_alias' into release-3.17Brad King2020-03-101-2/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | a54d96b722 cmAlgorithms: Fix -Wnon-c-typedef-for-linkage warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4438
| * | | cmAlgorithms: Fix -Wnon-c-typedef-for-linkage warningsRaul Tambre2020-03-091-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'ibmi-fix-libuv-build' into release-3.17Brad King2020-03-091-0/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7d6bd14dca libuv: Add support for building on IBM i (OS400) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4431
| * | | libuv: Add support for building on IBM i (OS400)Jesse Gorzinski2020-03-061-0/+19
| | |/ | |/|
* | | Merge topic 'cmstd-IBM-i' into release-3.17Brad King2020-03-061-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 917db8163d cmstd: Remove -isystem option for IBM i (OS400) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4430
| * | | cmstd: Remove -isystem option for IBM i (OS400)ThePrez2020-03-051-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | Much like AIX, IBM i (OS identifier "OS400") implicitly adds `extern "C"` around system header files included with the `-isystem` option. Update the condition added by commit c688b401d3 (cmstd: Modernize CMake system headers, 2019-08-04, v3.16.0-rc1~81^2~1) to treat `IBM i` as we do AIX.
* | | Merge branch 'release-3.16' into release-3.17Brad King2020-03-060-0/+0
|\ \ \ | |/ /
| * | CMake 3.16.5v3.16.5Brad King2020-03-041-1/+1
| | |
| * | Merge branch 'doc-rel-3.16-updates' into release-3.16Brad King2020-03-041-0/+26
| |\ \ | | | | | | | | | | | | Merge-request: !4425
* | \ \ Merge topic 'doc-add_custom_command-depends' into release-3.17Brad King2020-03-061-14/+30
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Help: Clarify add_custom_command DEPENDS conversion to file pathsBrad King2020-03-061-14/+30
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'ninja-multi-custom-command-deps' into release-3.17Brad King2020-03-054-7/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4423
| * | | | Ninja Multi-Config: Don't build target dependencies for custom commandsKyle Edwards2020-03-034-7/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic 'doc-rel-3.16-updates' into release-3.17Brad King2020-03-041-0/+26
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | d25d8e9eef Help: Update CMake 3.16 release notes for 3.16.5 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4425
| * | | Help: Update CMake 3.16 release notes for 3.16.5Brad King2020-02-271-0/+26
| | |/ | |/|
* | | Merge branch 'release-3.16' into release-3.17Brad King2020-03-040-0/+0
|\ \ \ | |/ /
| * | Merge branch 'backport-3.16-FindPython-cache-cleanup' into release-3.16Brad King2020-02-271-51/+98
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1dc524f2 FindPython: Do not cache computed result variables in CMake 3.16 602d1d82 FindPython: Mark non-public cache entries INTERNAL in CMake 3.16 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4399
| | * | FindPython: Do not cache computed result variables in CMake 3.16Marc Chevrier2020-02-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 06d9e67fbd (FindPython: Add capability to specify directly artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally add the result variables `Python*_LIBRARY_RELEASE` and `Python*_LIBRARY_DEBUG` to the cache. They are always computed from other results and so should not be presented to users in cmake-gui and ccmake to edit. Issue: #20362
| | * | FindPython: Mark non-public cache entries INTERNAL in CMake 3.16Marc Chevrier2020-02-261-48/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 06d9e67fbd (FindPython: Add capability to specify directly artifacts, 2019-08-15, v3.16.0-rc1~157^2) we accidentally expose cache entries named `_Python...` to users in cmake-gui and ccmake. Mark those entries as `INTERNAL` to hide them. Issue: #20362
| * | | Merge branch 'FindPkgConfig-scope' into release-3.16Brad King2020-02-241-0/+6
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !4388
| * \ \ \ Merge branch 'backport-cuda-non-device-link' into release-3.16Brad King2020-02-242-3/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !4376
| * \ \ \ \ Merge branch 'backport-3.16-install-default-fix' into release-3.16Brad King2020-02-127-18/+50
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'release-3.15' into release-3.16Brad King2020-02-110-0/+0
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'backport-3.16-link-line-backtrace' into release-3.16Brad King2020-02-109-93/+85
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !4344
| * \ \ \ \ \ \ \ Merge branch 'libarchive-win-codepage' into release-3.16Brad King2020-02-061-2/+5
| |\ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | Merge-request: !4332