From 2d700f9e366982a47e655864fd234513fc73b93a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Wed, 8 Oct 2025 22:21:59 -0300 Subject: [PATCH] Use Resources path when building ecode.app. Should fix signing. --- projects/macos/ecode/build.app.sh | 64 +++++++++++++------------ projects/macos/ecode/cross.build.app.sh | 60 ++++++++++++----------- src/tools/ecode/ecode.cpp | 6 +++ 3 files changed, 70 insertions(+), 60 deletions(-) diff --git a/projects/macos/ecode/build.app.sh b/projects/macos/ecode/build.app.sh index 9cc8f0eb4..aa9791d35 100755 --- a/projects/macos/ecode/build.app.sh +++ b/projects/macos/ecode/build.app.sh @@ -45,10 +45,12 @@ echo "Building using sdl2-config" ../make_no_fw.sh config=$CONFIG_NAME ecode || exit fi +RESOURCES_PATH="ecode.app/Contents/Resources" + rm -rf ./ecode.app mkdir -p ecode.app/Contents/MacOS/ -mkdir -p ecode.app/Contents/Resources/ -cp ../../../bin/assets/icon/ecode.icns ecode.app/Contents/Resources/ecode.icns +mkdir -p "$RESOURCES_PATH" +cp ../../../bin/assets/icon/ecode.icns $RESOURCES_PATH/ecode.icns VERSIONPATH=../../../src/tools/ecode/version.hpp ECODE_MAJOR_VERSION=$(grep "define ECODE_MAJOR_VERSION" $VERSIONPATH | awk '{print $3}') @@ -89,35 +91,35 @@ fi fi -#cp -r ../../../bin/assets ecode.app/Contents/MacOS/assets -mkdir -p ecode.app/Contents/MacOS/assets/colorschemes -cp -r ../../../bin/assets/colorschemes/ ecode.app/Contents/MacOS/assets/colorschemes/ -mkdir -p ecode.app/Contents/MacOS/assets/i18n -cp -r ../../../bin/assets/i18n/ ecode.app/Contents/MacOS/assets/i18n/ -#cp -r ../../../bin/assets/fonts ecode.app/Contents/MacOS/assets/ -mkdir -p ecode.app/Contents/MacOS/assets/fonts -cp -r ../../../bin/assets/fonts/DejaVuSansMono.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMono-Bold.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMono-Oblique.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMono-BoldOblique.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMonoNerdFontComplete.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/nonicons.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/codicon.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-Regular.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/remixicon.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoEmoji-Regular.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-Bold.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-Italic.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-BoldItalic.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoColorEmoji.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DroidSansFallbackFull.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/plugins ecode.app/Contents/MacOS/assets/ -# cp -r ../../../bin/assets/icon ecode.app/Contents/MacOS/assets/ -mkdir -p ecode.app/Contents/MacOS/assets/icon -cp ../../../bin/assets/icon/ecode.png ecode.app/Contents/MacOS/assets/icon -cp ../../../bin/assets/ca-bundle.pem ecode.app/Contents/MacOS/assets/ca-bundle.pem -mkdir ecode.app/Contents/MacOS/assets/ui -cp ../../../bin/assets/ui/breeze.css ecode.app/Contents/MacOS/assets/ui/ +#cp -r ../../../bin/assets $RESOURCES_PATH/assets +mkdir -p $RESOURCES_PATH/assets/colorschemes +cp -r ../../../bin/assets/colorschemes/ $RESOURCES_PATH/assets/colorschemes/ +mkdir -p $RESOURCES_PATH/assets/i18n +cp -r ../../../bin/assets/i18n/ $RESOURCES_PATH/assets/i18n/ +#cp -r ../../../bin/assets/fonts $RESOURCES_PATH/assets/ +mkdir -p $RESOURCES_PATH/assets/fonts +cp -r ../../../bin/assets/fonts/DejaVuSansMono.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMono-Bold.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMono-Oblique.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMono-BoldOblique.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMonoNerdFontComplete.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/nonicons.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/codicon.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-Regular.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/remixicon.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoEmoji-Regular.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-Bold.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-Italic.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-BoldItalic.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoColorEmoji.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DroidSansFallbackFull.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/plugins $RESOURCES_PATH/assets/ +# cp -r ../../../bin/assets/icon $RESOURCES_PATH/assets/ +mkdir -p $RESOURCES_PATH/assets/icon +cp ../../../bin/assets/icon/ecode.png $RESOURCES_PATH/assets/icon +cp ../../../bin/assets/ca-bundle.pem $RESOURCES_PATH/assets/ca-bundle.pem +mkdir $RESOURCES_PATH/assets/ui +cp ../../../bin/assets/ui/breeze.css $RESOURCES_PATH/assets/ui/ # Clear quarantine flag recursively (more targeted than -cr) xattr -d -r com.apple.quarantine ecode.app 2>/dev/null || true diff --git a/projects/macos/ecode/cross.build.app.sh b/projects/macos/ecode/cross.build.app.sh index f043e3d44..a93264e71 100755 --- a/projects/macos/ecode/cross.build.app.sh +++ b/projects/macos/ecode/cross.build.app.sh @@ -20,13 +20,15 @@ for i in "$@"; do esac done +RESOURCES_PATH="ecode.app/Contents/Resources" + premake5 --file=../../../premake5.lua --use-frameworks gmake || exit make -C ../../../make/macosx/ -j$(sysctl -n hw.ncpu) -e verbose=true -e config=release_x86_64 ecode || exit rm -rf ./ecode.app mkdir -p ecode.app/Contents/MacOS/ -mkdir -p ecode.app/Contents/Resources/ -cp ../../../bin/assets/icon/ecode.icns ecode.app/Contents/Resources/ecode.icns +mkdir -p "$RESOURCES_PATH" +cp ../../../bin/assets/icon/ecode.icns $RESOURCES_PATH/ecode.icns VERSIONPATH=../../../src/tools/ecode/version.hpp ECODE_MAJOR_VERSION=$(grep "define ECODE_MAJOR_VERSION" $VERSIONPATH | awk '{print $3}') @@ -52,33 +54,33 @@ install_name_tool -change @rpath/SDL2.framework/Versions/A/SDL2 @executable_path codesign --force -s - ecode.app/Contents/MacOS/SDL2 install_name_tool -change @rpath/libeepp.dylib @executable_path/libeepp.dylib ecode.app/Contents/MacOS/ecode -#cp -r ../../../bin/assets ecode.app/Contents/MacOS/assets -mkdir -p ecode.app/Contents/MacOS/assets/colorschemes -cp -r ../../../bin/assets/colorschemes/ ecode.app/Contents/MacOS/assets/colorschemes/ -#cp -r ../../../bin/assets/fonts ecode.app/Contents/MacOS/assets/ -mkdir -p ecode.app/Contents/MacOS/assets/fonts -cp -r ../../../bin/assets/fonts/DejaVuSansMono.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMono-Bold.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMono-Oblique.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMono-BoldOblique.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DejaVuSansMonoNerdFontComplete.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/nonicons.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/codicon.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-Regular.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/remixicon.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoEmoji-Regular.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-Bold.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-Italic.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoSans-BoldItalic.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/NotoColorEmoji.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/fonts/DroidSansFallbackFull.ttf ecode.app/Contents/MacOS/assets/fonts/ -cp -r ../../../bin/assets/plugins ecode.app/Contents/MacOS/assets/ -# cp -r ../../../bin/assets/icon ecode.app/Contents/MacOS/assets/ -mkdir -p ecode.app/Contents/MacOS/assets/icon -cp ../../../bin/assets/icon/ecode.png ecode.app/Contents/MacOS/assets/icon -cp ../../../bin/assets/ca-bundle.pem ecode.app/Contents/MacOS/assets/ca-bundle.pem -mkdir ecode.app/Contents/MacOS/assets/ui -cp ../../../bin/assets/ui/breeze.css ecode.app/Contents/MacOS/assets/ui/ +#cp -r ../../../bin/assets $RESOURCES_PATH/assets +mkdir -p $RESOURCES_PATH/assets/colorschemes +cp -r ../../../bin/assets/colorschemes/ $RESOURCES_PATH/assets/colorschemes/ +#cp -r ../../../bin/assets/fonts $RESOURCES_PATH/assets/ +mkdir -p $RESOURCES_PATH/assets/fonts +cp -r ../../../bin/assets/fonts/DejaVuSansMono.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMono-Bold.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMono-Oblique.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMono-BoldOblique.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DejaVuSansMonoNerdFontComplete.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/nonicons.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/codicon.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-Regular.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/remixicon.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoEmoji-Regular.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-Bold.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-Italic.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoSans-BoldItalic.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/NotoColorEmoji.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/fonts/DroidSansFallbackFull.ttf $RESOURCES_PATH/assets/fonts/ +cp -r ../../../bin/assets/plugins $RESOURCES_PATH/assets/ +# cp -r ../../../bin/assets/icon $RESOURCES_PATH/assets/ +mkdir -p $RESOURCES_PATH/assets/icon +cp ../../../bin/assets/icon/ecode.png $RESOURCES_PATH/assets/icon +cp ../../../bin/assets/ca-bundle.pem $RESOURCES_PATH/assets/ca-bundle.pem +mkdir $RESOURCES_PATH/assets/ui +cp ../../../bin/assets/ui/breeze.css $RESOURCES_PATH/assets/ui/ # Clear permissions (basically for libSDL2) chmod -R u+rwX,go+rX,go-w ecode.app diff --git a/src/tools/ecode/ecode.cpp b/src/tools/ecode/ecode.cpp index 1e77598ed..bd5ccdc25 100644 --- a/src/tools/ecode/ecode.cpp +++ b/src/tools/ecode/ecode.cpp @@ -3760,6 +3760,12 @@ void App::init( InitParameters& params ) { mResPath += "assets"; FileSystem::dirAddSlashAtEnd( mResPath ); +#if EE_PLATFORM == EE_PLATFORM_MACOS + if ( !FileSystem::fileExists( mResPath ) ) { + mResPath = Sys::getProcessPath() + "/../Resources/assets/"; + } +#endif + bool firstRun = loadConfig( params.logLevel, currentDisplay->getSize(), params.prematureExit, params.stdOutLogs, params.disableFileLogs );