# file : build/root.build # license : MIT; see accompanying LICENSE file config [bool] config.brep.develop ?= false develop = $config.brep.develop cxx.std = latest using cxx hxx{*}: extension = hxx ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx # Disable "unknown pragma" warnings. # cxx.coptions += -Wno-unknown-pragmas if ($cxx.id == 'gcc') { cxx.coptions += -Wno-maybe-uninitialized -Wno-free-nonheap-object # libbutl if ($cxx.version.major >= 13) cxx.coptions += -Wno-dangling-reference } elif ($cxx.id.type == 'clang' && $cxx.version.major >= 15) cxx.coptions += -Wno-unqualified-std-cast-call cxx.poptions =+ "-I$out_root" "-I$src_root" # Load the cli module but only if it's available. 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). # using? cli # Bash. # using bash brep/bash{*}: install.subdirs = true # Define commonly used target types. # define css: file css{*}: extension = css define xhtml: doc xhtml{*}: extension = xhtml define common_testscript: file common_testscript{*}: extension = testscript # All exe{} in tests/ are, well, tests. Also don't link whole archives # by default there. # tests/exe{*}: test = true tests/{libue libul}{*}: bin.whole = false # Specify the test target for cross-testing. # test.target = $cxx.target # Omit the rest during the skeleton load. # if ($build.mode != 'skeleton') { # Unless we are in the develop mode, detect the Apache2 headers location # automatically and add the respective preprocessor option. # if! $develop { apache2_includedir = [dir_path] $process.run(apxs -q 'INCLUDEDIR') config [config.report] apache2_includedir cxx.poptions += "-I$apache2_includedir" } # Extract the copyright notice from the LICENSE file. # copyright = $process.run_regex( \ cat $src_root/LICENSE, \ 'Copyright \(c\) (.+) \(see the AUTHORS and LEGAL files\)\.', \ '\1') }