Create macOS bundle for simplified installation #58

This commit is contained in:
2025-08-07 21:16:54 -05:00
parent 666b3f2dc5
commit 28800625e4
6 changed files with 97 additions and 44 deletions

View File

@@ -61,7 +61,9 @@ fi
for APP in ${PROJECT_APP_LIST[@]}; do
if [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ]; then
if [ "${PROJECT_IS_MINGW}" != "1" ]; then
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
else
rm "${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
if [ "${PROJECT_ENABLE_CURL}" == "ON" ]; then
mv "${PROJECT_DIST_DIR}/cacert.pem" "${PROJECT_DIST_DIR}/bin/cacert.pem"
@@ -77,17 +79,26 @@ export LD_LIBRARY_PATH="\${PROJECT_SCRIPTS_DIR}/lib:\${PROJECT_SCRIPTS_DIR}/lib6
\${PROJECT_SCRIPTS_DIR}/bin/${APP}${PROJECT_APP_BINARY_EXT} \$*
EOF
chmod +x "${PROJECT_DIST_DIR}/${APP}${PROJECT_APP_BINARY_EXT}"
else
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
fi
else
elif [ ! -d "${PROJECT_BUILD_DIR}/build/${APP}.app" ]; then
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${PROJECT_APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
fi
done
if [ -d "${PROJECT_BUILD_DIR}/build/${PROJECT_NAME}.app" ]; then
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${PROJECT_NAME}.app/" \
"${PROJECT_DIST_DIR}/${PROJECT_NAME}.app/"
fi
if [ -f "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/pubspec.yaml" ]; then
rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \
"${PROJECT_DIST_DIR}/web/"
if [ -d "${PROJECT_DIST_DIR}/${PROJECT_NAME}.app" ]; then
rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \
"${PROJECT_DIST_DIR}/${PROJECT_NAME}.app/Contents/Resources/web/"
cp "${PROJECT_DIST_DIR}/cacert.pem" "${PROJECT_DIST_DIR}/${PROJECT_NAME}.app/Contents/MacOS/cacert.pem"
else
rsync -av --progress "${PROJECT_SOURCE_DIR}/web/${PROJECT_NAME}/build/web/" \
"${PROJECT_DIST_DIR}/web/"
fi
fi
if [ "${PROJECT_IS_MINGW}" == "1" ]; then

View File

@@ -50,10 +50,12 @@ popd
rsync -av --progress ${PROJECT_DIST_DIR}/ ${TEMP_DIR}/${PROJECT_NAME}/ || error_exit "failed to rsync" 1
for APP in ${PROJECT_APP_LIST[@]}; do
if [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ] && [ "${PROJECT_IS_MINGW}" != "1" ]; then
strip ${TEMP_DIR}/${PROJECT_NAME}/bin/${APP}${PROJECT_APP_BINARY_EXT}
if [ -d "${TEMP_DIR}/${PROJECT_NAME}/${APP}.app" ]; then
strip "${TEMP_DIR}/${PROJECT_NAME}/${APP}.app/Contents/MacOS/${APP}${PROJECT_APP_BINARY_EXT}"
elif [ "${PROJECT_BUILD_SHARED_LIBS}" == "ON" ] && [ "${PROJECT_IS_MINGW}" != "1" ]; then
strip "${TEMP_DIR}/${PROJECT_NAME}/bin/${APP}${PROJECT_APP_BINARY_EXT}"
else
strip ${TEMP_DIR}/${PROJECT_NAME}/${APP}${PROJECT_APP_BINARY_EXT}
strip "${TEMP_DIR}/${PROJECT_NAME}/${APP}${PROJECT_APP_BINARY_EXT}"
fi
done