Files
fluxengine/extras/build.py
2025-04-24 01:16:54 +02:00

54 lines
1.2 KiB
Python

from build.ab import simplerule, simplerule
from build.utils import objectify
from build.c import clibrary
from build.zip import zip
from glob import glob
from os.path import *
icons = ["fluxfile", "hardware", "icon", "imagefile"]
clibrary(
name="icons",
hdrs={
f"icons/{n}.h": objectify(
name=n + "_h", src=f"./{n}.png", symbol=f"icon_{n}_png"
)
for n in icons
},
)
simplerule(
name="fluxengine_icns",
ins=["./icon.png"],
outs=["=fluxengine.icns"],
commands=[
"mkdir -p fluxengine.iconset",
"sips -z 64 64 $[ins[0]] --out fluxengine.iconset/icon_32x32@2x.png > /dev/null",
"iconutil -c icns -o $[outs[0]] fluxengine.iconset",
],
label="ICONSET",
)
simplerule(
name="fluxengine_ico",
ins=["./icon.png"],
outs=["=fluxengine.ico"],
commands=["png2ico $[outs[0]] $[ins[0]]"],
label="MAKEICON",
)
template_files = [
f
for f in glob(
"**", recursive=True, root_dir="extras/FluxEngine.app.template"
)
if isfile(join("extras/FluxEngine.app.template", f))
]
zip(
name="fluxengine_template",
items={
join("FluxEngine.app", k): join("extras/FluxEngine.app.template", k)
for k in template_files
},
)