aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/functions-path.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-08-09Complete and cleanup function documentation in preparation for auto-extractionBoris Kolpackov1-71/+127
Also: - Move the $target.*() function family from functions-name.cxx to separate functions-target.cxx. - Get rid of the separate $process_path_ex.*() family, merging it with $process_path.*().
2023-05-30Add $path.posix_string() and $path.posix_representation() functionsKaren Arutyunov1-0/+116
2022-12-14Handle NULL values in $string() and $concat() functionsBoris Kolpackov1-1/+12
This is relied upon by the parser to provide conversion/concatenation semantics consistent with untyped values. Note that we handle NULL values only for types that have empty representation.
2022-09-29Add $find(<sequence>, <value>), $find_index(<sequence>, <value>) functionsBoris Kolpackov1-2/+41
The $find() function returns true if the sequence contains the specified value. The $find_index() function returns the index of the first element in the sequence that is equal to the specified value or $size(<sequence>) if none is found. For string sequences, it's possible to request case- insensitive comparison with a flag.
2022-09-13Add $builtin.concat(dir_path, dir_path) and $builtin.concat(dir_path, path) ↵Karen Arutyunov1-0/+10
overloads
2021-12-02Add $root_directory(<path>) functionBoris Kolpackov1-1/+42
2021-12-02Add $relative(<path>,<dir-path>) functionBoris Kolpackov1-1/+66
2021-11-26Add $size(string), $size(path), and $size(dir_path) functionsBoris Kolpackov1-0/+10
2021-11-04Add $size() function to get size of sequence (names, strings, etc)Boris Kolpackov1-23/+31
2021-11-02Add $sort() functionBoris Kolpackov1-0/+33
Available overloads: $sort(<names> [, <flags>]) $sort(<ints> [, <flags>]) $sort(<strings> [, <flags>]) $sort(<paths> [, <flags>]) $sort(<dir_paths> [, <flags>]) The following flag is supported by the all overloads: dedup - in addition to sorting also remove duplicates Additionally, the strings overload also support the following flag: icase - sort ignoring case Note that on case-insensitive filesystem the paths and dir_paths overload's order is case-insensitive.
2021-09-28Adapt to libbutl headers extension change from .mxx to .hxxKaren Arutyunov1-1/+1
2020-12-08Redo $normalize(true) as separate $actualize()Karen Arutyunov1-26/+49
2020-12-04Mark Buildfile functions as pure or impureBoris Kolpackov1-40/+43
2020-09-01Add TODO commentBoris Kolpackov1-0/+2
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-10-01Rename $filesystem.path_match() to $path.match()Karen Arutyunov1-0/+126
2019-08-23Introduce notion of build contextBoris Kolpackov1-3/+3
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
2019-07-01Split build system into library and driverBoris Kolpackov1-0/+361