summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmake-gui: Fix use-after-free in Open-possible checkFrancisco Facioni2020-03-201-1/+1
| | | | | Fix `QCMake::checkOpenPossible` to copy `toLocal8Bit().data()` before its lifetime expires.
* CMake 3.17.0v3.17.0Brad King2020-03-201-1/+1
|
* Merge topic 'export-repeat' into release-3.17Brad King2020-03-205-28/+33
|\ | | | | | | | | | | | | 8affe9aa33 export: Fix use-after-free on multiple calls overwriting same FILE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4494
| * export: Fix use-after-free on multiple calls overwriting same FILEBrad King2020-03-195-28/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: List valid values for --trace-format on the command lineKyle Edwards2020-03-181-1/+2
|/
* CMake 3.17.0-rc3v3.17.0-rc3Brad King2020-03-121-1/+1
|
* 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.
| * CMake 3.16.5v3.16.5Brad King2020-03-041-1/+1
| |
| * Merge branch 'backport-cuda-non-device-link' into release-3.16Brad King2020-02-241-2/+2
| |\ | | | | | | | | | Merge-request: !4376
| * \ Merge branch 'backport-3.16-install-default-fix' into release-3.16Brad King2020-02-121-6/+38
| |\ \
* | \ \ 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 'rename-macho-version-properties' into release-3.17Craig Scott2020-03-122-5/+5
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 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-122-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'swift-ninja-multiconfig' into release-3.17Kyle Edwards2020-03-102-4/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 65b3848de0 Swift: support Ninja Multi-Config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4440
| * | | | | Swift: support Ninja Multi-ConfigSaleem Abdulrasool2020-03-092-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'ninja-multi-custom-command-deps' into release-3.17Brad King2020-03-051-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-031-1/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Ninja Multi-Config: Fix spurious unused variable warningKyle Edwards2020-03-031-0/+3
|/ / / / | | | | | | | | | | | | Fixes: #20381
* | | | CMake 3.17.0-rc2v3.17.0-rc2Brad King2020-03-021-1/+1
| | | |
* | | | Merge topic 'ninja-multi-variable-shuffle-again' into release-3.17Brad King2020-02-284-17/+59
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c794b70f19 Ninja Multi-Config: Always generate build.ninja 9590c3a400 Generator: Don't allow Ninja Multi-Config variables on other generators 7a63dafafb Ninja Multi-Config: Remove "NMC" from variable names Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4403
| * | | | Ninja Multi-Config: Always generate build.ninjaKyle Edwards2020-02-271-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | If CMAKE_DEFAULT_BUILD_TYPE is not specified, use the first item from CMAKE_CONFIGURATION_TYPES instead.
| * | | | Generator: Don't allow Ninja Multi-Config variables on other generatorsKyle Edwards2020-02-273-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may want to enable these variables later on with specific semantics. To avoid breaking backwards compatibility, make it an error to use them for now.
| * | | | Ninja Multi-Config: Remove "NMC" from variable namesKyle Edwards2020-02-271-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`. These name changes make the variables meaningful for future use by other generators.
* | | | | foreach: Set fatal error on invalid rangeKyle Edwards2020-02-271-0/+1
| | | | | | | | | | | | | | | | | | | | Fixes: #20394
* | | | | foreach: Fix crash when parsing invalid integerKyle Edwards2020-02-271-6/+35
| | | | | | | | | | | | | | | | | | | | Fixes: #20393
* | | | | Merge topic 'pch-file-time' into release-3.17Brad King2020-02-271-0/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7e9b9fe918 PCH: Copy the timestamp from an absolute header file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4400
| * | | | | PCH: Copy the timestamp from an absolute header fileCristian Adam2020-02-261-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If `target_precompile_headers` contains a file from the project, then CMake will set the timestamp for `cmake_pch.h|xx` from that file. This helps with ccache and precompile headers. Fixes: #19923
* | | | | | Merge topic 'update-kwsys' into release-3.17Brad King2020-02-271-0/+1
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 06702acb28 KWSys: Terminal: Add st-256color to VT100 color support whitelist Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4394
| * | | | | KWSys: Terminal: Add st-256color to VT100 color support whitelistBrad King2020-02-251-0/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | Backport KWSys commit `44eaaa6e8` (Terminal: Add st-256color to VT100 color support whitelist, 2020-02-19) to CMake 3.17.
* | | | | Merge topic 'ctest-failure-error-reporting' into release-3.17Brad King2020-02-256-24/+82
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a5be3916ee CTest: Provide more detailed information on resource allocation error f0df3ed5b9 Refactor: Provide more detailed error information from TryAllocateResources() f1c34443b7 CTest: Improve error reporting with bad working directory for tests 1dec359422 Refactor: Require detail when calling cmCTestRunTest::StartFailure() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4390
| * | | | | CTest: Provide more detailed information on resource allocation errorKyle Edwards2020-02-243-1/+35
| | | | | |
| * | | | | Refactor: Provide more detailed error information from TryAllocateResources()Kyle Edwards2020-02-242-16/+37
| | | | | |
| * | | | | CTest: Improve error reporting with bad working directory for testsKyle Edwards2020-02-242-2/+2
| | | | | |
| * | | | | Refactor: Require detail when calling cmCTestRunTest::StartFailure()Kyle Edwards2020-02-243-8/+11
| | | | | |
* | | | | | Merge topic 'cuda-non-device-link' into release-3.17Brad King2020-02-251-2/+2
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7da2c8c543 Merge branch 'backport-cuda-non-device-link' 738f3f23aa Ninja: Do not use nvcc response files with non-nvcc tools Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !4376
| * | | | | Merge branch 'backport-cuda-non-device-link'Brad King2020-02-241-2/+2
| |\ \ \ \ \ | | |/ / / / | |/| | | / | | | |_|/ | | |/| |
| | * | | Ninja: Do not use nvcc response files with non-nvcc toolsFrancisco Facioni2020-02-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d91b5a72cd (Ninja: Add support for CUDA nvcc response files, 2019-05-30, v3.15.0-rc1~8^2) we use NVCC's `--options-file` option to avoid long link command lines via a response file. However, for non-device linking the host tools are used and the option does not make sense. Update the logic to use `--options-file` only for device linking. Linking with the host tools already has its own logic for response files. Fixes: #19954
| | * | | CMake 3.15.7v3.15.7Brad King2020-02-041-1/+1
| | | | |
| | * | | Merge branch 'vs-16.4-custom-command-inputs' into release-3.15Brad King2020-01-281-1/+7
| | |\ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !4297
* | | \ \ \ Merge topic 'update-kwsys' into release-3.17Brad King2020-02-182-6/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ce59cabc70 KWSys: SystemTools: CopyFileIfDifferent: Fix endless recursion Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4361
| * | | | | | KWSys: SystemTools: CopyFileIfDifferent: Fix endless recursionBrad King2020-02-182-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport KWSys commit `ea77593a1` (SystemTools: CopyFileIfDifferent: Fix endless recursion, 2020-02-13) for the CMake 3.17 branch. Fixes: #20347
* | | | | | | Ninja Multi-Config: Fix issue with framework dependencies and AutogenKyle Edwards2020-02-1727-87/+125
| |/ / / / / |/| | | | | | | | | | | | | | | | | Fixes: #20345
* | | | | | CMake 3.17.0-rc1v3.17.0-rc1Brad King2020-02-121-1/+1
| | | | | |
* | | | | | Merge topic 'ninja-multi-default-configs-fix' into release-3.17Brad King2020-02-122-6/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 46c836644d Ninja Multi-Config: Fix issue with "all" in CMAKE_NMC_DEFAULT_CONFIGS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4349