mirror of
https://github.com/Alex313031/thorium.git
synced 2025-01-09 11:27:32 -03:00
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
|
# Copyright (c) 2024 Alex313031 and gz83.
|
||
|
|
||
|
# This file is the equivalent of build_win.sh in the parent directory.
|
||
|
|
||
|
import os
|
||
|
import subprocess
|
||
|
import sys
|
||
|
|
||
|
# Error handling functions
|
||
|
def fail(msg):
|
||
|
# Print error message and exit
|
||
|
print(f"{sys.argv[0]}: {msg}", file=sys.stderr)
|
||
|
sys.exit(111)
|
||
|
|
||
|
|
||
|
def try_run(command):
|
||
|
if subprocess.call(command, shell=True) != 0:
|
||
|
fail(f"Failed {command}")
|
||
|
|
||
|
|
||
|
# Help function
|
||
|
def display_help():
|
||
|
print("\nScript to build Thorium for Windows.\n")
|
||
|
print("Usage: python win_scripts\build_win.py # (where # is number of jobs)\n")
|
||
|
|
||
|
if '--help' in sys.argv:
|
||
|
display_help()
|
||
|
sys.exit(0)
|
||
|
|
||
|
|
||
|
# Set chromium/src dir from Windows environment variable
|
||
|
cr_src_dir = os.getenv('CR_DIR', r'C:/src/chromium/src')
|
||
|
|
||
|
print("\nBuilding Thorium for Windows\n")
|
||
|
|
||
|
# Change directory and run build commands
|
||
|
os.chdir(cr_src_dir)
|
||
|
# Determine the number of threads to use
|
||
|
jobs = sys.argv[1] if len(sys.argv) > 1 else str(os.cpu_count())
|
||
|
|
||
|
try_run(f'autoninja -C out/thorium thorium_all -j{jobs}')
|
||
|
|
||
|
# Move the installer
|
||
|
installer_src = os.path.normpath(os.path.join(cr_src_dir, 'out', 'thorium', 'mini_installer.exe'))
|
||
|
installer_dest = os.path.normpath(os.path.join(cr_src_dir, 'out', 'thorium', 'thorium_mini_installer.exe'))
|
||
|
os.rename(installer_src, installer_dest)
|
||
|
|
||
|
print(f"Build Completed. Installer at '{installer_dest}'")
|