2021-05-16 13:09:32 +02:00
import os
import sys
import argparse
from execute_util import execute
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 ( " \n project_source_parent_path: " , project_source_parent_path ,
" \n project_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 )
2021-06-12 14:42:55 +02:00
vcpkg_version = " 680b27d15f4d62bc6181fd33dc5259482b0890b1 " # Master 10.06.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 = [
" openssl-unix " ,
" sentry-native " ,
" doctest " ,
]
vcpkg_triplet = " "
executable_file_suffix = " "
if sys . platform == " win32 " :
vcpkg_packages_list . append ( " infoware[d3d] " )
executable_file_suffix = " .exe "
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 " :
vcpkg_packages_list . append ( " infoware[opencl] " )
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 "
2021-05-16 13:09:32 +02:00
elif sys . platform == " linux " :
vcpkg_packages_list . append ( " infoware[opencl] " )
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-12 14:42:55 +02:00
execute ( " ./vcpkg {} update " . format ( executable_file_suffix ) , vcpkg_path , False )
execute ( " ./vcpkg {} upgrade --no-dry-run " . format ( executable_file_suffix ) ,
2021-05-16 13:09:32 +02:00
vcpkg_path , False )
2021-06-12 14:42:55 +02:00
execute ( " ./vcpkg {} install {} --triplet {} --recurse " . format ( executable_file_suffix ,
2021-05-16 13:09:32 +02:00
vcpkg_packages , vcpkg_triplet ) , vcpkg_path , False )