summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/ExternalProject
Commit message (Collapse)AuthorAgeFilesLines
* ExternalProject: add LOG_OUTPUT_ON_FAILURE optionWouter Klouwen2018-12-209-0/+67
| | | | | | | | 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: Report error if local variables are not definedJean-Christophe Fillion-Robin2018-09-067-0/+43
| | | | | | | | | | | | | 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>
* ExternalProject: Fix cache generation when args end with "-NOTFOUND"Jean-Christophe Fillion-Robin2018-06-044-2/+22
| | | | | | | | | | | 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: Fix cache generation when last args ends with "-NOTFOUND"Jean-Christophe Fillion-Robin2018-03-124-2/+22
|
* GENERATOR_IS_MULTI_CONFIG: Use for multi-config checks in TestsCraig Scott2017-12-294-4/+8
|
* ExternalProject: Support substituting <DOWNLOAD_DIR>Craig Scott2017-12-063-7/+60
|
* ExternalProject: Prevent COMMAND from being treated as a true keywordCraig Scott2017-09-023-0/+55
| | | | | | | | | | | | | | | 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-173-6/+6
| | | | | | | | | | | - 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.
* ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGSMax Smolens2016-10-104-2/+24
| | | | | | | | | | Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS options of ExternalProject_Add. Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over string(APPEND) where appropriate, 2016-08-08), the semicolon list separator after the first list element was missing in the generated cache.
* ExternalProject: Added new USES_TERMINAL optionsJames Johnston2015-07-063-0/+143
| | | | | | | | | | | | | | | | | | Added new USES_TERMINAL option to the ExternalProject_Add_Step function. This option passes USES_TERMINAL to the underlying add_custom_command call so that the Ninja console pool is used. Also, corresponding new USES_TERMINAL_<step> options were added to the ExternalProject_Add function. Justification: if using Ninja with a CMake superbuild, it's often desirable to limit the superbuild to ONE sub-Ninja process at a time to avoid oversubscribing the CPU. Using the console pool also makes it easy to monitor the progress of the sub-Ninja process. Independent USES_TERMINAL_<step> arguments are passed to ExternalProject_Add instead of one USES_TERMINAL argument that controls everything. Users may wish to run some steps in parallel but not others (e.g. parallelize configure but not build).
* ExternalProject: Improve error when SOURCE_DIR is missing (#15560)Brad King2015-05-0810-0/+69
| | | | | Mention the SOURCE_DIR that we checked and found empty or missing so that the user can see the full path to what we expected to find.
* ExternalProject: Allow dependencies on INTERFACE librariesBrad King2015-04-227-0/+29
| | | | | Respect INTERFACE library property whitelist. Check that a target has type "UTILITY" before querying other properties.
* ExternalProject: Allow generator expressions in initial cache optionsAndrey Pokrovskiy2015-04-216-7/+16
| | | | | | Use file(GENERATE) to write the initial cache file so that we can evaluate generator expressions. Use a per-config initial cache file name in case the content varies by configuration.
* Tests: Delay RunCMake.ExternalProject case checksBrad King2015-04-206-58/+63
| | | | | Use RunCMake "-check.cmake" scripts to check the generated initial cache file content so that the full generation process is completed.
* ExternalProject: Add unit testsDaniele E. Domenichelli2014-11-035-0/+87
|
* ExternalProject: Add unit tests for CMAKE_CACHE_DEFAULT_ARGSDaniele E. Domenichelli2014-10-315-0/+79