aboutsummaryrefslogtreecommitdiff
path: root/build2/operation.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-07-30Make project variable to be of project_name typeKaren Arutyunov1-1/+1
2018-06-28Implement support for excluded and ad hoc prerequisitesBoris Kolpackov1-3/+6
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
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-14Tolerate misconfigured src_root in info and disfigure meta-operationsBoris Kolpackov1-0/+3
2018-04-27Add support for build hooksBoris Kolpackov1-2/+2
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
2018-02-21Add progress to dist meta-operationBoris Kolpackov1-9/+8
2018-02-12Make sure operation failure diagnostics is printed for pre/post-operationsBoris Kolpackov1-9/+9
2018-02-08Suppress VC warningBoris Kolpackov1-0/+1
2018-02-08Work around VC static initialization order issueBoris Kolpackov1-0/+4
2018-02-07Add support for update-for-{test,install} operation aliasesBoris Kolpackov1-1/+9
2018-02-03Get rid of action rule override semanticsBoris Kolpackov1-15/+4
Instead we now have two more or less separate match states for outer and inner parts of an action.
2018-01-01Fix lifetime issue in progress monitoring logicBoris Kolpackov1-2/+3
2018-01-01Fix race in scheduler progress setting logicBoris Kolpackov1-1/+1
2017-12-17Fix few issues with structured result outputBoris Kolpackov1-3/+3
2017-12-16Add support for structured result output (--structured-result)Boris Kolpackov1-10/+14
2017-12-13Implement info meta operationBoris Kolpackov1-19/+114
This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects.
2017-11-22Streamline skip count diagnosticsBoris Kolpackov1-1/+1
2017-11-21Improve skipped update diagnosticsBoris Kolpackov1-2/+27
Instead of printing a line for each target skipped we now print a summary with count at the end. We also now show the skip count in progress.
2017-08-06Scale target count depending on progress output type (same/new line)Boris Kolpackov1-2/+1
2017-08-06Print progress to terminal by defaultKaren Arutyunov1-2/+3
2017-07-28Tweak progress logic some moreBoris Kolpackov1-19/+25
2017-07-28Tweak progress displayBoris Kolpackov1-3/+3
2017-07-27Implement displaying build progress (--progress|-p)Boris Kolpackov1-28/+98
2017-05-01Add hxx extension for headersKaren Arutyunov1-8/+8
2017-03-16Add ability for meta-operation to preprocess buildspecBoris Kolpackov1-1/+1
2017-03-16Add support for passing parameters to (meta-) operationsBoris Kolpackov1-4/+6
2017-03-14Implement implied buildfile supportBoris Kolpackov1-6/+13
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
2017-03-03Use final action state after match at top level (operation)Boris Kolpackov1-3/+14
2017-03-02Implement parallel matchBoris Kolpackov1-37/+90
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-14/+65
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.
2017-02-13Get rid of count_postponedBoris Kolpackov1-2/+2
Terget execution is postponed with regards to the current thread only thus it doesn't seem right to make postponed a target state.
2017-02-13Implement parallel operation executionBoris Kolpackov1-39/+20
2017-02-13Pass const target& to recipesBoris Kolpackov1-6/+6
2017-02-13Introduce target::task_countBoris Kolpackov1-0/+2
2017-02-13Redesign target_set interface in preparation for lockingBoris Kolpackov1-4/+3
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-2/+2
2017-02-13Temporarily disable parallel search & match for multi-target buildsBoris Kolpackov1-0/+5
2017-02-13Add notion of phase, enforceBoris Kolpackov1-14/+22
2017-02-13Add scheduling calls to operation's match()Boris Kolpackov1-34/+20
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-11/+39
2017-01-23Add bunch of missing const'sBoris Kolpackov1-5/+5
2017-01-20Cosmetic changeBoris Kolpackov1-21/+20
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-11-18Implement noop meta-operationBoris Kolpackov1-0/+16
The effect is loading all the buildfiles but not searching/matching/executing any targets/operations. Useful for testing.
2016-04-19Redesign src/out scopingBoris Kolpackov1-4/+3
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.
2016-04-11New configuration logic, iteration 1Boris Kolpackov1-0/+4
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-2/+2
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-7/+0
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+232