in compile.py [0:0]
def main() -> int:
""" The main function which is called when this script is run
Returns: The return code of the process
"""
check_dependencies()
vcpkg_folder = get_vcpkg_root()
setup_and_install_vcpkgs(vcpkg_folder)
debug = False
app_name = "OpenVPCal"
version = get_version_from_python_package()
icon_file_path = os.path.join(get_python_package_resource_folder(), "icon.ico")
paths = get_python_package_folder()
additional_data = get_additional_data_from_resources()
entry_script = os.path.join(paths, "main.py")
platform_sep = get_additional_data_seperator()
additional_python_modules = {
"spg": os.path.join(get_src_folder(), "spg"),
"stageassets": os.path.join(get_src_folder(), "stageassets"),
"spg_icvfxpatterns": os.path.join(get_src_folder(), "spg_icvfxpatterns")
}
if debug:
cmds = ["pyinstaller", "--debug", "all"]
else:
cmds = ["pyinstaller"]
if platform.system() != 'Windows':
cmds.append("-w")
cmds.extend(
["--icon", icon_file_path, "--name", app_name, "--noconfirm", "--clean", "--onedir", "--paths", paths]
)
for folder_name, additional_module in additional_python_modules.items():
cmds.append("--add-data")
cmds.append(f"{additional_module}{platform_sep}{folder_name}")
for add_data in additional_data:
cmds.append("--add-data")
cmds.append(add_data)
manual_paths = get_additional_library_paths(vcpkg_folder)
for manual_path in manual_paths:
cmds.append("--add-data")
cmds.append(f"{manual_path}{platform_sep}.")
cmds.append(entry_script)
process = subprocess.Popen(cmds, stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True)
print(process.stdout.read())
# Wait for the process to finish and get the return code.
return_code = process.wait()
if platform.system() == 'Darwin':
certificate_name = os.getenv("CODE_SIGNING_CERTIFICATE", "")
if certificate_name:
return_code = osx_sign_app_and_build_dmg(
app_name, certificate_name, version)
else:
print("WARNING - No CODE_SIGNING_CERTIFICATE environment variable set. Skipping code signing.")
if platform.system() == 'Windows':
return_code = build_windows_installer(manual_paths, version)
print('Return code:', return_code)
return return_code