summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | | Merge topic 'ninja-regen-metadata' into release-3.19Brad King2020-12-012-2/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 73d1c78bf4 ci: update to use ninja 1.10.2 11f4259362 Ninja: Clean metadata after regen during build on Windows with 1.10.2+ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5555
| * | | | Ninja: Clean metadata after regen during build on Windows with 1.10.2+Brad King2020-11-302-2/+11
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ninja 1.10.2 fixes support for `generator = 1` rules that run metadata update commands during regeneration while a build is running. Update the condition added by commit ccaa0bccc4 (Ninja: Do not clean metadata when re-generating inside a running build, 2020-01-27, v3.17.0-rc1~73^2) to remove our workaround when Ninja is new enough. Fixes: #20274
* | | | PCH: Fix compiler errors on iOS multi-arch using Ninja Multi-ConfigCristian Adam2020-11-301-2/+4
|/ / / | | | | | | | | | Fixes: #21401
* | | QNX: Do not disable compiler extensions for CMake itselfStephen Kelly2020-11-251-3/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `set(CMAKE_CXX_EXTENSIONS FALSE)` option has the effect of passing compile option `-std=c++NN` instead of `-std=gnu++NN`. On some platforms, the latter form (or the secondary effects that it has, such as setting _XOPEN_SOURCE) is required. This typically affects platforms such as mingw, cygwin and QNX. The GNU-like compiers default to `-std=gnu++NN`, which means that users can typically build source code on those platforms by default. While the `set(CMAKE_CXX_EXTENSIONS FALSE)` option was set here in commit f034b0f6 (CMake compilation: do not use compiler extensions, 2020-03-14), the other changes in that commit added `#defines` which become required in the absense of use of `-std=gnu++NN`. However, only platforms regularly tested in the cmake dashboard were ported, as is reasonable. That made CMake fail to compile on QNX and perhaps other platforms which for which no one is submitting regular testing to the cmake dashboard. Make the `set(CMAKE_CXX_EXTENSIONS FALSE)` option conditional on non-QNX to restore the QNX build. Issue: #21503
* | CMake 3.19.1v3.19.1Brad King2020-11-241-1/+1
| |
* | Merge topic 'policy-cmp0111-iface' into release-3.19Brad King2020-11-242-28/+31
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 54ef732b0c cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE library f06f4b517c cmTarget: Do not enforce CMP0111 on imported INTERFACE libraries 43c95df8fb Tests: Match RunCMake.CMP0111 stderr more strictly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5530
| * | cmVisualStudio10TargetGenerator: Avoid GetFullPath on INTERFACE libraryBrad King2020-11-231-1/+2
| | | | | | | | | | | | Issue: #21470
| * | cmTarget: Do not enforce CMP0111 on imported INTERFACE librariesBrad King2020-11-231-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | Fix logic added by commit 359c500a24 (cmTarget: Raise error if imported target location is not set, 2020-08-08, v3.19.0-rc1~273^2) to exclude INTERFACE libraries from the policy. They have no location. Fixes: #21470
* | | Merge topic 'fix-find-make-program' into release-3.19Brad King2020-11-244-1/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ef91fb02f3 cmGlobalGenerator: FindMakeProgram() at a generator-specific time Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Frank Dana <ferdnyc@gmail.com> Merge-request: !5529
| * | | cmGlobalGenerator: FindMakeProgram() at a generator-specific timeKyle Edwards2020-11-234-1/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | d5b5c192 moved FindMakeProgram() to an earlier time, which resulted in CMAKE_MAKE_PROGRAM not being read from the toolchain file. Change it to only call FindMakeProgram() early in the specific cases of Visual Studio and Xcode, and restore the old behavior for all other generators. Fixes: #21486
* | | Merge topic 'xcode-cc-work-dir' into release-3.19Brad King2020-11-241-3/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 36921d2d23 Xcode: Fix custom command work-dir placeholders in "new build system" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5527
| * | | Xcode: Fix custom command work-dir placeholders in "new build system"Brad King2020-11-231-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The placeholders for `CONFIGURATION` and `EFFECTIVE_PLATFORM_NAME` need to be handled in the `WORKING_DIRECTORY` of custom commands just as we already do for the `COMMAND`. Fixes: #21483
* | | | Merge topic 'cmFileTime-fix-overflow' into release-3.19Brad King2020-11-242-27/+40
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | b4c994f69c cmFileTime: Fix overflow on time computation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5526
| * | | cmFileTime: Fix overflow on time computationMarc Chevrier2020-11-232-27/+40
| |/ / | | | | | | | | | | | | | | | On Windows, time starting point is Januray, 1st of 1601. So computing number of nanoseconds from this date exceeds 64bit capabilities.
* | | Merge topic 'fix-compile-db-crash' into release-3.19Brad King2020-11-231-6/+10
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 67e2130c96 Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5521
| * | Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile ruleBrad King2020-11-201-6/+10
| | | | | | | | | | | | Fixes: #21471
* | | Revert "specify language flag when source LANGUAGE property is set"Brad King2020-11-194-32/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 74b1c9fc8e (Explicitly specify language flag when source LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup tables from its two immediate ancestors. The purpose of that change was to convert an explicit `LANGUAGE` source file property into an explicit language specification compiler flag like `-x c`. This seems reasonable since the property is documented as meaning "indicate what programming language the source file is". It is also needed to help compilers deal with non-standard source file extensions they don't recognize. However, some projects have been setting `LANGUAGE C` on `.S` assembler source files to mean "use the C compiler". Passing `-x c` for them breaks the build because the `.S` sources are not written in C. These projects should be updated to use `enable_language(ASM)`, for which CMake often chooses the C compiler as the assembler when using toolchains that support it (which would have to be the case for projects using the approach). Revert the change for now to preserve the old behavior for such projects. We can re-introduce it with a policy in a future version of CMake. Fixes: #21469 Issue: #14516, #20716
* | CMake 3.19.0v3.19.0Brad King2020-11-181-1/+1
| |
* | CTest: Rename CudaMemcheck to CudaSanitizerTobias Ribizel2020-11-172-16/+16
| |
* | Xcode: Clean library paths to avoid linker duplicate symbol definitionsGusts Kaksis2020-11-151-10/+20
| |
* | Ninja: Avoid cleandead with dyndep bindings for Fortran module dependenciesBrad King2020-11-102-2/+10
| | | | | | | | | | | | | | | | | | The Ninja `cleandead` tool does not account for implicit outputs discovered by `dyndep` bindings and can remove Fortran `.mod` files that are still needed. Disable the `cleandead` step when using `dyndep` bindings. Fixes: #21406
* | CMake 3.19.0-rc3v3.19.0-rc3Brad King2020-11-061-1/+1
| |
* | Merge topic 'cmake-gui-file-dialog-crash' into release-3.19Brad King2020-11-062-0/+14
|\ \ | | | | | | | | | | | | | | | | | | 5f782119c8 cmake-gui: Restore workaround for crash in file dialog Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5472
| * | cmake-gui: Restore workaround for crash in file dialogBrad King2020-11-052-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit ce9dbceb42 (QtDialog: remove Qt4-only code, 2020-06-02, v3.19.0-rc1~712^2~1) we removed an event filter that was thought to be necessary only as a workaround for a bug in Qt. However, that bug was fixed in Qt 4.5, and the file dialog still crashes as of Qt 5.14 without the filter. Restore the workaround pending further investigation. Fixes: #21400
* | | Xcode: Inherit target library and framework search paths from projectGusts Kaksis2020-11-051-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode has multiple levels of build settings with priority in descending order: 1. Target 2. Project 3. Workspace 4. SDK defaults `CMAKE_XCODE_ATTRIBUTE_*` path variables add these to project level, but linked frameworks and libraries override this in target level. Add the `$(inherited)` macro to keep both in the final list. Fixes: #21387
* | cmake_path: remove new command from 3.19Marc Chevrier2020-11-032-4/+0
| | | | | | | | | | | | | | Defer adding this command until post-3.19 development so that it has more time to mature before being included in a release. Issue: #21385
* | CMakePresets.json: Don't warn if no path argument is givenKyle Edwards2020-11-021-1/+7
| | | | | | | | | | | | | | | | | | If --preset is specified with no path argument, use the current directory as the source directory, the preset's binaryDir as the binary directory, and don't issue the standard warning for no path specified. Fixes: #21386
* | CMake 3.19.0-rc2v3.19.0-rc2Brad King2020-10-281-1/+1
| |
* | Merge topic 'cmake-presets-help-flag' into release-3.19Brad King2020-10-283-3/+8
|\ \ | | | | | | | | | | | | | | | | | | c619be2784 ccmake: Don't list --preset in --help Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5428
| * | ccmake: Don't list --preset in --helpKyle Edwards2020-10-273-3/+8
| | | | | | | | | | | | | | | | | | And show available options in cmake-gui. Fixes: #21313
* | | Merge topic 'cmake-gui-manual-argument' into release-3.19Brad King2020-10-282-14/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ef03124237 CMake GUI: Add --browse-manual argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5417