-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSConstruct
More file actions
35 lines (30 loc) · 1.38 KB
/
SConstruct
File metadata and controls
35 lines (30 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!python
from SCons.Script import *
from scripts.build_util import validate_modules, module_converter
# Setup Default Environment
env = DefaultEnvironment()
env.Tool('clang')
# Supported Platforms
platforms = 'windows,osx'.split(',')
# PathVariables validators
PathExists = PathVariable.PathExists
PathAccept = PathVariable.PathAccept
# Build Variables
variables = Variables([], ARGUMENTS)
variables.Add(
EnumVariable('target', 'Target Compilation', 'debug', ['debug', 'release'], {'d': 'debug', 'r': 'release'}))
variables.Add(ListVariable('platforms', 'Target Platforms', 'windows', platforms))
variables.Add(EnumVariable('bits', 'Target Bits', '64', ['32', '64']))
variables.Add(PathVariable('godot_bindings_path', 'Godot binding base path', '../godot-cpp', PathExists))
variables.Add(PathVariable('libraries_path', 'GDNative libraries base path', './modules', PathExists))
variables.Add(PathVariable('libraries_export_path', 'GDNative libraries export path', 'assets/libs', PathAccept))
variables.Add('libraries', 'List of libraries - names must match cpp filename in modules folder', '',
validate_modules, module_converter)
variables.Update(env)
# Internal variables
target = env['target']
platforms = env['platforms']
bits = env['bits']
godot_bindings_path = env['godot_bindings_path']
libraries = env['libraries']
libraries_export_path = env['libraries_export_path']