Commit 28ad017f authored by nanahira's avatar nanahira

use pure m1 for build

parent 2b060d5b
...@@ -2,19 +2,16 @@ ...@@ -2,19 +2,16 @@
set -x set -x
set -o errexit set -o errexit
TARGET_PLATFORM=$(arch)
TARGET_YGOPRO_BINARY_PATH=./ygopro-platforms/ygopro-platform-$TARGET_PLATFORM TARGET_YGOPRO_BINARY_PATH=./ygopro-platforms/ygopro-platform-$TARGET_PLATFORM
export EVENT_INCLUDE_DIR=$PWD/libevent-stable/include export EVENT_INCLUDE_DIR=$PWD/libevent-stable/include
export EVENT_LIB_DIR=$PWD/libevent-stable/lib export EVENT_LIB_DIR=$PWD/libevent-stable/lib
export IRRLICHT_INCLUDE_DIR=$PWD/irrlicht/include export IRRLICHT_INCLUDE_DIR=$PWD/irrlicht/include
export IRRLICHT_LIB_DIR=$PWD/irrlicht export IRRLICHT_LIB_DIR=$PWD/irrlicht
git submodule update --init ./.ci/libevent-prebuild.sh
if [[ $TARGET_PLATFORM == "x86" ]]; then ./premake5 gmake --cc=clang --build-freetype --build-sqlite --no-use-irrklang
./premake5 gmake --cc=clang --build-freetype --build-sqlite --build-ikpmp3
else
./premake5 gmake --cc=clang --build-freetype --build-sqlite --no-use-irrklang
fi
cd build cd build
make config=release -j4 make config=release -j4
...@@ -23,8 +20,8 @@ cd .. ...@@ -23,8 +20,8 @@ cd ..
mkdir ygopro-platforms mkdir ygopro-platforms
mv bin/release/YGOPro.app $TARGET_YGOPRO_BINARY_PATH mv bin/release/YGOPro.app $TARGET_YGOPRO_BINARY_PATH
if [[ $TARGET_PLATFORM == "x86" ]]; then #if [[ $TARGET_PLATFORM == "x86" ]]; then
install_name_tool -change /usr/local/lib/libirrklang.dylib @executable_path/../Frameworks/libirrklang.dylib $TARGET_YGOPRO_BINARY_PATH # install_name_tool -change /usr/local/lib/libirrklang.dylib @executable_path/../Frameworks/libirrklang.dylib $TARGET_YGOPRO_BINARY_PATH
fi #fi
strip $TARGET_YGOPRO_BINARY_PATH strip $TARGET_YGOPRO_BINARY_PATH
...@@ -4,6 +4,5 @@ set -o errexit ...@@ -4,6 +4,5 @@ set -o errexit
# TARGET_LOCALE # TARGET_LOCALE
apt update && apt -y install tar git zstd apt update && apt -y install tar git zstd
git submodule update --init
mkdir dist replay mkdir dist replay
tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-linux-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro LICENSE README.md lib lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay sound windbot bot bot.conf tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-linux-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro LICENSE README.md lib lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay sound windbot bot bot.conf
...@@ -4,6 +4,5 @@ set -o errexit ...@@ -4,6 +4,5 @@ set -o errexit
# TARGET_LOCALE # TARGET_LOCALE
apt update && apt -y install tar git zstd apt update && apt -y install tar git zstd
git submodule update --init
mkdir dist replay mkdir dist replay
tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-darwin-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro.app LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay windbot bot bot.conf tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-darwin-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro.app LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay windbot bot bot.conf
...@@ -4,6 +4,5 @@ set -o errexit ...@@ -4,6 +4,5 @@ set -o errexit
# TARGET_LOCALE # TARGET_LOCALE
apt update && apt -y install tar git zstd apt update && apt -y install tar git zstd
git submodule update --init
mkdir dist replay mkdir dist replay
tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-win32-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro.exe LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay sound bot.conf Bot.exe WindBot tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-win32-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro.exe LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay sound bot.conf Bot.exe WindBot
...@@ -31,6 +31,19 @@ mat_common: ...@@ -31,6 +31,19 @@ mat_common:
- freetype - freetype
- sqlite3 - sqlite3
mat_submodules:
stage: prepare
tags:
- linux
script:
- rm -rf ocgcore script
- mkdir ocgcore script
- git submodule update --init
artifacts:
paths:
- ocgcore
- script
mat_irrklang: mat_irrklang:
stage: prepare stage: prepare
tags: tags:
...@@ -61,28 +74,6 @@ mat_linux: ...@@ -61,28 +74,6 @@ mat_linux:
- irrlicht - irrlicht
- libevent-stable - libevent-stable
mat_macos_platform_x86:
stage: prepare
tags:
- macos
variables:
PROCESSOR_COUNT: '4'
script: ./.ci/libevent-prebuild.sh
artifacts:
paths:
- libevent-stable
mat_macos_platform_m1:
stage: prepare
tags:
- linux
script:
- wget -O - https://cdn01.moecube.com/ygopro-build-materials/libevent-m1mac.tar.gz | tar zfx -
artifacts:
paths:
- libevent-stable
#mat_macos_irrklang_patched: #mat_macos_irrklang_patched:
# stage: build # stage: build
# tags: # tags:
...@@ -101,7 +92,7 @@ mat_macos: ...@@ -101,7 +92,7 @@ mat_macos:
script: script:
- apt update; apt -y install wget tar - apt update; apt -y install wget tar
- wget -O - https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta1-macosx.tar.gz | tar zfx - - wget -O - https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta1-macosx.tar.gz | tar zfx -
- wget -O - https://cdn01.moecube.com/ygopro-build-materials/libirrklang-patched-dylib.tar.gz | tar zfx - # - wget -O - https://cdn01.moecube.com/ygopro-build-materials/libirrklang-patched-dylib.tar.gz | tar zfx -
- mkdir irrlicht - mkdir irrlicht
- cd irrlicht - cd irrlicht
- wget -O - https://cdn01.moecube.com/ygopro-build-materials/irrlicht-mycard-mac.tar.gz | tar zfx - - wget -O - https://cdn01.moecube.com/ygopro-build-materials/irrlicht-mycard-mac.tar.gz | tar zfx -
...@@ -140,13 +131,13 @@ exec_windows: ...@@ -140,13 +131,13 @@ exec_windows:
- mat_common - mat_common
- mat_irrklang - mat_irrklang
- mat_windows - mat_windows
- mat_submodules
cache: cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths: paths:
- bin/ - bin/
- obj/ - obj/
script: script:
- git submodule update --init
- bash -c 'cp -rf premake/* .' - bash -c 'cp -rf premake/* .'
- '.\premake5.exe vs2019 --irrklang-pro' - '.\premake5.exe vs2019 --irrklang-pro'
- cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe" build\YGOPro.sln /m /p:Configuration=Release' - cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe" build\YGOPro.sln /m /p:Configuration=Release'
...@@ -163,6 +154,7 @@ exec_linux: ...@@ -163,6 +154,7 @@ exec_linux:
- mat_common - mat_common
- mat_irrklang - mat_irrklang
- mat_linux - mat_linux
- mat_submodules
cache: cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths: paths:
...@@ -170,7 +162,6 @@ exec_linux: ...@@ -170,7 +162,6 @@ exec_linux:
- obj/ - obj/
script: script:
- apt update; apt -y install git build-essential libgl1-mesa-dev libglu-dev libxxf86vm-dev - apt update; apt -y install git build-essential libgl1-mesa-dev libglu-dev libxxf86vm-dev
- git submodule update --init
- mkdir lib - mkdir lib
- cp -rf irrklang/bin/linux-gcc-64/libIrrKlang.so ./lib/ - cp -rf irrklang/bin/linux-gcc-64/libIrrKlang.so ./lib/
# - cp -rf irrklang/bin/linux-gcc-64/ikpMP3.so ./lib/ # - cp -rf irrklang/bin/linux-gcc-64/ikpMP3.so ./lib/
...@@ -187,18 +178,12 @@ exec_linux: ...@@ -187,18 +178,12 @@ exec_linux:
- ygopro - ygopro
- lib - lib
exec_macos_platform_x86: .exec_macos_platform:
stage: build stage: build
tags:
- macos
dependencies: dependencies:
#- mat_irrklang
- mat_macos - mat_macos
- mat_common - mat_common
- mat_macos_platform_x86 - mat_submodules
variables:
TARGET_PLATFORM: x86
NO_USE_IRRKLANG: '1'
cache: cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths: paths:
...@@ -208,28 +193,16 @@ exec_macos_platform_x86: ...@@ -208,28 +193,16 @@ exec_macos_platform_x86:
artifacts: artifacts:
paths: paths:
- ygopro-platforms - ygopro-platforms
exec_macos_platform_x86:
extends: .exec_macos_platform
tags:
- macos
exec_macos_platform_m1: exec_macos_platform_m1:
stage: build extends: .exec_macos_platform
tags: tags:
- macos - macos
dependencies:
- mat_macos
- mat_common
- mat_macos_platform_m1
variables:
TARGET_PLATFORM: m1
MAC_ARM: '1'
NO_USE_IRRKLANG: '1'
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- bin/
- obj/
script: ./.ci/exec-macos-platform.sh
artifacts:
paths:
- ygopro-platforms
exec_macos: exec_macos:
stage: combine stage: combine
...@@ -241,7 +214,7 @@ exec_macos: ...@@ -241,7 +214,7 @@ exec_macos:
#- mat_macos_irrklang_patched #- mat_macos_irrklang_patched
script: script:
- mkdir -p ygopro.app/Contents/MacOS ygopro.app/Contents/Frameworks; - mkdir -p ygopro.app/Contents/MacOS ygopro.app/Contents/Frameworks;
- lipo -create -output ygopro.app/Contents/MacOS/ygopro ygopro-platforms/ygopro-platform-x86 ygopro-platforms/ygopro-platform-m1; - lipo -create -output ygopro.app/Contents/MacOS/ygopro $(ls -1 ygopro-platforms/ygopro-platform-*);
# do some special things for irrklang # do some special things for irrklang
# - mv ./libirrklang-patched.dylib ygopro.app/Contents/Frameworks/libirrklang.dylib # - mv ./libirrklang-patched.dylib ygopro.app/Contents/Frameworks/libirrklang.dylib
#- install_name_tool -change /usr/local/lib/libirrklang.dylib @executable_path/../Frameworks/libirrklang.dylib ygopro.app/Contents/MacOS/ygopro #- install_name_tool -change /usr/local/lib/libirrklang.dylib @executable_path/../Frameworks/libirrklang.dylib ygopro.app/Contents/MacOS/ygopro
...@@ -358,6 +331,7 @@ assets_en-US: ...@@ -358,6 +331,7 @@ assets_en-US:
- pics - pics
- cards.cdb - cards.cdb
- strings.conf - strings.conf
- mat_submodules
only: only:
- tags - tags
- gitlabci - gitlabci
...@@ -371,6 +345,7 @@ pack_windows_zh-CN: ...@@ -371,6 +345,7 @@ pack_windows_zh-CN:
- assets_windows - assets_windows
- exec_windows - exec_windows
- assets_zh-CN - assets_zh-CN
- mat_submodules
script: ./.ci/pack-windows.sh script: ./.ci/pack-windows.sh
variables: variables:
TARGET_LOCALE: zh-CN TARGET_LOCALE: zh-CN
...@@ -390,6 +365,7 @@ pack_windows_zh-CN: ...@@ -390,6 +365,7 @@ pack_windows_zh-CN:
- assets_windows - assets_windows
- exec_windows - exec_windows
- assets_zh-CN - assets_zh-CN
- mat_submodules
script: ./.ci/pack-windows.sh script: ./.ci/pack-windows.sh
variables: variables:
TARGET_LOCALE: zh-CN TARGET_LOCALE: zh-CN
...@@ -409,6 +385,7 @@ pack_windows_en-US: ...@@ -409,6 +385,7 @@ pack_windows_en-US:
- assets_windows - assets_windows
- exec_windows - exec_windows
- assets_en-US - assets_en-US
- mat_submodules
script: ./.ci/pack-windows.sh script: ./.ci/pack-windows.sh
variables: variables:
TARGET_LOCALE: en-US TARGET_LOCALE: en-US
...@@ -428,6 +405,7 @@ pack_linux_zh-CN: ...@@ -428,6 +405,7 @@ pack_linux_zh-CN:
- assets_nonwindows - assets_nonwindows
- exec_linux - exec_linux
- assets_zh-CN - assets_zh-CN
- mat_submodules
script: ./.ci/pack-linux.sh script: ./.ci/pack-linux.sh
variables: variables:
TARGET_LOCALE: zh-CN TARGET_LOCALE: zh-CN
...@@ -447,6 +425,7 @@ pack_linux_en-US: ...@@ -447,6 +425,7 @@ pack_linux_en-US:
- assets_nonwindows - assets_nonwindows
- exec_linux - exec_linux
- assets_en-US - assets_en-US
- mat_submodules
script: ./.ci/pack-linux.sh script: ./.ci/pack-linux.sh
variables: variables:
TARGET_LOCALE: en-US TARGET_LOCALE: en-US
...@@ -466,6 +445,7 @@ pack_macos_zh-CN: ...@@ -466,6 +445,7 @@ pack_macos_zh-CN:
- assets_nonwindows - assets_nonwindows
- exec_macos - exec_macos
- assets_zh-CN - assets_zh-CN
- mat_submodules
script: ./.ci/pack-macos.sh script: ./.ci/pack-macos.sh
variables: variables:
TARGET_LOCALE: zh-CN TARGET_LOCALE: zh-CN
...@@ -485,6 +465,7 @@ pack_macos_en-US: ...@@ -485,6 +465,7 @@ pack_macos_en-US:
- assets_nonwindows - assets_nonwindows
- exec_macos - exec_macos
- assets_en-US - assets_en-US
- mat_submodules
script: ./.ci/pack-macos.sh script: ./.ci/pack-macos.sh
variables: variables:
TARGET_LOCALE: en-US TARGET_LOCALE: en-US
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment