summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* VS: Accept and translate '-T version=' values with three componentsBrad King2021-03-121-0/+37
| | | | | | | | 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-125-91/+100
| | | | | | | | | | | | | | | | | | 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
|
* Xcode: Restore support for spaces in framework namesBrad King2021-03-101-1/+1
| | | | | | | | | | 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
* CMake 3.19.6v3.19.6Brad King2021-02-241-1/+1
|
* CMakePresets.json: Remove undocumented support for commentsKyle Edwards2021-02-241-0/+1
| | | | Fixes: #21858
* CMake 3.19.5v3.19.5Brad King2021-02-151-1/+1
|
* 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 'xcode12-ios_install_combined' into release-3.19Brad King2021-02-094-4/+62
|\ | | | | | | | | | | | | 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-084-4/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-ninja-no-cleandead' into release-3.18Brad King2020-12-142-15/+1
| |\ | | | | | | | | | Merge-request: !5614
| * | CMake 3.18.5v3.18.5Brad King2020-11-181-1/+1
| | |
* | | 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-022-13/+6
| | | | | | | | | | | | Fixes: #21621
* | | CMake 3.19.4v3.19.4Brad King2021-01-281-1/+1
| | |
* | | Merge topic 'vs-sdk-selection' into release-3.19Brad King2021-01-214-3/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 1e67482daf VS: Generalize Win10 max SDK version to all VS generators Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5721
| * | | VS: Generalize Win10 max SDK version to all VS generatorsjonathan molinatto2021-01-204-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` variable added in CMake 3.19 by commit ba497111f6 (VS: Add option for custom Win10 SDK version maximum, 2020-08-20, v3.19.0-rc1~262^2) was documented as if it worked for all generators but implemented only to override CMake's builtin default for the VS 2015 max SDK version. Generalize the variable to set a custom max SDK version for later VS versions too. Fixes: #21720
* | | | file(GET_RUNTIME_DEPENDENCIES): Fix weak macOS libraries not detectedBianca van Schaik2021-01-201-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | Starting with Clang 12, `otool -l` reports `LC_LOAD_WEAK_DYLIB` instead of `LC_LOAD_DYLIB` for weakly linked libraries. Update the implementation of `file(GET_RUNTIME_DEPENDENCIES)` to recognize these. Fixes: #21684
* | | Restore support for cross-compiling CMake itselfMarc Chevrier2021-01-181-1/+7
| | | | | | | | | | | | | | | | | | | | | In commit eb583b0a66 (cmake_path command: path management, 2020-07-23, v3.19.0-rc1~216^2~1) we added a `try_run`. In cross-compilation mode, C++ features tests must avoid running tests if there is no emulator defined.
* | | CMake 3.19.3v3.19.3Brad King2021-01-131-1/+1
| | |
* | | Merge topic 'trace_expand_bracket' into release-3.19Brad King2021-01-121-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e6e7f2cab9 cmMakefile: Don't expand bracket arguments in --trace-expand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5687
| * | | cmMakefile: Don't expand bracket arguments in --trace-expandRaul Tambre2021-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Bracket arguments are literal and shouldn't be expanded. Fixes #21671.
* | | | cmake-gui: Restore linking of Qt resourcesKyle Edwards2021-01-111-2/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | Refactoring in commit 41e223deb3 (CMake GUI: Split up into libraries, add test shim, 2020-09-14, v3.19.0-rc1~116^2~2) broke linking of Qt resources, such as the Add/Remove Entry button icons. Fixes: #21682
* | | Merge topic 'rel-macos-modern' into release-3.19Brad King2021-01-081-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6410425e5b ci: build separate macOS packages for macOS 10.13+ and macOS 10.10+ bbec5a03c8 Utilities/Release: Add script to build Qt 5.15.2 macOS universal binaries 97e238f61b Utilities/Release: Fix macOS Qt 5.9 build script umask 2c5f30b472 cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+ 3679b74a69 gitlab-ci: update upload jobs to go to cmake.org Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5672
| * | | cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+Brad King2021-01-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to https://bugreports.qt.io/browse/QTBUG-59428, Qt 5.10 and above moved macOS style handling into a separate `qmacstyle` plugin. Install the plugin in our `CMake.app` package on macOS. Issue: #21606
* | | | Xcode: Use deterministic object ids for script build phasesBrad King2021-01-062-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Xcode "new build system" only considers a script build phase up to date if it has run before, even if outputs are newer than inputs. Use a deterministic object id for script build phases associated with custom commands so that they do not need to re-run after CMake re-generates the project. Fixes: #21669
* | | | cmGlobalXCodeGenerator: Add infrastructure for deterministic object idsBrad King2021-01-062-15/+28
| | | |
* | | | cmGlobalXCodeGenerator: Adopt pbxproj object id generationBrad King2021-01-066-28/+30
|/ / /
* | | cmSystemTools: Revert use of MOVEFILE_WRITE_THROUGH by RenameFile on WindowsBrad King2020-12-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit d78c22aa64 (cmSystemTools: Improve RenameFile on Windows with MOVEFILE_WRITE_THROUGH, 2020-08-25, v3.19.0-rc1~243^2~3). Using this flag causes the operation to fail frequently in some environments. Drop it for now pending further investigation. Fixes: #21571
* | | CMake 3.19.2v3.19.2Brad King2020-12-161-1/+1
| | |
* | | cmake-gui: Restore completion during path editingBrad King2020-12-151-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 0fc1818831 (QCMakeWidgets: replace QDirModel, 2020-06-15, v3.19.0-rc1~696^2). `QFileSystemModel` is not a drop-in replacement for `QDirModel`. Additional changes are needed to make it work fully. Revert the change and suppress the `QDirModel` deprecation warning pending further investigation. Fixes: #21589
* | | Merge topic 'ispc_control_header_suffixes' into release-3.19Brad King2020-12-155-6/+27
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | c9a50f3556 ISPC: Generated Headers suffix configurable with a better default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5597
| * | | ISPC: Generated Headers suffix configurable with a better defaultRobert Maynard2020-12-145-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target property `ISPC_HEADER_SUFFIX` and associated global variable now can control the suffix used when generating the C/C++ interoperability ISPC headers. In addition the default suffix is now "_ispc.h" which matches the common convention that the ISPC compiler team uses and recommends.
* | | | Merge topic 'support_CMAKE_VFS_OVERLAY_for_rc_compilation' into release-3.19Brad King2020-12-151-4/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 18ee6d7e32 llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5604
| * | | | llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flagsThomas Bernard2020-12-141-4/+16
| |/ / / | | | | | | | | | | | | Issue: #20658
* | | | Merge branch 'backport-ninja-no-cleandead' into ninja-no-cleandeadBrad King2020-12-142-15/+1
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | Ninja: Remove cleandead on regenerationBrad King2020-12-142-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the `cleandead` tool invocation added by commit fb18215904 (Ninja: clean ninja metadata once generated, 2019-05-13, v3.17.0-rc1~207^2). The tool deletes files that were not previously deleted by regenerating the build system. Also, there are use cases where no-longer-generated files should not be removed, such as Qt's TS files. Fixes: #21549
| * | CMake 3.17.5v3.17.5Brad King2020-09-151-1/+1
| | |
* | | Merge topic 'install-properties' into release-3.19Brad King2020-12-141-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 63db7ae9c4 cmake: Clear INSTALL file properties between runs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5603
| * | | cmake: Clear INSTALL file properties between runsBrad King2020-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not keep state across separate project configurations. This is particularly important in `cmake-gui` where those configurations can be for separate projects. Fixes: #21580
* | | | execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenariosAsit Dhal2020-12-101-31/+87
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. COMMAND_ERROR_IS_FATAL ANY will capture errors if the exit code is non zero, there is a timeout or an abnormal exit. 2. COMMAND_ERROR_IS_FATAL LAST will capture if only the last process has an exit code non zero, there is a timeout or an abnormal exit. Fixes: #21562
* | | Merge topic 'correct_ispc_path_computation' into release-3.19Brad King2020-12-083-14/+31
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9af93fef11 ISPC: Handle OBJECT sources in different directories 72ae15ebcb ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY location Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5581
| * | | ISPC: Handle OBJECT sources in different directoriesRobert Maynard2020-12-072-8/+22
| | | |
| * | | ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY locationRobert Maynard2020-12-071-6/+9
| | | |
* | | | macOS: Add architecture flags only for native ASM dialectRaul Tambre2020-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASM dialects like NASM have languages names such as ASM_NASM. However such ASM dialects don't support the architecture flags, so match only the full name. Fixes #21553.
* | | | Merge topic 'export-namelink' into release-3.19Brad King2020-12-024-8/+19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 38bcb5c0a3 export: Do not fail generation for separate namelink only case Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5556
| * | | | export: Do not fail generation for separate namelink only caseDeniz Bahadir2020-12-014-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the change from commit 64690f6df0 (export: Do not fail generation for namelink-only case, 2020-10-09, v3.19.0-rc1~7^2) to also handle separate namelink-only and namelink-skip calls. Fixes: #21529