42 lines
836 B
Plaintext
42 lines
836 B
Plaintext
|
|
import os
|
|
|
|
Import('env')
|
|
|
|
def _exe_name() -> str:
|
|
if os.name == 'nt':
|
|
return env['BIN_DIR'] + '/texture_packer.exe'
|
|
return env['BIN_DIR'] + '/texture_packer'
|
|
|
|
src_files = Split("""
|
|
main.cpp
|
|
|
|
packer.cpp
|
|
""")
|
|
|
|
prog_packer = env.UnityProgram(
|
|
name = 'Texture Packer',
|
|
target = env['BIN_DIR'] + '/texture_packer',
|
|
source = src_files,
|
|
dependencies = {
|
|
'argparse': {},
|
|
'mijin': {},
|
|
'rectpack2D': {},
|
|
'spdlog': {},
|
|
'stb': {}
|
|
}
|
|
)
|
|
env.Default(prog_packer)
|
|
|
|
def _pack_textures(env, target: str, source: 'list[str]'):
|
|
cmd = env.Command(
|
|
target = target,
|
|
source = source,
|
|
action = f'{_exe_name()} $TARGET $SOURCES'
|
|
)
|
|
env.Depends(cmd, prog_packer)
|
|
return cmd
|
|
env.AddMethod(_pack_textures, 'PackTextures')
|
|
|
|
Return('env')
|