aboutsummaryrefslogtreecommitdiff
path: root/build2/config/operation.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-08-07Add support for default extension specification, trailing dot escapingBoris Kolpackov1-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)
2018-06-28Implement support for excluded and ad hoc prerequisitesBoris Kolpackov1-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
2018-05-23Add dist to list of modules bootstrapped by default by create meta-operationBoris Kolpackov1-2/+2
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-05-14Tolerate misconfigured src_root in info and disfigure meta-operationsBoris Kolpackov1-0/+2
2018-04-27Add support for build hooksBoris Kolpackov1-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
2018-04-26Implement forwarded configurations and backlinkingBoris Kolpackov1-79/+281
2018-04-24Minor code reuse improvementBoris Kolpackov1-39/+2
2018-03-12Adjust disfigure diagnosticsBoris Kolpackov1-4/+9
2018-02-21Add progress to dist meta-operationBoris Kolpackov1-7/+6
2018-02-12Make sure operation failure diagnostics is printed for pre/post-operationsBoris Kolpackov1-5/+8
2018-02-08Work around VC static initialization order issueBoris Kolpackov1-6/+10
2018-02-07Add support for update-for-{test,install} operation aliasesBoris Kolpackov1-1/+1
2017-12-17Fix few issues with structured result outputBoris Kolpackov1-2/+2
2017-12-16Add support for structured result output (--structured-result)Boris Kolpackov1-4/+4
2017-12-13Implement info meta operationBoris Kolpackov1-3/+3
This meta operation can be used to print basic information (name, version, source/output roots, etc) for one or more projects.
2017-11-29Reimplement module sidebuilding using an ad hoc subprojectBoris Kolpackov1-148/+31
2017-05-13Fix VC15 warnings (/W3)Karen Arutyunov1-1/+1
2017-05-01Add hxx extension for headersKaren Arutyunov1-12/+12
2017-03-17Disable amalgamation in configurations created by create meta-operationBoris Kolpackov1-0/+5
2017-03-17Implement create meta-operationBoris Kolpackov1-1/+282
2017-03-16Add support for passing parameters to (meta-) operationsBoris Kolpackov1-23/+26
2017-03-14Implement implied buildfile supportBoris Kolpackov1-0/+1
In essence, if the buildfile is: ./: */ Then it can be omitted entirely (provided there is at least one subdirectory).
2017-03-02Implement parallel matchBoris Kolpackov1-10/+7
2017-02-13Implement parallel error propagation, keep_going modeBoris Kolpackov1-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.
2017-02-13Implement parallel operation executionBoris Kolpackov1-2/+2
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-1/+1
2017-02-13Pass const scope& where modification should not happenBoris Kolpackov1-33/+62
2017-02-13Add notion of phase, enforceBoris Kolpackov1-0/+3
2017-02-13Add scheduling calls to operation's match()Boris Kolpackov1-18/+13
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-11/+26
2017-01-23Add bunch of missing const'sBoris Kolpackov1-2/+2
2017-01-23Implement automatic loading of directory buildfilesBoris Kolpackov1-0/+1
Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/
2017-01-19Get rid of extension_poolBoris Kolpackov1-1/+1
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-2/+2
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-1/+1
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-2/+2
2016-09-04Adjust configure/disfigure verbosityBoris Kolpackov1-9/+8
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-2/+2
This means we can no longer write: install = false Now it should be: *: install = false
2016-08-30Add support for config.build file versioningBoris Kolpackov1-5/+5
2016-08-23Don't write trailing spaces in case of empty values in config.buildBoris Kolpackov1-2/+11
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov1-4/+3
2016-07-30Construct paths to use canonical directory separatorsBoris Kolpackov1-2/+0
Hardcoding separators as in "build/root.build" is now a big no-no.
2016-07-29Fix duplicate config.build variable issueBoris Kolpackov1-8/+3
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-1/+1
2016-07-25Fix surprising config override behavior now that they are amalgamation-wideBoris Kolpackov1-2/+24
2016-07-25Fix module separating blank line logicBoris Kolpackov1-4/+10
2016-07-23Adapt to fdstream extensionKaren Arutyunov1-15/+10
2016-07-21Save config vars in order specified rather than alphabeticallyBoris Kolpackov1-148/+122
This way we can group them semantically which results in easier to understand config.build output.