summaryrefslogtreecommitdiffstats
path: root/Modules/ExternalProject.cmake
Commit message (Collapse)AuthorAgeFilesLines
* ExternalProject: omit --no-checkout from git clone when using git 2.20.x.Nate Avers2020-07-241-1/+5
| | | | | | | | | The optimization from commit 627fc5b44f (ExternalProject: Avoid unnecessary checkout on clone, 2019-07-29, v3.16.0-rc1~325^2) triggers a bug in the Git 2.20.x series that is not in older or newer versions. Drop the optimization for that specific range of Git versions. Fixes: #21009
* Update links to gitlab.kitware.com repos to add `-/`Brad King2020-05-261-1/+1
| | | | | | GitLab now uses a `/-/` component between the `group/project` part of the URL and the `{issues,merge_requests,tree}` part so that it can support `group/subgroup/project` with arbitrary depth.
* Merge topic 'fetchcontent-externalproject-empty-args'Craig Scott2020-05-251-70/+122
|\ | | | | | | | | | | | | | | 8dca6bd04b FetchContent: Preserve empty string arguments cbf2daeed0 ExternalProject: Preserve empty string arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4729
| * ExternalProject: Preserve empty string argumentsCraig Scott2020-05-231-70/+122
| |
* | ExternalProject: Provide choice of git update strategiesCraig Scott2020-05-231-2/+51
| | | | | | | | | | Fixes: #16528 Co-Authored-By: Michael Wake <macwake@gmail.com>
* | ExternalProject: factor out gitupdate step to separate fileCraig Scott2020-05-231-163/+5
|/ | | | | | | | The refactoring exposed that the original implementation was referring to an undefined variable src_name, which was previously only used in error messages. This has been fixed as part of the refactoring work. Fixes: #20336
* Merge topic 'fix-cache-args-file-to-dep-list'Brad King2020-05-131-0/+4
|\ | | | | | | | | | | | | 0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4710
| * ExternalProject: expose _ep_cache_args_script to the callerBen Boeckel2020-05-121-0/+4
| | | | | | | | | | | | | | This is needed so that the caller can add a dependency on the cache file. Fixes: #20668
* | ExternalProject: Fix step dependency on mkdir stepVyacheslav Yurkov2020-04-201-1/+1
| | | | | | | | | | | | | | | | When looking at `list(FIND)` result, zero index is ignored due to incorrect error handling, and users can't set dependencies on mkdir step. Fixes: #20605
* | ExternalProject: Enforce that patch depends on updateCraig Scott2020-04-031-13/+20
| | | | | | Fixes: #17229
* | Merge topic 'ExternalProject-no-extract-bool'Brad King2020-04-031-1/+1
|\ \ | |/ | | | | | | | | | | 2c4bb705e8 ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4562
| * ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`Ben Boeckel2020-04-021-1/+1
| | | | | | | | Fixes: #20531
* | Merge topic 'doc-sections'Brad King2020-02-181-3/+6
|\ \ | |/ |/| | | | | | | | | | | | | | | 22aac6669b Help: install: use bullet lists to sort out target kinds b3f4d50348 Help: ifw.rst: Add toc; mv "Hints" section -> subsection of "Variables" c671966c20 Help: CPackComponent: Sectioning and rewording 05e56b1897 Help: FetchContent, ExternalProject: Command sections -> subsections Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4367
| * Help: FetchContent, ExternalProject: Command sections -> subsectionsJoachim Wuttke (o)2020-02-171-3/+6
| |
* | ExternalProject: Quote each git --config option to handle spacesCraig Scott2020-02-151-1/+1
|/ | | Fixes: #20354
* ExternalProject: Fix git submodule recursion on updateCharis Marangos2020-02-101-19/+28
| | | | | | | | | | In commit 5bc6230741 (ExternalProject: Option to turn off recursive update of git submodules, 2019-10-16) we implemented the feature in the clone script written by `_ep_write_gitclone_script` but not in the update script written by `_ep_write_gitupdate_script`. Implement the latter by factoring out a common helper to use in both places. Fixes: #20335
* ExternalProject: replace LIST_SEPARATOR in initial cache files tooBen Boeckel2019-11-201-0/+5
|
* replace remove and remove_directory with rm in testsJohnny Jazeix2019-11-131-3/+3
|
* ExternalProject: Option to turn off recursive update of git submodulesCharis Marangos2019-10-241-5/+22
| | | | Fixes: #19832
* ExternalProject: fix some documentation typosBen Boeckel2019-10-091-2/+2
|
* ExternalProject: Avoid unnecessary checkout on cloneTetragramm2019-07-301-1/+1
| | | | | | The clone step checks out the cloned branch but is always followed by an explicit checkout of the desired `GIT_TAG`. Tell `git clone` not to check out.
* ExternalProject: Support not initializing any submodulesRobert Maynard2019-07-241-18/+50
| | | | Fixes #15592
* Merge topic 'ghs_custom'Brad King2019-04-151-12/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2bae6a1346 GHS: Update tests and notes 3b415c60c1 GHS: Update ExternalProject for GHS tools 83c47ef5b8 GHS: Update project layout to accommodate gbuild inconsistencies 5d2e1404bd GHS: Update project layout to build targets correctly b6bfa7eeb2 GHS: Support add_dependencies() command 39ee9718d9 GHS: Support add_custom_target() command 8d3dad9a76 GHS: Support add_custom_command( OUTPUT ) signature 37acc9e229 GHS: Update custom command build events Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Narendhar Manimohan <narendhar15@gmail.com> Merge-request: !3119
| * GHS: Update ExternalProject for GHS toolsFred Baksik2019-04-111-12/+26
| | | | | | | | | | | | | | | | | | -- When using default values for the external project forward GHS platform variables so that the external project builds with the same tools as the original project. -- Fix issue with bad top level project when GHS_PRIMARY_TARGET is set but has no value. In this case treat it as unset and use default value.
* | Modules: Update documentation formattingBartosz Kosiorek2019-04-081-9/+10
|/
* ExternalProject: Optimize Mercurial commandsBartosz Kosiorek2019-03-191-12/+5
|
* ExternalProject: Optimize git commandsBartosz Kosiorek2019-03-191-23/+18
|
* ExternalProject: Extend documentation about GIT_TAG usageBartosz Kosiorek2019-03-151-0/+3
| | | | | | | | When GIT_SHALLOW is used, the '--depth 1 --no-single-branch' arguments are add. It means that only branch names and tags is downloaded to repository. Most Commit Hash is not working. With this commit the documentation was updated, to describe the limitation of GIT_SHALLOW.
* ExternalProject: Drop unnecessary 'git submodule init'Bartosz Kosiorek2019-03-141-9/+0
| | | | | | | Since commit 79410eeb1f (ExternalProject: Initialize Git submodules recursively and on update (#16083), 2016-04-26, v3.6.0-rc1~105^2) our `git submodule update` step uses the `--init` flag. This makes the prior `git submodule init` unnecessary.
* ExternalProject: Simplify generated 'git clone' scriptsBartosz Kosiorek2019-03-141-28/+24
| | | | | Revise script generation to hard-code selected options instead of building them with logic inside the script.
* ExternalProject: Re-run 'git clone' when GIT_REMOTE_NAME changesBartosz Kosiorek2019-03-141-1/+1
|
* Merge topic 'ExternalProject-fix-log-in-custom-stamp'Brad King2019-03-011-2/+14
|\ | | | | | | | | | | | | a6d3fee77c ExternalProject: Restore default log dir with custom stamp dir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3045
| * ExternalProject: Restore default log dir with custom stamp dirBrad King2019-03-011-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit b6f6cac378 (ExternalProject: add LOG_DIR option that allows overriding of log location, 2018-10-12, v3.14.0-rc1~515^2~1) the log directory got its own option. The intention was to fall back to the stamp directory by default. However, the implementation actually only falls back to the same default as the stamp directory and does not consider a custom stamp dir. Update the default log dir computation to fall back to whatever is the final selection for the stamp dir. Fixes: #19000
* | Help: Clarify ExternalProject_Add()'s LOG_MERGED_STDOUTERR behaviorCraig Scott2019-02-171-1/+2
|/ | | | | | The output is only merged for a step if it is logging to file. This option is ignored for steps that are logging normally. A minor grammatical error has also been fixed as part of this change.
* ExternalProject: support SOURCE_SUBDIR for BUILD_IN_SOURCEBen Boeckel2019-01-171-2/+8
|
* ExternalProject: add LOG_OUTPUT_ON_FAILURE optionWouter Klouwen2018-12-201-4/+47
| | | | | | | | This option only has an effect if at least one of the other LOG_<step> options is enabled. If an error occurs for a step which has logging to file enabled, that step's output will be printed to the console. For cases where a large amount of output is recorded, just the end of that output may be printed to the console.
* ExternalProject: add LOG_PATCH option to log the patch commandWouter Klouwen2018-10-261-0/+11
| | | | | | Most steps support the logging into a file but the patch command is a notable exception. This commit adds the LOG_PATCH options that acts as the other LOG_* options.
* ExternalProject: option LOG_MERGED_STDOUTERR to combine stdout and stderrWouter Klouwen2018-10-191-3/+14
| | | | | | | | | | | | In some circumstances the user of ExternalProject may not desire the split log files for stdout and stderr. In particular with a project has many errors it can be difficult to correlate the output error with the command that it resulted from. This commit adds the LOG_MERGED_STDOUTERR option that when enabled outputs into a unified <name>-<step>.log for each step. If disabled it will default to the previous behaviour of <name>-<step>-out.log and <name>-<step>-err.log.
* ExternalProject: add LOG_DIR option that allows overriding of log locationWouter Klouwen2018-10-191-7/+17
| | | | | | | | | | | | In some situations it can be helpful to separate out the location of the log files from the location of the stamp files. For instance if you have a continuous integration that exposes the location where log files are stored. This commit adds an option that allows a user to override the default behaviour of putting the log files in STAMP_DIR called LOG_DIR. The previous behaviour of putting the log files into the STAMP_DIR applies if LOG_DIR is not specified.
* Help: Override pygments CMakeLexer to support <..> and [..]Joachim Wuttke (o)2018-10-181-6/+18
| | | | | | | | | | | | | | | | | | | | | | * The code snippets in the docs consist of CMake code mixed with syntax definition punctuation like < > [ ] ... Therefore a pure CMake lexer is inadequate. Here it is replaced by a CMake syntax definition parser. * Fixed syntax definition snippets in FindPkgConfig.cmake to make best use of syntax highlighting. This source file is the hardest to support because it contains comparison operators <= = >=, which need special attention to avoid confusion with the placeholder indicators <...>. * Fixed syntax in execute_process.rst (there were unbalanced brackets). * Disabled syntax highlighting for long string examples in cmake-language.7.rst. * No highlighting of removed syntax in CMP0049 * To inspect the outcome of this patch, see e.g. the pages * manual/cmake-buildsystem.7.html * module/ExternalProject.html * module/FindPkgConfig.html which are particularly rich in complex code snippets.
* ExternalProject: Report error if local variables are not definedJean-Christophe Fillion-Robin2018-09-061-0/+5
| | | | | | | | | | | | | Since in some situations, ExternalProject module may be included in a sub-directory, functions will be available in the global scope but local variables like "_ep_keywords_<keyword>" will not be defined, this commit checks and reports an error indicating that the ExternalProject module must be explicitly included before using any of the ExternalProject_* functions that require the module's inclusion within the current scope or above. Co-authored-by: Pablo Hernandez <pablo.hernandez@kitware.com> Co-authored-by: Craig Scott <craig.scott@crascit.com>
* Merge topic 'ep-support-passing-var-ending-with-notfound'Brad King2018-06-051-1/+1
|\ | | | | | | | | | | | | 7ad5165c67 ExternalProject: Fix cache generation when args end with "-NOTFOUND" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2127
| * ExternalProject: Fix cache generation when args end with "-NOTFOUND"Jean-Christophe Fillion-Robin2018-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | Generalize the fix in commit v3.11.0-rc4~8^2 (ExternalProject: Fix cache generation when last args ends with "-NOTFOUND", 2018-03-10) to work for any argument rather than just the last one. ExternalProject can now successfully generate the cache file when any (not only the last one) cache variable associated with either `CMAKE_CACHE_ARGS` or `CMAKE_DEFAULT_CACHE_ARGS` configure step option is set to a `<value>` ending with `-NOTFOUND`.
* | ExternalProject: Improve URL_HASH argument descriptionMatt McCormick2018-06-041-3/+3
|/ | | | | | | | The previous documentation suggested ALGO=MD5=d7a3dc7757a35df3dbb890f7dee0976b for example.
* ExternalProject: Fix cache generation when last args ends with "-NOTFOUND"Jean-Christophe Fillion-Robin2018-03-121-4/+14
|
* Merge topic 'use_generator_is_multi_config'Brad King2018-01-081-4/+7
|\ | | | | | | | | | | | | | | 3c413e2a GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Modules c267ea1c GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in Tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1627
| * GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in ModulesCraig Scott2017-12-291-4/+7
| |
* | Various typo fixesLuz Paz2018-01-031-1/+1
|/ | | | Some are user-facing. Others are source comments.
* ExternalProject: Support substituting <DOWNLOAD_DIR>Craig Scott2017-12-061-3/+4
|
* ExternalProject: Propagate the generator instanceBrad King2017-10-191-0/+15
| | | | | | | | When the `CMAKE_GENERATOR` option is given to `ExternalProject_Add`, look also for option `CMAKE_GENERATOR_INSTANCE` to pass on to cmake as a cache definition. When no `CMAKE_GENERATOR` option is given explicitly then use the current project's `CMAKE_GENERATOR_INSTANCE` (since we already use its CMAKE_GENERATOR).