aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/project/boost/build.py
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-05-17 13:02:51 +0200
committerEgor Tensin <egor@tensin.name>2026-05-17 13:02:51 +0200
commit64899879b001d08efd5b62b97daa85d5c825c1ee (patch)
tree2cffff91f869ea9b3182961c2d3f9d859090275c /project/boost/build.py
parentworkflows: add Python black run (diff)
downloadcmake-common-64899879b001d08efd5b62b97daa85d5c825c1ee.tar.gz
cmake-common-64899879b001d08efd5b62b97daa85d5c825c1ee.zip
reformat everything for fun
Diffstat (limited to 'project/boost/build.py')
-rw-r--r--project/boost/build.py140
1 files changed, 101 insertions, 39 deletions
diff --git a/project/boost/build.py b/project/boost/build.py
index 8ef993c..a15388b 100644
--- a/project/boost/build.py
+++ b/project/boost/build.py
@@ -41,18 +41,30 @@ from project.toolset import Toolset, ToolsetVersion
from project.utils import normalize_path, setup_logging
import project.version
-
DEFAULT_PLATFORMS = (Platform.AUTO,)
-DEFAULT_CONFIGURATIONS = (Configuration.DEBUG, Configuration.RELEASE,)
+DEFAULT_CONFIGURATIONS = (
+ Configuration.DEBUG,
+ Configuration.RELEASE,
+)
DEFAULT_TOOLSET_VERSION = ToolsetVersion.default()
B2_QUIET = ['warnings=off', '-d0']
B2_VERBOSE = ['warnings=all', '-d2', '--debug-configuration']
class BuildParameters:
- def __init__(self, boost_dir, libraries, build_dir=None, platforms=None,
- configurations=None, link=None, runtime_link=None,
- toolset_version=None, verbose=False, b2_args=None):
+ def __init__(
+ self,
+ boost_dir,
+ libraries,
+ build_dir=None,
+ platforms=None,
+ configurations=None,
+ link=None,
+ runtime_link=None,
+ toolset_version=None,
+ verbose=False,
+ b2_args=None,
+ ):
boost_dir = normalize_path(boost_dir)
libraries = libraries or []
@@ -99,7 +111,9 @@ class BuildParameters:
yield self.build_dir
return
- with tempfile.TemporaryDirectory(dir=os.path.dirname(self.boost_dir)) as build_dir:
+ with tempfile.TemporaryDirectory(
+ dir=os.path.dirname(self.boost_dir)
+ ) as build_dir:
logging.info('Build directory: %s', build_dir)
try:
yield build_dir
@@ -139,59 +153,107 @@ def _parse_args(argv=None):
sys.exit(0)
parser = argparse.ArgumentParser(
- description=__doc__,
- formatter_class=argparse.RawDescriptionHelpFormatter)
+ description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
+ )
- parser.add_argument('--help-toolsets', action='store_true',
- help='show detailed info about supported toolsets')
+ parser.add_argument(
+ '--help-toolsets',
+ action='store_true',
+ help='show detailed info about supported toolsets',
+ )
project.version.add_to_arg_parser(parser)
- parser.add_argument('-v', '--verbose', action='store_true',
- help='verbose b2 invocation (quiet by default)')
+ parser.add_argument(
+ '-v',
+ '--verbose',
+ action='store_true',
+ help='verbose b2 invocation (quiet by default)',
+ )
- parser.add_argument('--toolset', metavar='TOOLSET', dest='toolset_version',
- type=ToolsetVersion.parse, default=DEFAULT_TOOLSET_VERSION,
- help=f'toolset to use ({ToolsetVersion.usage()})')
+ parser.add_argument(
+ '--toolset',
+ metavar='TOOLSET',
+ dest='toolset_version',
+ type=ToolsetVersion.parse,
+ default=DEFAULT_TOOLSET_VERSION,
+ help=f'toolset to use ({ToolsetVersion.usage()})',
+ )
platform_options = '/'.join(map(str, Platform.all()))
configuration_options = '/'.join(map(str, Configuration.all()))
# These are used to put the built libraries into proper installation
# directory subdirectories (to avoid name clashes).
- parser.add_argument('--platform', metavar='PLATFORM', dest='platforms',
- nargs='*', type=Platform.parse, default=[],
- help=f'target platform ({platform_options})')
- parser.add_argument('--configuration', metavar='CONFIGURATION', dest='configurations',
- nargs='*', type=Configuration.parse, default=[],
- help=f'target configuration ({configuration_options})')
+ parser.add_argument(
+ '--platform',
+ metavar='PLATFORM',
+ dest='platforms',
+ nargs='*',
+ type=Platform.parse,
+ default=[],
+ help=f'target platform ({platform_options})',
+ )
+ parser.add_argument(
+ '--configuration',
+ metavar='CONFIGURATION',
+ dest='configurations',
+ nargs='*',
+ type=Configuration.parse,
+ default=[],
+ help=f'target configuration ({configuration_options})',
+ )
linkage_options = '/'.join(map(str, Linkage.all()))
# This is needed because the default behaviour on Linux and Windows is
# different: static & dynamic libs are built on Linux, but only static libs
# are built on Windows by default.
- parser.add_argument('--link', metavar='LINKAGE',
- type=Linkage.parse, default=Linkage.default_link(),
- help=f'how the libraries are linked ({linkage_options})')
+ parser.add_argument(
+ '--link',
+ metavar='LINKAGE',
+ type=Linkage.parse,
+ default=Linkage.default_link(),
+ help=f'how the libraries are linked ({linkage_options})',
+ )
# This is used to omit runtime-link=static I'd have to otherwise use a lot,
# plus the script validates the link= and runtime-link= combinations.
- parser.add_argument('--runtime-link', metavar='LINKAGE',
- type=Linkage.parse, default=Linkage.default_runtime_link(),
- help=f'how the libraries link to the runtime ({linkage_options})')
+ parser.add_argument(
+ '--runtime-link',
+ metavar='LINKAGE',
+ type=Linkage.parse,
+ default=Linkage.default_runtime_link(),
+ help=f'how the libraries link to the runtime ({linkage_options})',
+ )
- parser.add_argument('--build', metavar='DIR', dest='build_dir',
- type=normalize_path,
- help='Boost build directory (temporary directory unless specified)')
+ parser.add_argument(
+ '--build',
+ metavar='DIR',
+ dest='build_dir',
+ type=normalize_path,
+ help='Boost build directory (temporary directory unless specified)',
+ )
- parser.add_argument('--b2-arg', metavar='ARG', dest='b2_args',
- action='extend', nargs='*',
- help='additional b2 arguments, to be passed verbatim')
+ parser.add_argument(
+ '--b2-arg',
+ metavar='ARG',
+ dest='b2_args',
+ action='extend',
+ nargs='*',
+ help='additional b2 arguments, to be passed verbatim',
+ )
- parser.add_argument('boost_dir', metavar='BOOST_DIR',
- type=normalize_path,
- help='root Boost directory')
- parser.add_argument('libraries', metavar='LIBRARIES',
- action='extend', nargs='*',
- help='libraries to build (all libraries by default)')
+ parser.add_argument(
+ 'boost_dir',
+ metavar='BOOST_DIR',
+ type=normalize_path,
+ help='root Boost directory',
+ )
+ parser.add_argument(
+ 'libraries',
+ metavar='LIBRARIES',
+ action='extend',
+ nargs='*',
+ help='libraries to build (all libraries by default)',
+ )
return parser.parse_args(argv)