summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.19.7v3.19.7Brad King2021-03-151-1/+1
|
* Merge branch 'vs-toolset-version' into release-3.19Brad King2021-03-127-96/+170
|\ | | | | | | Merge-request: !5903
| * VS: Accept and translate '-T version=' values with three componentsBrad King2021-03-123-0/+57
| | | | | | | | | | | | | | | | The VS 16.8 and VS 16.9 toolset versions differ only in their third component. The `vcvarsall` option `-vcvars_ver=` accepts a three component version, so accept this format for VS toolset selection too. Issue: #21922
| * VS: Fix '-T version=14.28' under VS 16.9Brad King2021-03-126-91/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake accepts the toolset version that is default in the current VS version by matching the name later VS versions will use for the SxS props files. It predicts the future name based on the first two components of the current VS version's default toolset. However, this heuristic breaks naming the VS 16.8 toolset version 14.28 under VS 16.9 because the latter's default toolset version is 14.28.29910, which did not increment the second version component (unprecedented in VS). Fix this by always using the requested version's SxS props file when it exists, even if it matches the first two components of the current VS version's default toolset. Also add a special case for the name VS 16.10 will use for VS 16.9's default toolset, so that it can be used with VS 16.9 too. Fixes: #21922
| * cmGlobalVisualStudioVersionedGenerator: Clarify local variable nameBrad King2021-03-121-5/+5
|/
* Merge branch 'cray-compiler-wrapper-detection' into release-3.19Brad King2021-03-103-5/+5
|\ | | | | | | Merge-request: !5897
| * Cray: Enable Cray compiler wrapper detection on all platformsJustin LaPolla2021-03-103-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously were checking for the `__CRAYXC` and `__CRAYXE` predefined macros. These macros reflect the platform that the compiler wrapper is running on, i.e. Cray XC and Cray XE machines. They are not defined on other platforms such as Apollo80. Switch to the `__CRAYXT_COMPUTE_LINUX_TARGET` macro. The Cray cc/CC/ftn wrappers always define this macro on the command line. This macro has been in use for many years, and is believed to be a reliable way to detect current and older Cray compiler wrappers. Fixes: #21904
* | Merge branch 'backport-xcode-framework-quoting' into release-3.19Brad King2021-03-104-1/+26
|\ \ | |/ |/| | | Merge-request: !5899
| * Xcode: Restore support for spaces in framework namesBrad King2021-03-104-1/+26
|/ | | | | | | | | | In commit ce2dee9e5b (Xcode: Don't add framework as -framework argument in linker info list, 2020-09-28, v3.19.0-rc1~47^2) we split up the path to a framework into the directory and framework name parts, but only retained the quoting on the directory part. Restore quoting of the framework name. Fixes: #21910
* Merge branch 'CrayPrgEnv-detection' into release-3.19Brad King2021-03-083-5/+5
|\ | | | | | | Merge-request: !5889
| * Revert "Cray: Fix Cray compiler detection on new platforms"Brad King2021-03-083-5/+5
|/ | | | | | | | | | The justification in commit 9ee4a42813 (Cray: Fix Cray compiler detection on new platforms, 2020-12-01, v3.19.2~26^2) confuses detection of the CrayPrgEnv with identification of the Cray compiler. The change regressed detection of the CrayPrgEnv on non-Cray compilers. Revert it pending further investigation into the original problem. Fixes: #21894
* CMake 3.19.6v3.19.6Brad King2021-02-241-1/+1
|
* Merge branch 'backport-3.19-preset-no-comments' into release-3.19Brad King2021-02-248-7/+25
|\ | | | | | | Merge-request: !5853
| * CMakePresets.json: Remove undocumented support for commentsKyle Edwards2021-02-248-7/+25
| | | | | | | | Fixes: #21858
* | Merge branch 'ninja-status-stderr' into release-3.19Brad King2021-02-233-0/+12
|\ \ | | | | | | | | | Merge-request: !5850
| * | Tests: Update for upstream ninja change to write status on stderrBrad King2021-02-233-0/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | Upstream ninja commit `ad3d29fb53` (Put builder output through status interface) from ninja PR 1899 changed the status output from stdout to stderr. In particular, `ninja: no work to do` is now printed on stderr. Update our RunCMake tests to accept this difference. A few RunCMake test cases check for `ninja: no work to do`. For those, move the message to stdout using `RunCMake_TEST_OUTPUT_MERGE`. The rest of the test cases do not care about the message, so remove it from the actual stderr content before comparing against that expected.
* | Merge branch 'backport-intel-fortran-preprocess' into release-3.19Brad King2021-02-181-2/+10
|\ \ | | | | | | | | | Merge-request: !5826
| * | Intel: Make explicit Fortran preprocessing under Ninja more robustBrad King2021-02-181-2/+10
|/ / | | | | | | | | | | | | | | | | Tell the Fortran compiler to write preprocessor output directly to a file, as we do for the GNU compiler. The previous "redirect stdout" approach could break during ABI detection with some `mpif90` wrappers that add version information to stdout when called with `-v`. Fixes: #21828
* | Merge branch 'FindPython-fix-variable-handling' into release-3.19Brad King2021-02-161-2/+2
|\ \ | |/ |/| | | Merge-request: !5816
| * FindPython: fix erroneous variable handlingMarc Chevrier2021-02-161-2/+2
|/ | | | Fixes: #21817
* CMake 3.19.5v3.19.5Brad King2021-02-151-1/+1
|
* Merge branch 'relnote-IOS_INSTALL_COMBINED-xcode12' into release-3.19Brad King2021-02-151-0/+17
|\ | | | | | | Merge-request: !5811
| * Help: Add 3.19.5 release notes for Xcode iOS-related changesCraig Scott2021-02-141-0/+17
|/
* Merge branch 'release-3.18' into release-3.19Brad King2021-02-110-0/+0
|\
| * CMake 3.18.6v3.18.6Brad King2021-02-111-1/+1
| |
| * Merge branch 'lexer-posix-source' into release-3.18Brad King2021-02-051-1/+1
| |\ | | | | | | | | | Merge-request: !5776
* | \ Merge topic 'clang-imsvc' into release-3.19Brad King2021-02-102-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2fc5e5dba9 Clang: Use -imsvc for system include only with MSVC-like front-end Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Thomas Bernard <thomas@famillebernardgouriou.fr> Merge-request: !5792
| * | | Clang: Use -imsvc for system include only with MSVC-like front-endBrad King2021-02-092-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit bb61c2d024 (Clang: use -imsvc for system include dirs when running on Windows, 2020-09-16, v3.19.0-rc1~162^2) we added `-imsvc` for all Clang compilers targeting the MSVC ABI. However, the option only exists for the MSVC-like front-end. The GNU-like front-ends use `-isystem`. Fixes: #21789
* | | | Merge topic 'ctest-dashboard-with-modified-files' into release-3.19Brad King2021-02-101-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 33fa015b4a CTest: Restore running dashboard client Test step with modified files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5791
| * | | CTest: Restore running dashboard client Test step with modified filesBrad King2021-02-091-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 6a6f1d1edd (CTest: exit nonzero after message(SEND_ERROR|FATAL_ERROR), 2020-04-03, v3.19.0-rc1~260^2), `ctest` no longer runs tests if there are errors before the full set of tests is defined. Such errors were previously treated more like warnings. The change exposed some cases where we were issuing an error message but proceeding to run tests anyway. The above commit downgraded one such case (missing `DartConfiguration.tcl`) to a warning explicitly in order to restore its former warning-like semantics. Downgrade the Update step's diagnostic about modified or conflicting files to a warning for the same reason. Fixes: #21783
* | | Merge topic 'FindXCTest-bundle-inject' into release-3.19Brad King2021-02-091-2/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | eafe740ead FindXCTest: Fix output directory for test bundle with new build system Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5786
| * | | FindXCTest: Fix output directory for test bundle with new build systemYauheni Khnykin2021-02-091-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The output directory was still correct for macOS with the new build system, but not for iOS. Fixes: #20662
* | | | Merge topic 'xcode12-ios_install_combined' into release-3.19Brad King2021-02-098-21/+109
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | 0110aa018d IOS_INSTALL_COMBINED: Support Xcode 12 (command line only) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5785
| * | | IOS_INSTALL_COMBINED: Support Xcode 12 (command line only)Craig Scott2021-02-088-21/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 12 doesn't allow nested builds within the same build directory. That means we can no longer do an install by building the install target when IOS_INSTALL_COMBINED is true. We can, however, still do an install by running the cmake_install.cmake script or executing cmake --install, since there is no outer build and therefore the associated SDK can be built as a sub-build. The non-build methods previously didn't work when IOS_INSTALL_COMBINED was true because the generated install script and the CMakeIOSInstallCombined script both made certain assumptions that relied on being part of a build. Those assumptions are now removed. A side-effect of this work is that cpack now also works from the command line when IOS_INSTALL_COMBINED is true. Relates: #21282 Fixes: #20023
* | | | Merge topic 'lexer-posix-source' into release-3.19Brad King2021-02-081-1/+1
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | a8b41e2c68 LexerParser: Do not override existing _POSIX_C_SOURCE definition 82cfeeb484 Merge branch 'backport-3.18-ci-wix-download' into release-3.18 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5776
| * | LexerParser: Do not override existing _POSIX_C_SOURCE definitionBrad King2021-02-051-1/+1
| |/ | | | | | | | | | | | | | | | | | | In commit f034b0f663 (CMake compilation: do not use compiler extensions, 2020-03-14, v3.18.0-rc1~494^2) we explicitly defined `_POSIX_C_SOURCE` to ensure availability of POSIX APIs even when compiler extensions are not enabled. Update the code to avoid redefining `_POSIX_C_SOURCE` if it is already defined. This occurs when building our release binaries as configured in `Utilities/Release/linux`, where we define `_POSIX_C_SOURCE` explicitly on the compiler command line.
| * Merge branch 'backport-3.18-ci-wix-download' into release-3.18Brad King2021-01-214-0/+23
| |\ | | | | | | | | | Merge-request: !5725
* | \ Merge topic 'doc-find-env-vars' into release-3.19Brad King2021-02-053-3/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c40e81ce80 Help: Restore docs that find_library considers LIB, not INCLUDE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5772
| * | | Help: Restore docs that find_library considers LIB, not INCLUDEBrad King2021-02-043-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation updates in commit 02f527c66a (Find: Provide global controls for the `NO_[]_PATH` call options, 2019-06-12, v3.16.0-rc1~541^2) accidentally switched the `find_library` documentation to mention `INCLUDE` where it should be `LIB`. While at it, update `find_file` and `find_path` to mention `INCLUDE` and `PATH` in the order they are considered.
* | | | Merge topic 'FindBoost-1.75' into release-3.19Brad King2021-02-041-2/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8293064760 FindBoost: Add support for Boost 1.75 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5768
| * | | | FindBoost: Add support for Boost 1.75Brad King2021-02-031-2/+17
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the list of known versions. Run the command cmake -DBOOST_DIR=/path/to/boost_1_75_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.75.0 source tree. They differ from 1.74's dependencies by the addition of dependencies of the json component, so add a new version block to FindBoost. Fixes: #21773
* | | | Merge topic 'xcode-framework-path' into release-3.19Brad King2021-02-047-18/+62
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 5389bb4274 Xcode: Don't hard-code SDK-provided implicit framework search paths df08f8df30 cmComputeLinkInformation: Fix misspelt private variable name 375b307bae Apple: Fix linking to frameworks that do not exist until build time Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5760
| * | | Xcode: Don't hard-code SDK-provided implicit framework search pathsCraig Scott2021-02-033-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a framework is linked to a target by its full path and that framework is located in one of the implicit framework search directories, CMake 3.18.5 and earlier discarded that path. ce2dee9e5ba (Xcode: Don't add framework as -framework argument in linker info list, 2020-09-28) introduced a regression which resulted in the framework path always being added to the search path even if it matched one of the implicit search paths. This broke the ability to do device and simulator builds from the same configured project. Fixes: #21678
| * | | cmComputeLinkInformation: Fix misspelt private variable nameCraig Scott2021-02-032-4/+4
| | | |
| * | | Apple: Fix linking to frameworks that do not exist until build timeBrad King2021-02-036-13/+37
| | | | | | | | | | | | | | | | Fixes: #21621
* | | | Merge topic 'findcudatoolkit_env_path' into release-3.19Brad King2021-02-031-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 4ea6d3c3ae FindCUDAToolkit: Restore use of CUDA_PATH environment variable Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Merge-request: !5761
| * | | FindCUDAToolkit: Restore use of CUDA_PATH environment variableRobert Maynard2021-02-031-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 7cc815a2a6 (CUDAToolkit: Detect CUDA SDK that don't have nvcc, 2020-07-24, v3.19.0-rc1~366^2) accidentally broke use of the `CUDA_PATH` environment variable. Fixes: #21740
* | | CMake 3.19.4v3.19.4Brad King2021-01-281-1/+1
| | |
* | | Merge topic 'doc-multi-config-prop' into release-3.19Brad King2021-01-251-2/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1d7daa668c Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIG Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !5737
| * | | Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIGBrad King2021-01-251-2/+6
| | | | | | | | | | | | | | | | Fixes: #21739