51 lines
1.1 KiB
Bash
Executable File
51 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Common utilities for OpenSCAD tools
|
|
|
|
# Find OpenSCAD executable
|
|
find_openscad() {
|
|
# Check common locations
|
|
if command -v openscad &> /dev/null; then
|
|
echo "openscad"
|
|
return 0
|
|
fi
|
|
|
|
# macOS Application bundle
|
|
if [ -d "/Applications/OpenSCAD.app" ]; then
|
|
echo "/Applications/OpenSCAD.app/Contents/MacOS/OpenSCAD"
|
|
return 0
|
|
fi
|
|
|
|
# Homebrew on Apple Silicon
|
|
if [ -x "/opt/homebrew/bin/openscad" ]; then
|
|
echo "/opt/homebrew/bin/openscad"
|
|
return 0
|
|
fi
|
|
|
|
# Homebrew on Intel
|
|
if [ -x "/usr/local/bin/openscad" ]; then
|
|
echo "/usr/local/bin/openscad"
|
|
return 0
|
|
fi
|
|
|
|
return 1
|
|
}
|
|
|
|
# Check if OpenSCAD is available
|
|
check_openscad() {
|
|
OPENSCAD=$(find_openscad) || {
|
|
echo "Error: OpenSCAD not found!"
|
|
echo ""
|
|
echo "Install OpenSCAD using one of:"
|
|
echo " brew install openscad"
|
|
echo " Download from https://openscad.org/downloads.html"
|
|
exit 1
|
|
}
|
|
export OPENSCAD
|
|
}
|
|
|
|
# Get version info
|
|
openscad_version() {
|
|
check_openscad
|
|
$OPENSCAD --version 2>&1
|
|
}
|