1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-09-14 22:42:34 +02:00
ScreenPlay/Tools/setup.py

79 lines
3.0 KiB
Python
Raw Permalink Normal View History

2021-05-16 13:09:32 +02:00
import os
import sys
import argparse
from execute_util import execute
from download_ffmpeg import download_prebuild_ffmpeg
2021-05-16 13:09:32 +02:00
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description='Installs ScreenPlay dependencies.')
parser.add_argument(
'--path', help='You can manually set the vcpkg path via -p. This path must be an absolute path and without the ScreenPlay-vcpkg name! py.exe .\setup.py --path "D:/Backup/Code/Qt/" ')
args = parser.parse_args()
# ScreenPlay source and ScreenPlay-vcpkg have to be on the same file system hierarchy
project_source_parent_path = ""
project_source_path = os.path.abspath(os.path.join(os.getcwd(), "../"))
2021-05-16 14:10:37 +02:00
if args.path is not None:
2021-05-16 13:09:32 +02:00
project_source_parent_path = os.path.abspath(args.path)
else:
print("No --path provided!")
project_source_parent_path = os.path.abspath(
os.path.join(os.getcwd(), "../../"))
print("\nproject_source_parent_path: ", project_source_parent_path,
"\nproject_source_path: ", project_source_path,
"\n")
execute("git clone https://github.com/microsoft/vcpkg.git ScreenPlay-vcpkg",
project_source_parent_path, True)
vcpkg_path = os.path.join(project_source_parent_path, "ScreenPlay-vcpkg")
print("vcpkg_path: ", vcpkg_path)
vcpkg_version = "5ddd7f0" # Master 02.12.2021
2021-05-16 13:09:32 +02:00
print("Build vcpkg ", vcpkg_version)
execute("git fetch", vcpkg_path)
execute("git checkout {}".format(vcpkg_version), vcpkg_path)
vcpkg_packages_list = [
2021-10-03 17:45:44 +02:00
"openssl",
2021-06-25 12:35:41 +02:00
"curl",
2021-05-16 13:09:32 +02:00
"sentry-native",
"doctest",
"cpp-httplib"
2021-05-16 13:09:32 +02:00
]
vcpkg_triplet = ""
2021-06-25 12:32:19 +02:00
vcpkg_command = ""
2021-05-16 13:09:32 +02:00
if sys.platform == "win32":
2021-06-25 12:32:19 +02:00
vcpkg_command = "vcpkg.exe"
2021-05-16 13:09:32 +02:00
vcpkg_packages_list.append("infoware[d3d]")
execute("download_ffmpeg.bat", project_source_path + "/Tools", False)
execute("bootstrap-vcpkg.bat", vcpkg_path, False)
2021-05-16 16:34:05 +02:00
vcpkg_triplet = "x64-windows"
2021-05-16 13:09:32 +02:00
elif sys.platform == "darwin":
2021-06-25 12:32:19 +02:00
vcpkg_command = "./vcpkg"
2021-05-16 13:09:32 +02:00
vcpkg_packages_list.append("infoware[opencl]")
vcpkg_packages_list.append("curl") # Hidden dependency from sentry
2021-06-12 14:42:55 +02:00
execute("chmod +x bootstrap-vcpkg.sh", vcpkg_path)
execute("./bootstrap-vcpkg.sh", vcpkg_path, False)
2021-05-16 13:09:32 +02:00
execute("chmod +x vcpkg", vcpkg_path)
2021-06-12 14:42:55 +02:00
vcpkg_triplet = "x64-osx"
download_prebuild_ffmpeg()
2021-05-16 13:09:32 +02:00
elif sys.platform == "linux":
2021-06-25 12:32:19 +02:00
vcpkg_command = "./vcpkg"
#vcpkg_packages_list.append("infoware[opengl]")
2021-06-12 14:42:55 +02:00
execute("chmod +x bootstrap-vcpkg.sh", vcpkg_path)
execute("./bootstrap-vcpkg.sh", vcpkg_path, False)
2021-05-16 13:09:32 +02:00
execute("chmod +x vcpkg", vcpkg_path)
2021-06-12 14:42:55 +02:00
vcpkg_triplet = "x64-linux"
2021-05-16 13:09:32 +02:00
2021-05-16 16:38:04 +02:00
vcpkg_packages = " ".join(vcpkg_packages_list)
2021-06-25 12:32:19 +02:00
execute("{} update".format(vcpkg_command), vcpkg_path, False)
execute("{} upgrade --no-dry-run".format(vcpkg_command),
2021-05-16 13:09:32 +02:00
vcpkg_path, False)
2021-06-25 12:32:19 +02:00
execute("{} install {} --triplet {} --recurse".format(vcpkg_command,
2021-05-16 13:09:32 +02:00
vcpkg_packages, vcpkg_triplet), vcpkg_path, False)