summaryrefslogtreecommitdiffstats
path: root/Modules/FetchContent.cmake
Commit message (Collapse)AuthorAgeFilesLines
* FetchContent: Invoke steps directly and avoid a separate sub-buildCraig Scott2021-02-041-114/+17
| | | | | | | | | | | | 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
* FindGit: Cache the GIT_EXECUTABLE version for the current runCraig Scott2021-01-191-0/+16
| | | | | | | | | | | The git version should not change while CMake is running. When using FetchContent with many dependencies, the repeated calls to get the git version every time ExternalProject is used can be measurable on some platforms. This commit queries that version only once and then caches it in a global property for the rest of that run. The git version can still safely change between runs because it is not cached, only the GIT_EXECUTABLE location is cached. Relates: #21703
* Merge topic 'fc-relative-SOURCE_DIR'Craig Scott2020-12-221-1/+8
|\ | | | | | | | | | | | | 51595e5f01 FetchContent: Relative SOURCE_DIR override cannot be a hard error Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5641
| * FetchContent: Relative SOURCE_DIR override cannot be a hard errorCraig Scott2020-12-221-1/+8
| | | | | | Fixes: #21624
* | Help: Add `.. versionadded` directives to module docsNikita Nemkin2020-12-021-0/+7
|/ | | | Issue: #19715
* FetchContent: Raise error if manually given source dir does not existCraig Scott2020-10-031-0/+6
| | | Fixes: #21208
* FetchContent: Fix SOURCE_DIR, BUILD_DIR when disconnected or overriddenCraig Scott2020-08-231-10/+31
| | | Fixes: #21123
* Help: Add Sphinx 'versionadded' directives to each top-level documentKitware Robot2020-07-061-0/+2
| | | | | | | Run the `Utilities/Sphinx/update_versions.py` script to add initial markup to every top-level document and find module. Issue: #19715
* FetchContent: Pass through CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY if setCraig Scott2020-05-291-6/+11
| | | | | This was missed when the initial support was added in commit 0aea435aa1 (ExternalProject: Provide choice of git update strategies, 2020-02-12)
* FetchContent: Preserve empty string argumentsCraig Scott2020-05-231-21/+41
| | | | Fixes: #20579
* FetchContent: Add support for SOURCE_SUBDIRCraig Scott2020-05-161-12/+58
| | | Fixes: #19875
* FetchContent: Add support for DOWNLOAD_NO_EXTRACTCraig Scott2020-04-031-0/+22
| | | Fixes: #20526
* Help: FetchContent, ExternalProject: Command sections -> subsectionsJoachim Wuttke (o)2020-02-171-2/+5
|
* Refactor: Replace CMAKE_CURRENT_LIST_DIR with CMAKE_CURRENT_FUNCTION_LIST_DIRAlex Turbov2019-12-101-4/+1
| | | | | | Some modules define an intermediate global scope visible variables to access "resource" files from functions. Now these variables could be eliminated.
* FetchContent: Add new command FetchContent_MakeAvailable()Craig Scott2019-01-261-68/+206
| | | Relates: #18754
* FetchContent: Trivial doc correctionsCraig Scott2019-01-201-6/+6
|
* FetchContent: Give access to the terminal for download and updateCraig Scott2019-01-141-0/+7
| | | | | | | | | | | | | | | A main scenario where this is needed is when a git operation needs the password to a private key and asks for it on the console. Without this change, such operations can appear to hang indefinitely with no prompt if QUIET is in effect (which it is by default). Another scenario this addresses is when progress of a download or update should be shown. Without this change, all such progress is buffered with some generators and will only be shown at the end, which defeats the purpose of logging any progress to begin with. Relates: #18238
* FetchContent: Support use of the module before "project()" commandJean-Christophe Fillion-Robin2017-11-071-1/+3
| | | | | Co-authored-by: Craig Scott <craig.scott@crascit.com> Co-authored-by: Brad King <brad.king@kitware.com>
* FetchContent: New module for populating content at configure timeCraig Scott2017-10-161-0/+914