def _build_third_party()

in build_tools/setup_helpers/extension.py [0:0]


def _build_third_party(debug):
    build_dir = _TP_BASE_DIR / 'build'
    build_dir.mkdir(exist_ok=True)
    build_env = os.environ.copy()
    config = 'Debug' if debug else 'Release'
    if platform.system() == 'Windows':
        extra_args = [
            '-GNinja',
        ]
        build_env.setdefault('CC', 'cl')
        build_env.setdefault('CXX', 'cl')
    else:
        extra_args = ['-DCMAKE_CXX_FLAGS=-fPIC ' + _get_cxx11_abi()]
    subprocess.run(
        args=[
            'cmake',
            '-DBUILD_SHARED_LIBS=OFF',
            '-DRE2_BUILD_TESTING=OFF',
            '-DCMAKE_EXPORT_COMPILE_COMMANDS=ON',
            f'-DCMAKE_INSTALL_PREFIX={_TP_INSTALL_DIR}',
            f'-DCMAKE_BUILD_TYPE={config}',
            '-DCMAKE_CXX_VISIBILITY_PRESET=hidden',
            '-DCMAKE_POLICY_DEFAULT_CMP0063=NEW',
        ] + extra_args + ['..'],
        cwd=str(build_dir),
        check=True,
        env=build_env,
    )
    print('*** Command list Thirdparty ***')
    with open(build_dir / 'compile_commands.json', 'r') as fileobj:
        print(fileobj.read())
    print('running cmake --build', flush=True)
    subprocess.run(
        args=['cmake', '--build', '.', '--target', 'install', '--config', config],
        cwd=str(build_dir),
        check=True,
        env=build_env,
    )