summaryrefslogtreecommitdiffstats
path: root/Modules/ExternalProject.cmake
Commit message (Collapse)AuthorAgeFilesLines
* 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).
* Merge topic 'curl_netrc_options'Brad King2017-10-191-2/+44
|\ | | | | | | | | | | | | | | | | | | | | d45aa38a Add dev notes for topic 'curl_netrc_options' 60c272b6 ExternalProject: Add support for NETRC and NETRC_FILE suboption 754e39dd Add testcases for file(DOWNLOAD|UPLOAD) netrc options 5d67e902 file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com> Merge-request: !1376
| * ExternalProject: Add support for NETRC and NETRC_FILE suboptionShane Parris2017-10-181-2/+44
| |
* | ExternalProject: Avoid if() auto-dereferene in quoted argumentsBrad King2017-10-111-0/+5
|/ | | | | | | | The implementation of this module doesn't expect such dereferences to happen, but can when a project sets a variable called `x`. Set `CMP0054` explicitly to get its NEW behavior. Fixes: #17335
* ExternalProject: Refactor code introducing _ep_get_complete_stampfileJean-Christophe Fillion-Robin2017-09-281-5/+11
|
* ExternalProject: Prevent COMMAND from being treated as a true keywordCraig Scott2017-09-021-0/+8
| | | | | | | | | | | | | | | The known keywords for each function are obtained by scraping the documentation for lines matching a particular regular expression. In commit 8842a027 (ExternalProject: Improve documentation, 2017-07-09), the docs were overhauled and the COMMAND docs subsequently matched the regular expression when they shouldn't have. This made COMMAND appear as a true keyword, which thwarted the special handling logic elsewhere for the intended use of COMMAND arguments. This commit contains a workaround for issue #17229 to force a dependency of the patch step on the update step to ensure a predictable step order. Fixes: #17198
* ExternalProject: Improve documentationCraig Scott2017-07-171-374/+821
| | | | | | | | | | | - Added clearer structure by grouping the options into logical sections. - Expanded the details for many of the options. - Added Examples section to show how to use the various commands. - Specifically highlighted that the contents of SOURCE_DIR may be lost if a download method is also provided. - Updated argument-matching regex to be more robust and account for the varying leading spaces before keywords in the docs. - Updated tests to account for slightly changed error messages.
* Use string(APPEND) in ModulesDaniel Pfeifer2017-05-171-4/+4
| | | | | | | Automate with: find Modules -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* ExternalProject: Run `git checkout` with `--` to clarify argumentsBrad King2017-04-031-4/+10
| | | | | | | | | Fix the case when the tag name to be checked out also happens to match a path name. Unfortunately we cannot do this for Git versions prior to 1.8.5 because they do not "do what I mean" to checkout remote branches when the `--` argument is given. Fixes: #16678
* Merge topic 'ExternalProject-fix-remote-branch'Brad King2017-04-031-1/+4
|\ | | | | | | | | | | | | 6f3838c0 ExternalProject: Fix regression in GIT_TAG with remote branch name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !649
| * ExternalProject: Fix regression in GIT_TAG with remote branch nameBrad King2017-03-311-1/+4
| | | | | | | | | | | | | | | | | | | | The change in commit v3.8.0-rc2~7^2 (ExternalProject: Run `git checkout` with `--` to clarify arguments, 2017-02-24) broke the case of `GIT_TAG some-remote-branch` because an explicit `--` means that the preceding argument is a tree-ish instead of a branch. Revert the change and leave a comment. Fixes: #16763
| * Merge branch 'ExternalProject-checkout-clarify' into releaseBrad King2017-02-241-1/+1
| |\
* | | ExternalProject: only append `COMMAND` if actually adding a commandBen Boeckel2017-02-271-3/+2
| | | | | | | | | | | | Fixes #16544.
* | | Merge topic 'ExternalProject-checkout-clarify'Brad King2017-02-271-1/+1
|\ \ \ | |/ / |/| / | |/ | | a9fa6a2c ExternalProject: Run `git checkout` with `--` to clarify arguments
| * ExternalProject: Run `git checkout` with `--` to clarify argumentsBrad King2017-02-241-1/+1
| | | | | | | | | | | | | | Fix the case when the tag name to be checked out also happens to match a path name. Fixes: #16678
* | ExternalProject: Clarify documented role of `INSTALL_DIR`Brad King2017-02-211-1/+4
| | | | | | | | | | | | It does not actually configure the project to install to the given location. That must be done by passing the `<INSTALL_DIR>` placeholder to the external project configuration step.
* | ExternalProject: Clarify documented role of `INSTALL_COMMAND`Wilfried Goesgens2017-02-211-1/+5
|/ | | | | It is for the install step of the external project and does not affect installation of the calling project.
* ExternalProject: Restore case-insensitive download hash checkBrad King2017-01-171-1/+1
| | | | | | | | | | Refactoring in commit v3.6.0-rc1~47^2 (ExternalProject: Re-implement download logic as a dedicated script, 2016-05-19) accidentally made the download hash check case-sensitive. The hash comparison is done in hex strings, so restore case-insensitive comparison since the case of the hex digits does not matter. Fixes: #16568
* ExternalProject: Do not trip over pre-existing 'cmd' variableKarsten Sperling2016-11-171-68/+65
| | | | | | | | | Callers of `_ep_get_build_command` do not initialize the output variable they pass and expect the function to unconditionally set it. Revise the function to not check its own output variable. Otherwise if a `cmd` variable happens to be set when `ExternalProject_Add` is called then it will be erroneously used as the default `BUILD`, `TEST`, and `INSTALL` command.
* Merge topic 'add-SHA-3'Brad King2016-11-151-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f636d1e7 Help: Add notes for topic 'add-SHA-3' cb5dba8e Tests: Add SHA-3 algorithm coverage to CPack checksum test a9fa6099 ExternalProject: Add support for SHA-3 algorithms b4ffd26f ExternalData: Add support for SHA-3 algorithms 60939702 file: Add support for SHA-3 algorithms 92f95aed string: Add support for SHA-3 algorithms c326209f cmCryptoHash: Add support for SHA-3 algorithms 979e8ba6 Help: De-duplicate and spell out supported hash algorithms 7a79f7e3 librhash: Activate SHA-3 implementation 87584b5e Merge branch 'upstream-librhash' into add-SHA-3 7fcbd47e librhash 2016-11-06 (de79828d) c50c32a3 librhash: Update import script to add SHA-3 implementation