# file : build/root.build # license : MIT; see accompanying LICENSE file # Regenerate the options parsing code (included into the repository). # # Note that this is the same variable as what's used by the import machinery # when we import cli%exe{cli}. Here, however, we require it to be explicitly # specified (i.e., no default search in PATH) in order for the regeneration # to be enabled. # # Normally, in the development build, this variable will be set only in the # cli package configuration to point to its own binary (or a binary in another # build configuration if you want to play it safe). # config [path] config.cli define cli: file cli{*}: extension = cli cxx.std = latest using cxx hxx{*}: extension = hxx ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx if ($cxx.target.system == 'win32-msvc') cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS if ($cxx.class == 'msvc') cxx.coptions += /wd4251 /wd4275 /wd4800 cxx.poptions =+ "-I$out_root" "-I$src_root" # Load the cli module only if explicitly requested. This way a distribution # that includes pre-generated files can be built without installing cli. This # is also the reason why we need to explicitly spell out individual source # file prerequisites instead of using the cli.cxx{} group (it won't be there # unless the module is configured). # # @@ Replace with import when the parsing code regenerating is implemented # via an ad hoc recipe. # if ($config.cli != [null] && $config.cli != false) using cli # Specify the test target for cross-testing. # test.target = $cxx.target # Extract the copyright notice from the LICENSE file. # copyright = $process.run_regex(cat $src_root/LICENSE, \ 'Copyright \(c\) (.+)\.', \ '\1')