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')