preliminary win32 support

This commit is contained in:
Kuba Winnicki 2019-06-19 13:50:13 +02:00
parent f660c0d22b
commit 3d6ff40dab

32
houy.py
View File

@ -2,7 +2,7 @@
from subprocess import call
from sys import argv, platform, exit, stderr
from os import environ, chdir
from os import environ, getenv, chdir
import shlex
import subprocess
@ -11,9 +11,10 @@ if __name__ == '__main__':
setup_path = {
'darwin': '/Applications/Houdini/Houdini17.5.173/Frameworks/Houdini.framework/Versions/Current/Resources',
'linux': '/opt/hfs17.5.229',
'win32': 'C:\Program Files\Side Effects Software\Houdini 17.5.173'
}
if platform not in setup_path:
print('Platform `{}` not supported... yet.', file=stderr)
print('Platform `{}` not supported... yet.'.format(platform), file=stderr)
exit(1)
chdir(setup_path[platform])
if '-rs3' in argv:
@ -28,12 +29,23 @@ if __name__ == '__main__':
'HOUDINI_PATH': '{}/redshift4houdini/17.5.173;&'.format(redshift_path),
'REDSHIFT_COREDATAPATH': '{}'.format(redshift_path),
})
command = shlex.split("env -i sh -c '. houdini_setup >/dev/null && env'")
proc = subprocess.Popen(command, stdout=subprocess.PIPE,
universal_newlines=True)
for line in proc.stdout:
(key, _, value) = str(line.strip()).partition('=')
environ[key] = value
print(key, '=', value)
proc.communicate()
if platform == 'win32':
#call(['runas', '/noprofile', '/user:Administrator', r'"c:\Windows\System32\tscon.exe {} /dest:console"'.format(getenv('SessionName'))], env=environ)
environ.update({
'PATH': "C:/ProgramData/Redshift/bin;$PATH",
'HOUDINI_PATH': "C:/ProgramData/Redshift/Plugins/Houdini/17.5.173;&",
'HOUDINI_OCL_DEVICETYPE': 'GPU',
'HOUDINI_OCL_DEVICENUMBER': '0',
})
# Initialize env vars.
if platform != 'win32':
command = shlex.split("env -i sh -c '. houdini_setup >/dev/null && env'")
proc = subprocess.Popen(command, stdout=subprocess.PIPE,
universal_newlines=True)
for line in proc.stdout:
(key, _, value) = str(line.strip()).partition('=')
environ[key] = value
print(key, '=', value)
proc.communicate()
call(['./bin/houdini'], env=environ)