Update build script for a more targeted set of stuff to build for unity
This commit is contained in:
parent
50ea4e61c6
commit
be7fda7c50
2 changed files with 43 additions and 16 deletions
57
build.py
57
build.py
|
@ -72,6 +72,13 @@ def unity():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@cli.command()
|
||||||
|
@click.pass_context
|
||||||
|
def for_unity(ctx):
|
||||||
|
""" build just dynamic libs for use in unity project """
|
||||||
|
ctx.invoke(libs, clean=False, static=False, shared=True, skip_formatter=False)
|
||||||
|
|
||||||
|
|
||||||
@cli.command()
|
@cli.command()
|
||||||
def unreal():
|
def unreal():
|
||||||
""" todo: build unreal project """
|
""" todo: build unreal project """
|
||||||
|
@ -96,7 +103,9 @@ def build_lib(build_name, generator, options):
|
||||||
# disable formatting on CI builds
|
# disable formatting on CI builds
|
||||||
initial_cmake.append('-DCLANG_FORMAT_SUFFIX=none')
|
initial_cmake.append('-DCLANG_FORMAT_SUFFIX=none')
|
||||||
for key in options:
|
for key in options:
|
||||||
val = 'ON' if options[key] else 'OFF'
|
val = options[key]
|
||||||
|
if type(val) is bool:
|
||||||
|
val = 'ON' if val else 'OFF'
|
||||||
initial_cmake.append('-D%s=%s' % (key, val))
|
initial_cmake.append('-D%s=%s' % (key, val))
|
||||||
click.echo('--- Building ' + build_name)
|
click.echo('--- Building ' + build_name)
|
||||||
subprocess.check_call(initial_cmake)
|
subprocess.check_call(initial_cmake)
|
||||||
|
@ -167,31 +176,49 @@ def sign():
|
||||||
|
|
||||||
@cli.command()
|
@cli.command()
|
||||||
@click.option('--clean', is_flag=True)
|
@click.option('--clean', is_flag=True)
|
||||||
def libs(clean):
|
@click.option('--static', is_flag=True)
|
||||||
|
@click.option('--shared', is_flag=True)
|
||||||
|
@click.option('--skip_formatter', is_flag=True)
|
||||||
|
def libs(clean, static, shared, skip_formatter):
|
||||||
""" Do all the builds for this platform """
|
""" Do all the builds for this platform """
|
||||||
if clean:
|
if clean:
|
||||||
shutil.rmtree('builds', ignore_errors=True)
|
shutil.rmtree('builds', ignore_errors=True)
|
||||||
|
|
||||||
mkdir_p('builds')
|
mkdir_p('builds')
|
||||||
|
|
||||||
|
if not (static or shared):
|
||||||
|
static = True
|
||||||
|
shared = True
|
||||||
|
|
||||||
|
static_options = {}
|
||||||
|
dynamic_options = {
|
||||||
|
'BUILD_SHARED_LIBS': True,
|
||||||
|
'USE_STATIC_CRT': True,
|
||||||
|
}
|
||||||
|
|
||||||
|
if skip_formatter:
|
||||||
|
static_options['CLANG_FORMAT_SUFFIX'] = 'nope'
|
||||||
|
dynamic_options['CLANG_FORMAT_SUFFIX'] = 'nope'
|
||||||
|
|
||||||
if PLATFORM == 'win':
|
if PLATFORM == 'win':
|
||||||
generator32 = 'Visual Studio 14 2015'
|
generator32 = 'Visual Studio 14 2015'
|
||||||
generator64 = 'Visual Studio 14 2015 Win64'
|
generator64 = 'Visual Studio 14 2015 Win64'
|
||||||
static_options = {}
|
if static:
|
||||||
dynamic_options = {
|
build_lib('win32-static', generator32, static_options)
|
||||||
'BUILD_SHARED_LIBS': True,
|
build_lib('win64-static', generator64, static_options)
|
||||||
'USE_STATIC_CRT': True,
|
if shared:
|
||||||
}
|
build_lib('win32-dynamic', generator32, dynamic_options)
|
||||||
build_lib('win32-static', generator32, static_options)
|
build_lib('win64-dynamic', generator64, dynamic_options)
|
||||||
build_lib('win32-dynamic', generator32, dynamic_options)
|
|
||||||
build_lib('win64-static', generator64, static_options)
|
|
||||||
build_lib('win64-dynamic', generator64, dynamic_options)
|
|
||||||
elif PLATFORM == 'osx':
|
elif PLATFORM == 'osx':
|
||||||
build_lib('osx-static', None, {})
|
if static:
|
||||||
build_lib('osx-dynamic', None, {'BUILD_SHARED_LIBS': True})
|
build_lib('osx-static', None, static_options)
|
||||||
|
if shared:
|
||||||
|
build_lib('osx-dynamic', None, dynamic_options)
|
||||||
elif PLATFORM == 'linux':
|
elif PLATFORM == 'linux':
|
||||||
build_lib('linux-static', None, {})
|
if static:
|
||||||
build_lib('linux-dynamic', None, {'BUILD_SHARED_LIBS': True})
|
build_lib('linux-static', None, static_options)
|
||||||
|
if shared:
|
||||||
|
build_lib('linux-dynamic', None, dynamic_options)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class ScriptBatch
|
||||||
proc.StartInfo.EnvironmentVariables["PATH"] = newPath;
|
proc.StartInfo.EnvironmentVariables["PATH"] = newPath;
|
||||||
#endif
|
#endif
|
||||||
proc.StartInfo.FileName = "python";
|
proc.StartInfo.FileName = "python";
|
||||||
proc.StartInfo.Arguments = "build.py";
|
proc.StartInfo.Arguments = "build.py for_unity";
|
||||||
proc.StartInfo.WorkingDirectory = "../..";
|
proc.StartInfo.WorkingDirectory = "../..";
|
||||||
proc.Start();
|
proc.Start();
|
||||||
proc.WaitForExit();
|
proc.WaitForExit();
|
||||||
|
|
Loading…
Reference in a new issue