aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/name.hxx
AgeCommit message (Collapse)AuthorFilesLines
2021-05-28Make notion of name pattern explicit, fix various related loose endsBoris Kolpackov1-3/+26
2021-01-12Diagnose typed and project-qualified empty namesBoris Kolpackov1-2/+2
2020-07-09Add support for ad hoc importationBoris Kolpackov1-0/+12
2020-06-03Add name::file() predicateBoris Kolpackov1-0/+8
2020-05-27Initial support for ad hoc recipes (still work in progress)Boris Kolpackov1-0/+12
2020-04-27Rework tool importation along with cli moduleBoris Kolpackov1-0/+4
Specifically, now config.<tool> (like config.cli) is handled by the import machinery (it is like a shorter alias for config.import.<tool>.<tool>.exe that we already had). And the cli module now uses that instead of custom logic. This also adds support for uniform tool metadata extraction that is handled by the import machinery. As a result, a tool that follows the "build2 way" can be imported with metadata by the buildfile and/or corresponding module without any tool-specific code or brittleness associated with parsing --version or similar outputs. See the cli tool/module for details. Finally, two new flavors of the import directive are now supported: import! triggers immediate importation skipping any rule-specific logic while import? is optional import (analogous to using?). Note that optional import is always immediate. There is also the import-specific metadata attribute which can be specified for these two import flavors in order to trigger metadata importation. For example: import? [metadata] cli = cli%exe{cli} if ($cli != [null]) info "cli version $($cli:cli.version)"
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-10-18Add $quote() function for quoting valuesBoris Kolpackov1-2/+14
This can be useful if we want to pass a value on the command line, for example, in a testscript: $* config.cxx=$quote($recall($cxx.path) $cxx.mode, true)
2019-07-01Split build system into library and driverBoris Kolpackov1-0/+172