From ad7d4bd0722aa70ba634900cebf93a1b1814fed9 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 23 Jul 2016 16:09:49 +0200 Subject: Only do "effective escaping" (['"\$(]) on the command line This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc). --- build2/b.cli | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'build2/b.cli') diff --git a/build2/b.cli b/build2/b.cli index 013a756..f0cd48e 100644 --- a/build2/b.cli +++ b/build2/b.cli @@ -178,6 +178,21 @@ namespace build2 config.install.root=/usr/local config.install.root.sudo=sudo \ configure \ + + Note also that buildspec and command line variable values are treated as + \cb{buildfile} fragments and so can use quoting and escaping as well as + contain variable expansions and evaluation contexts. However, to be more + usable on various platforms, escaping in these two situations is limited + to the \i{effective sequences} of \cb{\\'}, \cb{\\\"}, \cb{\\\\}, + \cb{\\$}, and \cb{\\(} with all other sequences interpreted as is. + Together with double-quoting this is sufficient to represent any value. + For example: + + \ + b config.install.root=c:\projects\install + b \"config.install.root='c:\Program Files (x86)\test\'\" + b 'config.cxx.poptions=-DFOO_STR=\"foo\"' + \ " } -- cgit v1.1