summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.17.2v3.17.2Brad King2020-04-281-1/+1
|
* Merge topic 'makefile-objc' into release-3.17Brad King2020-04-282-3/+4
|\ | | | | | | | | | | | | | | c4d09fdc6d Makefiles: Add Objective C/C++ compilations to compile_commands.json 98aa628f0b Makefiles: Scan Objective C/C++ preprocessor dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4675
| * Makefiles: Add Objective C/C++ compilations to compile_commands.jsonBrad King2020-04-281-2/+3
| | | | | | | | Fixes: #20634
| * Makefiles: Scan Objective C/C++ preprocessor dependenciesBrad King2020-04-281-1/+1
| | | | | | | | Fixes: #20635
* | Ninja: Remove config suffix from order-only targetKyle Edwards2020-04-233-6/+15
| | | | | | | | Fixes: #20621
* | Merge topic 'apple-merge-same-sysroot' into release-3.17Brad King2020-04-222-1/+24
|\ \ | | | | | | | | | | | | | | | | | | 3a7d1e9592 Apple: Merge per-arch sysroot parameters if all are the same Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4647
| * | Apple: Merge per-arch sysroot parameters if all are the sameGregor Jasny2020-04-212-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a9b41195d2 (Handle multi-arch sysroots on Apple platforms, 2019-07-26, v3.17.0-rc1~287^2), CMake supports "fat" builds with different sysroots. Those are passed to the compiler with the `-Xarch_<xyz>` parameter. Unfortunately this breaks the Compiler Cache (ccache) because it does not support those compiler flags: https://github.com/ccache/ccache/blob/v3.7.9/src/ccache.c#L2700-L2705 Restore the caching ability for certain "fat" build configurations (e.g. `arm64` and `armv7`) where the sysroot is the same for all selected architectures and thus a plain `-isysroot` parameter could be used.
* | | Merge topic 'cpack-symlinks' into release-3.17Brad King2020-04-222-0/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | bcc5cd44ed CPack: Do not recurse through directory symlinks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4637
| * | CPack: Do not recurse through directory symlinksBrad King2020-04-212-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Extend the fix from commit 7b8dcdd173 (CPack: Do not recurse through directory symlinks (#12284), 2011-08-27, v2.8.6~55^2) to more places in CPack. Issue: #12284
* | | Merge topic 'ninja-fortran-doc' into release-3.17Brad King2020-04-201-8/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | fa31c195b8 Ninja: Document that Fortran support is available with Ninja 1.10+ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4626
| * | | Ninja: Document that Fortran support is available with Ninja 1.10+Brad King2020-04-171-8/+1
| |/ / | | | | | | | | | | | | | | | Ninja 1.10 was released in Jan 2020 and has the features we need to support Fortran. Replace documentation that mentions Kitware's branch with mention of Ninja 1.10+ instead.
* | | Merge topic 'ibmi-aix-exports' into release-3.17Brad King2020-04-151-2/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 420e91c951 AIX: Activate symbol export/import IBM i (OS400) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4611
| * | | AIX: Activate symbol export/import IBM i (OS400)Brad King2020-04-141-2/+5
| | |/ | |/| | | | | | | Fixes: #20582
| * | CMake 3.16.6v3.16.6Brad King2020-04-101-1/+1
| | |
| * | Merge branch 'backport-3.16-link-libs-config-case' into release-3.16Brad King2020-03-301-5/+2
| |\ \ | | | | | | | | | | | | Merge-request: !4544
| | * | target_link_libraries: Fix regression in case of $<CONFIG> genexBrad King2020-03-301-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit b8626261e9 (Precompile headers: Add methods to generate PCH sources, 2019-07-13, v3.16.0-rc1~182^2~4) we look up source files for a target using an upper-case configuration even though an original-case name is sufficient. Since commit 36ded610af (PCH: Generate sources during Compute step, 2019-10-05, v3.16.0-rc1~2^2) the source file lookup is the first time we compute many on-demand structures that depend on the configuration name. This caused the `$<CONFIG>` generator expression to evaluate to the upper-case configuration name in some cases where we used original-case before. Fix this by switching the source file lookup to the original-case config name. Add a test covering the symptom that led to the discovery of this problem. Fixes: #20517
| * | | Merge branch 'make-nested-silent' into release-3.16Brad King2020-03-261-1/+5
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !4515
* | | | | file(UPLOAD): Add default ca_certsHarry Mallon2020-04-151-0/+7
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Default ca_certs were not added when using `UPLOAD` with built-in (non-system) cURL. Previously we only did this for `DOWNLOAD`. Fixes: #20551
* | | | CMake 3.17.1v3.17.1Brad King2020-04-091-1/+1
| | | |
* | | | Merge topic 'ccmake_incremental_log_display' into release-3.17Brad King2020-04-094-19/+48
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 60bfaa8fe6 ccmake: Use incremental rendering for the logs e9b36731e9 cmCursesLongMessageForm: Factor out helper to draw message to form Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !4573
| * | | | ccmake: Use incremental rendering for the logsSylvain Joubert2020-04-084-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should avoid an exponential slowdown in the display time for projects with lots of output. This is still slower than cmake due to the ncurses drawing, but it should now be O(L) in total and not O(L^2) wrt to output length. Fixes: #20535
| * | | | cmCursesLongMessageForm: Factor out helper to draw message to formBrad King2020-04-082-8/+15
| | | | |
* | | | | Merge topic 'apple-arch-sysroots' into release-3.17Brad King2020-04-092-11/+29
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 84a1e67380 Apple: Fix mapping CMAKE_APPLE_ARCH_SYSROOTS to custom OSX_ARCHITECTURES 45fa9b32ca Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4583
| * | | | | Apple: Fix mapping CMAKE_APPLE_ARCH_SYSROOTS to custom OSX_ARCHITECTURESBrad King2020-04-082-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `CMAKE_OSX_ARCHITECTURES` value is not used directly by generators. It is used to initialize a per-target `OSX_ARCHITECTURES` property, but that property can also be set explicitly by project code to a subset of the full list of architectures. In order to handle this case, construct a mapping from each `CMAKE_OSX_ARCHITECTURES` entry to the corresponding `CMAKE_APPLE_ARCH_SYSROOTS` entry by name. Use the mapping to find the sysroot for each entry in `OSX_ARCHITECTURES` for a given target. If `CMAKE_APPLE_ARCH_SYSROOTS` does not have the same length as `CMAKE_OSX_ARCHITECTURES`, error out early rather than risking a crash or assertion failure. Fixes: #20534
| * | | | | Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTSBrad King2020-04-081-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `<arch>-SDK-NOTFOUND` instead of an empty string as a placeholder in `CMAKE_APPLE_ARCH_SYSROOTS` for architectures whose SDK is not found. This ensures the length of `CMAKE_APPLE_ARCH_SYSROOTS` matches the length of `CMAKE_OSX_ARCHITECTURES`. It also makes the missing SDKs more visible in the value. Issue: #20534
* | | | | Ninja: Make config uppercase in object order targetKyle Edwards2020-04-071-1/+1
|/ / / / | | | | | | | | | | | | Fixes: #20539
* | | | Merge topic 'llvm-rc-include-path' into release-3.17Brad King2020-04-071-5/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4570
| * | | | llvm-rc: Restore include path for data after explicit preprocessingThomas Bernard2020-04-061-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 1c2d031cbd (Add -E cmake_llvm_rc to preprocess files for llvm-rc, 2020-01-14, v3.17.0-rc1~24^2) with llvm-rc we explicitly preprocess RC source files and then compile separately without -I flags. This broke cases where the RC source references data files adjacent to itself or in the include path. This change adds the expansion of the include paths when calling the llvm-rc in order for the resource files to be picked up correctly by llvm-rc. Since the RC compiled file is first preprocessed, the file being compiled by llvm-rc resides in the build directory. In order for llvm-rc to find the resource data specified relative to the .rc file being compiled, the source file path is preppended in the include list so that the original source path takes priority over all the other includes paths specified. A space was added in the CMAKE_INCLUDE_FLAG_RC to make the include directive work properly for llvm-rc. Checks on the rc.exe showed that the syntax change doesn't affect it's proper operation. Fixes: #20529
* | | | | Merge topic 'cpack-nsis-version' into release-3.17Brad King2020-04-011-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aa78a2537c CPack/NSIS: Document and check requirement of at least NSIS 3.0 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4552
| * | | | | CPack/NSIS: Document and check requirement of at least NSIS 3.0Brad King2020-03-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 9d2816544e (CPack/NSIS: Also preload the "UserInfo.dll" plugin, 2020-01-04, v3.17.0-rc1~204^2) we require NSIS 3.0. Since older versions do not support Windows 8 or above, we can now require at least version 3.0. Fixes: #20514
* | | | | | Merge topic 'link-libs-config-case' into release-3.17Brad King2020-03-311-6/+2
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2af18704fd Merge branch 'backport-3.16-link-libs-config-case' 3f976bf201 target_link_libraries: Fix regression in case of $<CONFIG> genex 5a95b5e091 target_link_libraries: Fix regression in case of $<CONFIG> genex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4544
| * | | | | target_link_libraries: Fix regression in case of $<CONFIG> genexBrad King2020-03-301-6/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit b8626261e9 (Precompile headers: Add methods to generate PCH sources, 2019-07-13, v3.16.0-rc1~182^2~4) we look up source files for a target using an upper-case configuration even though an original-case name is sufficient. Since commit 36ded610af (PCH: Generate sources during Compute step, 2019-10-05, v3.16.0-rc1~2^2) the source file lookup is the first time we compute many on-demand structures that depend on the configuration name. This caused the `$<CONFIG>` generator expression to evaluate to the upper-case configuration name in some cases where we used original-case before. Fix this by switching the source file lookup to the original-case config name. Add a test covering the symptom that led to the discovery of this problem. Fixes: #20517
* | | | | Merge topic 'ctest-timeout-report' into release-3.17Brad King2020-03-272-8/+14
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7fda917fa4 CTest: Fix reported duration on timeout when grindchild keeps pipes open Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4530
| * | | | | CTest: Fix reported duration on timeout when grindchild keeps pipes openBrad King2020-03-262-8/+14
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d1976cd1f2 (CTest: Fix timeout when grandchild keeps pipes open, 2020-01-13, v3.17.0-rc1~169^2) we no longer hang, but the test duration we report after the timeout is the amount of time the immediate child ran before exiting. Fix the logic to instead report the actual amount of time we spent monitoring the test before the timeout. Fixes: #20509
* | | | | Merge topic 'llvm-rc-stderr' into release-3.17Brad King2020-03-271-0/+9
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc93cbb0d8 llvm-rc: Print stderr output when calling tools through cmake_llvm_rc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4525
| * | | | | llvm-rc: Print stderr output when calling tools through cmake_llvm_rcThomas Bernard2020-03-261-0/+9
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | The stored error pipe is output if the program fails. Fixes: #20494
* | | | | Merge topic 'make-nested-silent' into release-3.17Brad King2020-03-271-1/+5
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | d6d9da5178 Makefiles: Fix silencing of nested calls for GNU make 4.3 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4515
| * | | | Makefiles: Fix silencing of nested calls for GNU make 4.3Brad King2020-03-261-1/+5
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Since GNU make 4.3, `.SILENT:` no longer causes nested `$(MAKE)` calls to get `-s` implicitly. Add the `-s` flag explicitly on such calls to suppress messages about Entering/Leaving directories. Fixes: #20487
* | | | 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