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,
)