summaryrefslogtreecommitdiffstats
path: root/Modules/AddExternalProject.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Remove AddExternalProject.cmake. ExternalProject.cmake supercedes/replaces it.David Cole2009-08-051-669/+0
|
* ENH: Allow lists in AddExternalProject argumentsBrad King2009-04-091-0/+7
| | | | | | | | | | | | | | | | | | The add_external_project function separates its arguments with ';' separators, so previously no command line argument could contain one. When specifying CMAKE_ARGS, some -D argument values may need to contain a semicolon to form lists in the external project cache. This adds add_external_project argument LIST_SEPARATOR to specify a list separator string. The separator is replaced by ';' in arguments to any command created to drive the external project. For example: add_external_project(... LIST_SEPARATOR :: CMAKE_ARGS -DSOME_LIST:STRING=A::B::C ...) passes "-DSOME_LIST:STRING=A;B;C" to CMake for the external project.
* BUG: Fix AddExternalProject config command idBrad King2009-03-311-10/+6
| | | | | | This fixes the get_configure_command_id function to not mistake CONFIGURE_COMMAND values that run "cmake -P" or "cmake -E" for a CMake project configuration. These values just help run scripts.
* ENH: Simpler AddExternalProject install stepBrad King2009-03-301-21/+8
| | | | This simplifies the implementation with add_external_project_step.
* ENH: Simpler AddExternalProject build stepBrad King2009-03-301-21/+8
| | | | This simplifies the implementation with add_external_project_step.
* ENH: Simpler AddExternalProject configure stepBrad King2009-03-301-41/+24
| | | | This simplifies the implementation with add_external_project_step.
* ENH: Simpler AddExternalProject patch stepBrad King2009-03-301-18/+7
| | | | This simplifies the implementation with add_external_project_step.
* ENH: Simpler AddExternalProject update stepBrad King2009-03-301-79/+26
| | | | This simplifies the implementation with add_external_project_step.
* ENH: Simpler AddExternalProject download stepBrad King2009-03-301-148/+65
| | | | This simplifies the implementation with add_external_project_step.
* ENH: Generalize AddExternalProject step creationBrad King2009-03-301-0/+82
| | | | | | This creates function 'add_external_project_step' to centralize creation of external project steps. Users may call it to add custom steps to external project builds.
* ENH: Factor argument parsing in AddExternalProjectBrad King2009-03-301-42/+49
| | | | | | The add_external_project function parses its arguments and puts them in properties of the target it creates. This factors out implementation of the behavior for use by other functions in the module.
* ENH: Teach AddExternalProject a 'complete' stepBrad King2009-03-301-8/+15
| | | | | This separates creation of the project completion sentinel file from the 'install' step to allow more steps to be added in between later.
* STYLE: Reminder note for add_external_project workBrad King2009-03-181-0/+1
|
* ENH: Add patch step for add_external_projectBrad King2009-03-181-0/+32
| | | | | | The patch step runs parallel to the update step since it does not make sense to have both. Configuration of the step requires specification of a PATCH_COMMAND argument to add_external_project.
* ENH: Improve add_external_project interfaceBrad King2009-03-181-87/+116
| | | | | | | | | | | | | | | | This rewrites the keyword/argument parsing and handling in the AddExternalProject module to use arguments more literally: - The strict keyword-value pairing is gone in favor of keywords with arbitrary non-keyword values. This avoids requiring users to escape spaces and quotes in command lines. - Customized step command lines are now specified with a single keyword <step>_COMMAND instead of putting the arguments in a separate entry (previously called <step>_ARGS). - Build step custom commands now use VERBATIM mode so that arguments are correctly escaped on the command line during builds.
* ENH: Better recursive make in AddExternalProjectBrad King2009-03-041-50/+60
| | | | | | | This teaches AddExternalProject to run "$(MAKE)" for build and install steps of CMake-based external projects when using a Makefile generator. It allows the external project to participate in a parallel make invoked on the superproject.
* ENH: Allow empty arguments in external project APIBrad King2009-03-041-28/+13
| | | | | | This uses the get_property command to simplify property lookup in the AddExternalProject module. It distinguishes for build and install argument properties the cases of unset and set to empty.
* ENH: Re-work of fix committed yesterday for the Watcom WMake dashboard. Fix ↵David Cole2008-12-241-1/+6
| | | | it properly by using the SYMBOLIC source file property to indicate to WMake when the sentinel file is not actually written by the update step.
* ENH: Add the update step in between download and build. Add UPDATE_ARGS and ↵David Cole2008-12-191-33/+129
| | | | UPDATE_COMMAND handling. Output a -complete sentinel in synch with the -install sentinel, but do not list it as an OUTPUT of the custom command. That breaks the chaining of add_custom_commands between custom targets, but allows for a file-level dependency expression that will cause proper incremental rebuilds. When earlier targets rebuild, subsequent dependent targets will also rebuild. CVS and SVN update commands are always out-of-date so that they always run to get the latest source. To suppress that behavior on a per-external project basis use an explicit empty string for UPDATE_COMMAND. The source will still be checked out from the repository prior to the update step by the download step.
* ENH: Default to the same cmake used for configuring when building and ↵David Cole2008-12-091-2/+12
| | | | installing. If none specified default to the cmake used to configure the outer/aggregating project.
* BUG: Make sure all directories used as working directories exist at CMake ↵David Cole2008-12-081-13/+81
| | | | configure time as well as having custom commands that create them. Necessary for the Borland Makefiles generator to generate short path names in the makefile build rules. Also, make sure all custom commands chain together properly through the use of the sentinel files.
* ENH: Make it easier to use configure/make/make-install as the build steps ↵David Cole2008-12-051-81/+144
| | | | for an external project. Add capability of customizing the download step. Add tests of empty projects. Better comments and error checking in AddExternalProject.cmake. In tests, use KWStyle from CVSHEAD to see if QNX continuous can build the latest KWStyle. Make KWStyle test depend on all previous test external projects so it builds last to catch other issues before any KWStyle compile errors.
* ENH: First draft of add_external_project functionality. Tweaks, dashboard ↵David Cole2008-12-041-0/+461
fixing, more tests and documentation certain to follow as it gets used by others...