summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Help: Convert some genex names to explicit cross-referencesBrad King2021-02-056-11/+11
| | | | | | | | | Since commit c2dc7e0f53 (Help: Convert genex documentation to sphinx domain objects, 2021-01-15) we can use `:genex:` cross-references to link to named generator expressions. Update some places to do this. This is meant to demonstrate the capability, not as a comprehensive sweep.
* Merge topic 'fetchcontent-performance'Brad King2021-02-0536-1156/+1907
|\ | | | | | | | | | | | | | | | | | | | | | | 17e5516e60 FetchContent: Invoke steps directly and avoid a separate sub-build 4f3d1abbb4 ExternalProject: Refactor pre-configure steps to support no-target uses 23aab9ecce ExternalProject: Avoid scanning docs for keywords, use include_guard() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev> Acked-by: Lars Melchior <lars.melchior@gmail.com> Merge-request: !5749
| * FetchContent: Invoke steps directly and avoid a separate sub-buildCraig Scott2021-02-0416-326/+481
| | | | | | | | | | | | | | | | | | | | | | | | The cost of setting up and executing a separate sub-build to do the download, update and patch steps required for FetchContent population can be significant with some platforms and CMake generators. Avoid the sub-build altogether by invoking the step scripts directly. Previously, if no generator was set (e.g. population was being done in script mode), a generator needed to be available on the default PATH. Since we no longer use a sub-build, this restriction is also now gone. Fixes: #21703
| * ExternalProject: Refactor pre-configure steps to support no-target usesCraig Scott2021-02-0421-784/+1299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mkdir, download, update and patch steps are used by FetchContent during the configure phase of the main build. Because these steps need a target, this has so far required a sub-build to be set up. The changes here factor out the preparation of the scripts from the creation of the targets, allowing future work to leverage these steps without a sub-build (see #21703). As part of the refactoring, some rationalisation of the stamp files, repository info files and script names was done to make things more consistent between download methods and step implementations. Every download method now records its own specific repository info in a file and that file is a dependency of the download step. The source directory is also written to that file, so if the SOURCE_DIR changes, the download will be retriggered (the existing implementation fails in this scenario). Each download method now also has just one driver script that implements the whole step (it may pull in other scripts to do its task though). The patch step gained support for USES_TERMINAL as a result of generalising the implementation for custom commands. Fixes: #21748
| * ExternalProject: Avoid scanning docs for keywords, use include_guard()Craig Scott2021-01-298-97/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation was scanning the documentation in the file at runtime to determine the set of supported keywords for each public function. This was fragile, made it difficult to restructure the documentation and was sometimes observable in runtime performance measurements. Change to a more conventional approach where supported keywords are explicitly listed in the code. The internal _ExternalProject_SELF variable is no longer needed. CMake now provides CMAKE_CURRENT_FUNCTION_LIST_DIR which can be used for the same purpose and avoids having to set a variable when the module is read. This also removes the requirement that the module must be included by the current or a parent scope. It is now enough that the module has been included once somewhere before calling any of its functions. The above changes combined mean that the module can now use include_guard() and avoid having to re-parse the very long file every time.
* | Merge topic 'build-test-presets'Brad King2021-02-0595-390/+3667
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9b5289ebd8 Help: Add release note for build and test presets c8a5cd6871 Tests: Update RunCMake/CMakePresets --list-presets 69a5cf23a2 Tests: Update RunCMake/CommandLine BuildDir b500935b94 Tests: Add test preset tests 74a86566f0 Tests: Add build preset tests 56751c83aa Tests: Factor out RunCMake.CMakePresets schema validation 676ecf0d37 cmake-presets: Add build and test presets 4f4f2028b8 Help: Add documentation for buildPresets and testPresets ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5681
| * | Help: Add release note for build and test presetsBrad King2021-02-041-0/+4
| | |
| * | Tests: Update RunCMake/CMakePresets --list-presetsSam Freed2021-02-044-4/+4
| | |
| * | Tests: Update RunCMake/CommandLine BuildDirSam Freed2021-02-0411-11/+11
| | |
| * | Tests: Add test preset testsSam Freed2021-02-0436-0/+464
| | |
| * | Tests: Add build preset testsSam Freed2021-02-0429-0/+301
| | |
| * | Tests: Factor out RunCMake.CMakePresets schema validationSam Freed2021-02-042-15/+20
| | | | | | | | | | | | | | | Make it available to similar tests. Also fix whitespace in generated error message.
| * | cmake-presets: Add build and test presetsSam Freed2021-02-019-343/+1868
| | | | | | | | | | | | Fixes: #21391
| * | Help: Add documentation for buildPresets and testPresetsSam Freed2021-02-013-4/+523
| | |
| * | Help: Add buildPresets and testPresets to JSON schemaSam Freed2021-01-271-13/+472
| | |
* | | Merge branch 'release-3.19'Brad King2021-02-050-0/+0
|\ \ \
| * \ \ 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
* | \ \ \ Merge topic 'doc-find-env-vars'Brad 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.
* | | | | CMake Nightly Date StampKitware Robot2021-02-051-1/+1
| | | | |
* | | | | Merge topic 'aix-xcoff-edit'Brad King2021-02-0427-56/+639
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e017ba046c AIX: Enable XCOFF editing to replace RPATH on installation 56fc4a325f cmXCOFF: Add helper to parse and edit the XCOFF binary format ddaaee907d CMakeDetermineCompilerId: Recognize XCOFF executable format 69e1d95a8a Tests: Add sample XCOFF binaries f79d991dfd Tests: Convert CMake.ELF to RunCMake.file-RPATH ELF case d8f3e68ca9 Ninja Multi-Config: Enable relink diagnostic message cdcfe3eb99 Rename CMAKE_USE_MACH_PARSER to CMake_USE_MACH_PARSER b6071c93f5 Rename CMAKE_USE_ELF_PARSER to CMake_USE_ELF_PARSER Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5769
| * | | | | AIX: Enable XCOFF editing to replace RPATH on installationBrad King2021-02-038-18/+157
| | | | | | | | | | | | | | | | | | | | | | | | Avoid relinking before installation.
| * | | | | cmXCOFF: Add helper to parse and edit the XCOFF binary formatBrad King2021-02-034-0/+432
| | | | | |
| * | | | | CMakeDetermineCompilerId: Recognize XCOFF executable formatBrad King2021-02-031-0/+5
| | | | | |
| * | | | | Tests: Add sample XCOFF binariesBrad King2021-02-032-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generate the binaries as follows: $ cat main.c int main(void) { return 0; } $ xlc -q64 -o xcoff64.bin -Wl,-blibpath:/sample/rpath:/usr/lib:/lib main.c $ strip -X 64 xcoff64.bin $ xlc -q32 -o xcoff32.bin -Wl,-blibpath:/sample/rpath:/usr/lib:/lib main.c $ strip -X 32 xcoff32.bin
| * | | | | Tests: Convert CMake.ELF to RunCMake.file-RPATH ELF caseBrad King2021-02-039-15/+19
| | | | | |
| * | | | | Ninja Multi-Config: Enable relink diagnostic messageBrad King2021-02-033-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already have a message for the "Ninja" generator, but it applies to the "Ninja Multi-Config" generator too.
| * | | | | Rename CMAKE_USE_MACH_PARSER to CMake_USE_MACH_PARSERBrad King2021-02-034-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | We use the `CMake_` prefix for options affecting CMake itself.
| * | | | | Rename CMAKE_USE_ELF_PARSER to CMake_USE_ELF_PARSERBrad King2021-02-036-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | We use the `CMake_` prefix for options affecting CMake itself.
* | | | | | Merge topic 'issue-17634'Brad King2021-02-046-2/+43
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5af38a11ce try_run: Allow to set working directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5757
| * | | | | | try_run: Allow to set working directoryAsit Dhal2021-02-036-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #17634
* | | | | | | Merge topic 'bootstrap-include-check-ldflags'Brad King2021-02-041-5/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 11260f6c20 bootstrap: add cmake_ld_flags to include check Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5770
| * | | | | | | bootstrap: add cmake_ld_flags to include checkIssam E. Maghni2021-02-031-5/+5
| | |/ / / / / | |/| | | | |
* | | | | | | Merge topic 'update-curl'Brad King2021-02-04146-6621/+9151
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24f3388fa4 curl: Set build options the way we need for CMake 426ef61cc8 Merge branch 'upstream-curl' into update-curl 076b3219f5 curl 2021-02-03 (2f33be81) 0341888c00 curl: Update script to get curl 7.75.0 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5767
| * | | | | | | curl: Set build options the way we need for CMakeBrad King2021-02-031-0/+2
| | | | | | | |
| * | | | | | | Merge branch 'upstream-curl' into update-curlBrad King2021-02-03145-6620/+9148
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * upstream-curl: curl 2021-02-03 (2f33be81)
| | * | | | | | | curl 2021-02-03 (2f33be81)Curl Upstream2021-02-03145-6620/+9148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://github.com/curl/curl.git at commit 2f33be817cbce6ad7a36f27dd7ada9219f13584c (curl-7_75_0).
| * | | | | | | | curl: Update script to get curl 7.75.0Brad King2021-02-031-1/+1
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge branch 'release-3.19'Brad King2021-02-040-0/+0
|\ \ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | |
| * | | | | | | 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
* | \ \ \ \ \ \ \ Merge topic 'FindBoost-1.75'Brad 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 branch 'release-3.19'Brad King2021-02-040-0/+0
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | 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
* | | | | | | | Merge topic 'xcode-framework-path'Brad King2021-02-043-5/+25
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-026-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21621
* | | | | | | | CMake Nightly Date StampKitware Robot2021-02-041-1/+1
| |_|/ / / / / |/| | | | | |
* | | | | | | Merge topic 'intel-llvm-compilers'Brad King2021-02-031-3/+16
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a552487843 Help: Clarify release note for IntelLLVM compiler support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5758