summaryrefslogtreecommitdiffstats
path: root/build2/config/operation.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Add support for multiple variable overridesHEADmasterBoris Kolpackov2019-03-141-13/+5
| | | | | | | | | | Now we can do: $ b config.cxx.coptions=-O3 config.cxx.coptions=-O0 Or even: $ b config.cxx.coptions=-O3 config.cxx.coptions+=-g
* Move bunch of root scope-only data members to root_extraBoris Kolpackov2019-03-071-6/+8
|
* Add support for alternative build file/directory naming schemeBoris Kolpackov2019-03-071-18/+23
| | | | | | | | Now the build/*.build, buildfile, and .buildignore filesystem entries in a project can alternatively (but consistently) be called build2/*.build2, build2file, and .build2ignore. See a note at the beginning of the Project Structure section in the manual for details (motivation, restrictions, etc).
* Update copyright yearKaren Arutyunov2019-01-161-1/+1
|
* Fallback to loading outer buildfile if there isn't one in src_baseBoris Kolpackov2018-11-141-1/+3
| | | | | | This covers the case where the target is defined in the outer buildfile which is common with non-intrusive project conversions where everything is built from a single root buildfile.
* Minor terminology tweaks (model -> build state)Boris Kolpackov2018-11-131-1/+1
|
* Add support for default extension specification, trailing dot escapingBoris Kolpackov2018-08-071-2/+2
| | | | | | | | | | | | | For example: cxx{*}: extension = cxx cxx{foo} # foo.cxx cxx{foo.test} # foo.test (probably what we want...) cxx{foo.test...} # foo.test.cxx (... is this) cxx{foo..} # foo. cxx{foo....} # foo.. cxx{foo.....} # error (must come in escape pair)
* Implement support for excluded and ad hoc prerequisitesBoris Kolpackov2018-06-281-1/+3
| | | | | | | | | | | | | | The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc
* Add dist to list of modules bootstrapped by default by create meta-operationBoris Kolpackov2018-05-231-2/+2
|
* Update copyright yearKaren Arutyunov2018-05-191-1/+1
|
* Tolerate misconfigured src_root in info and disfigure meta-operationsBoris Kolpackov2018-05-141-0/+2
|
* Add support for build hooksBoris Kolpackov2018-04-271-1/+4
| | | | | | | | | | The following buildfiles are loaded (if present) at appropriate times from the out_root subdirectories of a project: build/bootstrap/pre-*.build # before loading bootstrap.build build/bootstrap/post-*.build # after loading bootstrap.build build/root/pre-*.build # before loading root.build build/root/post-*.build # after loading root.build
* Implement forwarded configurations and backlinkingBoris Kolpackov2018-04-261-79/+281
|
* Minor code reuse improvementBoris Kolpackov2018-04-241-39/+2
|
* Adjust disfigure diagnosticsBoris Kolpackov2018-03-121-4/+9
|
* Add progress to dist meta-operationBoris Kolpackov2018-02-211-7/+6
|
* Make sure operation failure diagnostics is printed for pre/post-operationsBoris Kolpackov2018-02-121-5/+8
|
* Work around VC static initialization order issueBoris Kolpackov2018-02-081-6/+10
|
* Add support for update-for-{test,install} operation aliasesBoris Kolpackov2018-02-071-1/+1
|
* Fix few issues with structured result outputBoris Kolpackov2017-12-171-2/+2
|
* Add support for structured result output (--structured-result)Boris Kolpackov2017-12-161-4/+4
|
* Implement info meta operationBoris Kolpackov2017-12-131-3/+3
| | | | | This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects.
* Reimplement module sidebuilding using an ad hoc subprojectBoris Kolpackov2017-11-291-148/+31
|
* Fix VC15 warnings (/W3)Karen Arutyunov2017-05-131-1/+1
|
* Add hxx extension for headersKaren Arutyunov2017-05-011-12/+12
|
* Disable amalgamation in configurations created by create meta-operationBoris Kolpackov2017-03-171-0/+5
|
* Implement create meta-operationBoris Kolpackov2017-03-171-1/+282
|
* Add support for passing parameters to (meta-) operationsBoris Kolpackov2017-03-161-23/+26
|
* Implement implied buildfile supportBoris Kolpackov2017-03-141-0/+1
| | | | | | | | In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
* Implement parallel matchBoris Kolpackov2017-03-021-10/+7
|
* Implement parallel error propagation, keep_going modeBoris Kolpackov2017-02-131-0/+2
| | | | | | | Keep going is the default but there is now the -s|--serial-stop that makes the driver run serially and stop at first error. Also fix some lockups, other minor improvements/features.
* Implement parallel operation executionBoris Kolpackov2017-02-131-2/+2
|
* Implement target_set locking, including extension updateBoris Kolpackov2017-02-131-1/+1
|
* Pass const scope& where modification should not happenBoris Kolpackov2017-02-131-33/+62
|
* Add notion of phase, enforceBoris Kolpackov2017-02-131-0/+3
|
* Add scheduling calls to operation's match()Boris Kolpackov2017-02-131-18/+13
|
* Add model mutex, make var_pool const by defaultBoris Kolpackov2017-02-131-11/+26
|
* Add bunch of missing const'sBoris Kolpackov2017-01-231-2/+2
|
* Implement automatic loading of directory buildfilesBoris Kolpackov2017-01-231-0/+1
| | | | | | | | | | | | Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/
* Get rid of extension_poolBoris Kolpackov2017-01-191-1/+1
|
* Make use of operator<<(ostream, exception)Karen Arutyunov2017-01-091-2/+2
|
* Update copyright yearBoris Kolpackov2017-01-051-1/+1
|
* Add support for typed/untyped concatenated expansionBoris Kolpackov2016-11-301-1/+1
|
* Add io_error alias for std::ios_base::failureKaren Arutyunov2016-09-151-2/+2
|
* Adjust configure/disfigure verbosityBoris Kolpackov2016-09-041-9/+8
|
* Add support for target visibility, use for dist, test, installBoris Kolpackov2016-08-301-2/+2
| | | | | | | | | | This means we can no longer write: install = false Now it should be: *: install = false
* Add support for config.build file versioningBoris Kolpackov2016-08-301-5/+5
|
* Don't write trailing spaces in case of empty values in config.buildBoris Kolpackov2016-08-231-2/+11
|
* Add support for ordering modules in config.buildBoris Kolpackov2016-08-121-4/+3
|
* Construct paths to use canonical directory separatorsBoris Kolpackov2016-07-301-2/+0
| | | | Hardcoding separators as in "build/root.build" is now a big no-no.