forked from bartvdbraak/blender
Icons: resolve various issues for generating icons
- INKSCAPE_BIN environment variable was ignored by alert_icons_update & prvicons_update. - `make icons` wasn't regenerating alert icons. - Updating SVG icons failed using blender built with ASAN.
This commit is contained in:
parent
8a1c1279b3
commit
7389fd9a35
@ -528,8 +528,10 @@ INKSCAPE_BIN?="inkscape"
|
||||
icons: .FORCE
|
||||
BLENDER_BIN=$(BLENDER_BIN) INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/blender_icons_update.py"
|
||||
BLENDER_BIN=$(BLENDER_BIN) INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/prvicons_update.py"
|
||||
INKSCAPE_BIN=$(INKSCAPE_BIN) \
|
||||
"$(BLENDER_DIR)/release/datafiles/alert_icons_update.py"
|
||||
|
||||
icons_geom: .FORCE
|
||||
BLENDER_BIN=$(BLENDER_BIN) \
|
||||
|
6
release/datafiles/alert_icons_update.py
Normal file → Executable file
6
release/datafiles/alert_icons_update.py
Normal file → Executable file
@ -7,15 +7,15 @@ import sys
|
||||
|
||||
BASEDIR = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
inkscape_path = 'inkscape'
|
||||
inkscape_bin = os.environ.get("INKSCAPE_BIN", "inkscape")
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
inkscape_app_path = '/Applications/Inkscape.app/Contents/MacOS/inkscape'
|
||||
if os.path.exists(inkscape_app_path):
|
||||
inkscape_path = inkscape_app_path
|
||||
inkscape_bin = inkscape_app_path
|
||||
|
||||
cmd = (
|
||||
inkscape_path,
|
||||
inkscape_bin,
|
||||
os.path.join(BASEDIR, "alert_icons.svg"),
|
||||
"--export-width=1280",
|
||||
"--export-height=256",
|
||||
|
@ -6,10 +6,9 @@ import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def run(cmd):
|
||||
def run(cmd, *, env=None):
|
||||
print(" ", " ".join(cmd))
|
||||
# Don't use check_call because asan causes nonzero exitcode :S
|
||||
subprocess.call(cmd)
|
||||
subprocess.check_call(cmd, env=env)
|
||||
|
||||
|
||||
def edit_text_file(filename, marker_begin, marker_end, content):
|
||||
@ -73,7 +72,12 @@ for blend in icons_blend:
|
||||
"--group", "Export",
|
||||
"--output-dir", output_dir,
|
||||
)
|
||||
run(cmd)
|
||||
|
||||
env = {}
|
||||
# Developers may have ASAN enabled, avoid non-zero exit codes.
|
||||
env["ASAN_OPTIONS"] = "exitcode=0:" + os.environ.get("ASAN_OPTIONS", "")
|
||||
|
||||
run(cmd, env=env)
|
||||
files_new = set(names_and_time_from_path(output_dir))
|
||||
|
||||
icon_files.extend([
|
||||
|
@ -6,13 +6,17 @@ import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def run(cmd):
|
||||
def run(cmd, *, env=None):
|
||||
print(" ", " ".join(cmd))
|
||||
subprocess.check_call(cmd)
|
||||
subprocess.check_call(cmd, env=env)
|
||||
|
||||
|
||||
BASEDIR = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
env = {}
|
||||
# Developers may have ASAN enabled, avoid non-zero exit codes.
|
||||
env["ASAN_OPTIONS"] = "exitcode=0:" + os.environ.get("ASAN_OPTIONS", "")
|
||||
|
||||
inkscape_bin = os.environ.get("INKSCAPE_BIN", "inkscape")
|
||||
blender_bin = os.environ.get("BLENDER_BIN", "blender")
|
||||
|
||||
@ -32,7 +36,7 @@ cmd = (
|
||||
"--export-type=png",
|
||||
"--export-filename=" + os.path.join(BASEDIR, "blender_icons16.png"),
|
||||
)
|
||||
run(cmd)
|
||||
run(cmd, env=env)
|
||||
|
||||
cmd = (
|
||||
inkscape_bin,
|
||||
@ -42,7 +46,7 @@ cmd = (
|
||||
"--export-type=png",
|
||||
"--export-filename=" + os.path.join(BASEDIR, "blender_icons32.png"),
|
||||
)
|
||||
run(cmd)
|
||||
run(cmd, env=env)
|
||||
|
||||
|
||||
# For testing it can be good to clear all old
|
||||
@ -64,7 +68,7 @@ cmd = (
|
||||
"--minx_icon", "2", "--maxx_icon", "2", "--miny_icon", "2", "--maxy_icon", "2",
|
||||
"--spacex_icon", "1", "--spacey_icon", "1",
|
||||
)
|
||||
run(cmd)
|
||||
run(cmd, env=env)
|
||||
|
||||
cmd = (
|
||||
blender_bin, "--background", "--factory-startup", "-noaudio",
|
||||
@ -78,7 +82,7 @@ cmd = (
|
||||
"--minx_icon", "4", "--maxx_icon", "4", "--miny_icon", "4", "--maxy_icon", "4",
|
||||
"--spacex_icon", "2", "--spacey_icon", "2",
|
||||
)
|
||||
run(cmd)
|
||||
run(cmd, env=env)
|
||||
|
||||
os.remove(os.path.join(BASEDIR, "blender_icons16.png"))
|
||||
os.remove(os.path.join(BASEDIR, "blender_icons32.png"))
|
||||
|
@ -7,15 +7,15 @@ import sys
|
||||
|
||||
BASEDIR = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
inkscape_path = 'inkscape'
|
||||
inkscape_bin = os.environ.get("INKSCAPE_BIN", "inkscape")
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
inkscape_app_path = '/Applications/Inkscape.app/Contents/MacOS/inkscape'
|
||||
if os.path.exists(inkscape_app_path):
|
||||
inkscape_path = inkscape_app_path
|
||||
inkscape_bin = inkscape_app_path
|
||||
|
||||
cmd = (
|
||||
inkscape_path,
|
||||
inkscape_bin,
|
||||
os.path.join(BASEDIR, "prvicons.svg"),
|
||||
"--export-width=1792",
|
||||
"--export-height=256",
|
||||
|
Loading…
Reference in New Issue
Block a user