diff --git a/scripts/ci-build.sh b/scripts/ci-build.sh index 7774b7d833..c112f3c771 100755 --- a/scripts/ci-build.sh +++ b/scripts/ci-build.sh @@ -83,7 +83,100 @@ cd ${HOME}/freeciv/mac-at/bin/ echo "Freeciv server autogame successful!" ;; +"mac-meson-appBundle") + +export CPPFLAGS="-I$(brew --prefix readline)/include" +export LDFLAGS="-L$(brew --prefix icu4c)/lib -L$(brew --prefix readline)/lib" +export PKG_CONFIG_PATH="$(brew --prefix icu4c)/lib/pkgconfig" + +CONTENTSDIR="/Applications/Freeciv.app/Contents/" + +if ! mkdir -p "${CONTENTSDIR}" ; then + echo "Failed to create \"${CONTENTSDIR}" >&2 + exit 1 +fi + +if ! mkdir -p "${CONTENTSDIR}Resources" ; then + echo "Failed to create directory \"${CONTENTSDIR}Resources\"" >&2 + exit 1 +fi + +if ! cp data/freeciv-client.icns "${CONTENTSDIR}Resources" ; then + echo "Failed to copy file \"freeciv-client.icns\"" >&2 + exit 1 +fi + +if ! mkdir -p "${CONTENTSDIR}MacOS" ; then + echo "Failed to create directory \"${CONTENTSDIR}MacOS\"" >&2 + exit 1 +fi + +if ! mkdir -p "${CONTENTSDIR}lib" ; then + echo "Failed to create directory \"${CONTENTSDIR}lib\"" >&2 + exit 1 +fi + +if ! echo " + + + LSEnvironment + + LD_LIBRARY_PATH + /Applications/Freeciv.app/Contents/lib + + CFBundleName + freeciv + CFBundleIdentifier + freeciv + CFBundleVersion + 3.1.0-alpha + CFBundleShortVersionString + 3.1.0-alpha + CFBundleExecutable + ../bin/freeciv-gtk3.22 + CFBundleIconFile + freeciv-client.icns + CFBundleDevelopmentRegion + English + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleInfoDictionaryVersion + 6.0 + +" > "${CONTENTSDIR}Info.plist" ; then + echo "Failed to create file \"${CONTENTSDIR}Info.plist\"" >&2 + exit 1 +fi + +if ! echo -n "APPL????" > "${CONTENTSDIR}PkgInfo" ; then + echo "Failed to create file \"${CONTENTSDIR}PkgInfo\"" >&2 + exit 1 +fi + +mkdir build +cd build +meson setup .. \ + -Dack_experimental=true \ + -Ddebug=true \ + -Druledit=false \ + -Dsyslua=true \ + -Dclients=gtk3.22 \ + -Dfcmp=gtk3 \ + -Dprefix="$CONTENTSDIR" \ + || (let meson_exit_status=$? \ + && echo "meson.log:" \ + && cat meson-logs/meson-log.txt \ + && exit $meson_exit_status) +ninja +ninja install +;; + "mac-meson") +# with no prefix, installs into /usr/local +# with clients that run in /usr/local/bin export CPPFLAGS="-I$(brew --prefix readline)/include" export LDFLAGS="-L$(brew --prefix icu4c)/lib -L$(brew --prefix readline)/lib" @@ -98,7 +191,6 @@ meson .. \ -Dsyslua=true \ -Dclients=gtk3.22,sdl2,gtk4,qt \ -Dfcmp=gtk3,gtk4,qt,cli \ - -Dprefix=${HOME}/freeciv/mac-meson \ || (let meson_exit_status=$? \ && echo "meson.log:" \ && cat meson-logs/meson-log.txt \ @@ -107,7 +199,7 @@ ninja ninja install echo "Running Freeciv server autogame" -cd ${HOME}/freeciv/mac-meson/bin/ +cd /usr/local/bin ./freeciv-server --Announce none -e -F --read ${basedir}/scripts/test-autogame.serv echo "Freeciv server autogame successful!"