Commit 24d00885 authored by wind2009's avatar wind2009

checkout

git checkout develop .ci .gitlab-ci.yml
parent 71475aee
Pipeline #38310 passed with stages
in 146 minutes and 17 seconds
#!/bin/bash
libs_to_configure=(
"ogg"
# "opus"
)
cd miniaudio/external
for lib in "${libs_to_configure[@]}"; do
cd $lib
./configure
cd ..
done
#!/bin/sh
set -x
set -o errexit
cd event
./configure --disable-openssl --enable-static=yes --enable-shared=no
sed -f make-event-config.sed < config.h > ./include/event2/event-config.h
cd ..
...@@ -4,30 +4,19 @@ set -o errexit ...@@ -4,30 +4,19 @@ set -o errexit
TARGET_PLATFORM=$(arch) 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_LIB_DIR=$PWD/libevent-stable/lib ./.ci/configure-audio.sh
export OPUS_INCLUDE_DIR=$PWD/miniaudio/external-built/include/opus
export OPUS_LIB_DIR=$PWD/miniaudio/external-built/lib rm -rf sqlite3/VERSION sqlite3/version
export OPUSFILE_INCLUDE_DIR=$PWD/miniaudio/external-built/include/opus
export OPUSFILE_LIB_DIR=$PWD/miniaudio/external-built/lib ./premake5 gmake --cc=clang
export VORBIS_INCLUDE_DIR=$PWD/miniaudio/external-built/include
export VORBIS_LIB_DIR=$PWD/miniaudio/external-built/lib
export OGG_INCLUDE_DIR=$PWD/miniaudio/external-built/include
export OGG_LIB_DIR=$PWD/miniaudio/external-built/lib
export ACLOCAL=aclocal
export AUTOMAKE=automake
./.ci/libevent-prebuild.sh
./.ci/build-opus.sh
./premake5 gmake --cc=clang --build-freetype --build-sqlite
cd build cd build
make config=release -j$(sysctl -n hw.ncpu) make config=release -j$(sysctl -n hw.ncpu)
cd .. cd ..
mkdir ygopro-platforms mkdir ygopro-platforms
mv bin/release/YGOPro.app $TARGET_YGOPRO_BINARY_PATH mv bin/release/YGOPro $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
......
...@@ -5,4 +5,4 @@ set -o errexit ...@@ -5,4 +5,4 @@ set -o errexit
apt update && apt -y install tar git zstd apt update && apt -y install tar git zstd
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 pack fonts tar --zstd -cf dist/ygopro-$CI_COMMIT_REF_NAME-win32-$TARGET_LOCALE.tar.zst --exclude='.git*' ygopro.exe vcomp140.dll LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay sound bot.conf Bot.exe WindBot pack fonts
#!/bin/bash #!/bin/bash
set -x set -x
set -o errexit set -o errexit
source .ci/asset-branch
IRRLICHT_REPO_URL="https://code.moenext.com/mycard/irrlicht-new.git" source .ci/prepare-repo
IRRLICHT_BRANCH_NAME="$ASSET_BRANCH_NAME" prepare_repo "https://code.moenext.com/mycard/irrlicht-new.git" "irrlicht"
if [ ! -d "irrlicht" ]; then
git clone --depth=1 --branch "$IRRLICHT_BRANCH_NAME" "$IRRLICHT_REPO_URL" irrlicht
else
cd irrlicht
git fetch origin "$IRRLICHT_BRANCH_NAME"
git checkout "$IRRLICHT_BRANCH_NAME"
git reset --hard origin/"$IRRLICHT_BRANCH_NAME"
cd ..
fi
#!/bin/sh #!/bin/bash
set -x set -x
set -o errexit set -o errexit
if [ ! -d "miniaudio" ]; then source .ci/prepare-repo
git clone --depth=1 --branch 0.11.22 https://github.com/mackron/miniaudio prepare_repo "https://code.moenext.com/mycard/miniaudio.git" "miniaudio"
fi
cp -rf miniaudio/extras/miniaudio_split/miniaudio.* miniaudio/ cp -rf miniaudio/extras/miniaudio_split/miniaudio.* miniaudio/
...@@ -20,7 +19,7 @@ install_external() { ...@@ -20,7 +19,7 @@ install_external() {
fi fi
} }
install_external "ogg" "https://github.com/xiph/ogg/releases/download/v1.3.5/libogg-1.3.5.tar.gz" install_external "ogg" "https://mat-cacher.moenext.com/https://github.com/xiph/ogg/releases/download/v1.3.5/libogg-1.3.5.tar.gz"
install_external "opus" "https://github.com/xiph/opus/releases/download/v1.5.2/opus-1.5.2.tar.gz" install_external "opus" "https://mat-cacher.moenext.com/https://github.com/xiph/opus/releases/download/v1.5.2/opus-1.5.2.tar.gz"
install_external "opusfile" "https://github.com/xiph/opusfile/releases/download/v0.12/opusfile-0.12.tar.gz" install_external "opusfile" "https://mat-cacher.moenext.com/https://github.com/xiph/opusfile/releases/download/v0.12/opusfile-0.12.tar.gz"
install_external "vorbis" "https://github.com/xiph/vorbis/releases/download/v1.3.7/libvorbis-1.3.7.tar.gz" install_external "vorbis" "https://mat-cacher.moenext.com/https://github.com/xiph/vorbis/releases/download/v1.3.7/libvorbis-1.3.7.tar.gz"
source .ci/asset-branch
BRANCH_NAME="$ASSET_BRANCH_NAME"
prepare_repo() {
REPO_URL="$1"
TARGET_DIR_NAME="$2"
if [ ! -d "$TARGET_DIR_NAME" ]; then
echo "Cloning repository $REPO_URL branch $BRANCH_NAME into $TARGET_DIR_NAME"
git clone --depth=1 --branch "$BRANCH_NAME" "$REPO_URL" "$TARGET_DIR_NAME"
else
echo "Repository $REPO_URL already exists in $TARGET_DIR_NAME, updating to $BRANCH_NAME..."
cd "$TARGET_DIR_NAME"
git remote set-url origin "$REPO_URL"
git fetch origin "$BRANCH_NAME"
git checkout "$BRANCH_NAME"
git reset --hard origin/"$BRANCH_NAME"
cd ..
fi
}
...@@ -15,14 +15,17 @@ mat_common: ...@@ -15,14 +15,17 @@ mat_common:
- linux - linux
script: script:
# lua # lua
- wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/lua-5.4.4.tar.gz | tar zfx - - wget -O - https://mat-cacher.moenext.com/https://www.lua.org/ftp/lua-5.4.8.tar.gz | tar zfx -
- mv lua-5.4.4 lua - mv lua-5.4.8 lua
# sqlite3 # sqlite3
- wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/sqlite-autoconf-3390300.tar.gz | tar zfx - - wget -O - https://mat-cacher.moenext.com/https://www.sqlite.org/2025/sqlite-autoconf-3500100.tar.gz | tar zfx -
- mv sqlite-autoconf-3390300 sqlite3 - mv sqlite-autoconf-3500100 sqlite3
# freetype # freetype
- wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/freetype-2.11.1.tar.gz | tar zfx - - wget -O - https://mat-cacher.moenext.com/https://downloads.sourceforge.net/freetype/freetype-2.13.3.tar.gz | tar zfx -
- mv freetype-2.11.1 freetype - mv freetype-2.13.3 freetype
# event
- wget -O - https://mat-cacher.moenext.com/https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz | tar zfx -
- mv libevent-2.1.12-stable event
# irrlicht # irrlicht
- ./.ci/prepare-irrlicht.sh - ./.ci/prepare-irrlicht.sh
# miniaudio # miniaudio
...@@ -34,6 +37,7 @@ mat_common: ...@@ -34,6 +37,7 @@ mat_common:
- lua - lua
- freetype - freetype
- sqlite3 - sqlite3
- event
- irrlicht - irrlicht
- miniaudio - miniaudio
...@@ -58,7 +62,7 @@ mat_submodules: ...@@ -58,7 +62,7 @@ mat_submodules:
# script: # script:
# - apt update; apt -y install git wget tar # - apt update; apt -y install git wget tar
# - ./.ci/prepare-irrlicht.sh # - ./.ci/prepare-irrlicht.sh
# # - wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/premake-5.0.0-beta5-linux.tar.gz | tar zfx - # # - wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/premake-5.0.0-beta6-linux.tar.gz | tar zfx -
# # - env PROCESSOR_COUNT=$(nproc) ./.ci/libevent-prebuild.sh # # - env PROCESSOR_COUNT=$(nproc) ./.ci/libevent-prebuild.sh
# artifacts: # artifacts:
# paths: # paths:
...@@ -72,8 +76,7 @@ mat_macos: ...@@ -72,8 +76,7 @@ mat_macos:
tags: tags:
- linux - linux
script: script:
- apt update; apt -y install wget tar - wget -O - https://cdn02.moecube.com:444/premake5-built/premake-5.0.0-beta7-macosx.tar.gz | tar zfx -
- wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/premake-5.0.0-beta5-macosx.tar.gz | tar zfx -
- chmod +x premake5 - chmod +x premake5
artifacts: artifacts:
paths: paths:
...@@ -84,67 +87,60 @@ mat_windows: ...@@ -84,67 +87,60 @@ mat_windows:
tags: tags:
- linux - linux
script: script:
- apt update; apt -y install wget tar patch p7zip-full
# premake5.exe # premake5.exe
- wget https://cdn02.moecube.com:444/ygopro-build-materials/premake-5.0.0-beta5-windows.zip - wget https://cdn02.moecube.com:444/premake5-built/premake-5.0.0-beta7-windows.zip
- 7z x -y premake-5.0.0-beta5-windows.zip - 7z x -y premake-5.0.0-beta7-windows.zip
# event
- wget -O - https://cdn02.moecube.com:444/ygopro-build-materials/libevent-2.0.22-stable.tar.gz | tar zfx -
- mv libevent-2.0.22-stable event
artifacts: artifacts:
paths: paths:
- premake5.exe - premake5.exe
- event
exec_windows: ._exec_build:
stage: build stage: build
exec_windows:
extends: ._exec_build
tags: tags:
- vs - vs
dependencies: dependencies:
- mat_common - mat_common
- mat_windows - mat_windows
- mat_submodules - mat_submodules
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- bin/
- obj/
script: script:
- bash -c 'cp -rf premake/* . ; cp -rf resource/* .' - bash -c 'cp -rf premake/* . ; cp -rf resource/* .'
- '.\premake5.exe vs2019' - '.\premake5.exe vs2019'
- 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 /p:Platform=x64'
- copy bin\release\ygopro.exe . - copy bin\release\x64\ygopro.exe .
- copy C:\Windows\System32\vcomp140.dll .
artifacts: artifacts:
paths: paths:
- ygopro.exe - ygopro.exe
- vcomp140.dll
.exec_unix:
extends: ._exec_build
variables:
BUILD_FREETYPE: '1'
BUILD_SQLITE: '1'
BUILD_IRRLICHT: '1'
BUILD_EVENT: '1'
BUILD_OPUS_VORBIS: '1'
AUDIO_LIB: 'miniaudio'
MINIAUDIO_SUPPORT_OPUS_VORBIS: '1'
BUILD_OPUS_VORBIS: '1'
before_script:
- ./.ci/configure-libevent.sh
exec_linux: exec_linux:
stage: build extends: .exec_unix
tags: tags:
- linux - avx2
image: git-registry.moenext.com/mycard/docker-ygopro-builder:latest image: git-registry.moenext.com/mycard/docker-ygopro-builder:latest
dependencies: dependencies:
- mat_common - mat_common
#- mat_linux #- mat_linux
- mat_submodules - mat_submodules
variables:
EVENT_INCLUDE_DIR: /usr/share/libevent-stable/include
EVENT_LIB_DIR: /usr/share/libevent-stable/lib
OPUS_INCLUDE_DIR: $CI_PROJECT_DIR/miniaudio/external-built/include/opus
OPUS_LIB_DIR: $CI_PROJECT_DIR/miniaudio/external-built/lib
OPUSFILE_INCLUDE_DIR: $CI_PROJECT_DIR/miniaudio/external-built/include/opus
OPUSFILE_LIB_DIR: $CI_PROJECT_DIR/miniaudio/external-built/lib
VORBIS_INCLUDE_DIR: $CI_PROJECT_DIR/miniaudio/external-built/include
VORBIS_LIB_DIR: $CI_PROJECT_DIR/miniaudio/external-built/lib
OGG_INCLUDE_DIR: $CI_PROJECT_DIR/miniaudio/external-built/include
OGG_LIB_DIR: $CI_PROJECT_DIR/miniaudio/external-built/lib
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- bin/
- obj/
script: script:
- ./.ci/build-opus.sh - ./.ci/configure-audio.sh
- premake5 gmake --build-freetype --build-sqlite - premake5 gmake --build-freetype --build-sqlite
- cd build - cd build
- make config=release -j$(nproc) - make config=release -j$(nproc)
...@@ -156,16 +152,11 @@ exec_linux: ...@@ -156,16 +152,11 @@ exec_linux:
- ygopro - ygopro
.exec_macos_platform: .exec_macos_platform:
stage: build extends: .exec_unix
dependencies: dependencies:
- mat_macos - mat_macos
- mat_common - mat_common
- mat_submodules - mat_submodules
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- bin/
- obj/
script: ./.ci/exec-macos-platform.sh script: ./.ci/exec-macos-platform.sh
artifacts: artifacts:
paths: paths:
...@@ -180,8 +171,6 @@ exec_macos_platform_m1: ...@@ -180,8 +171,6 @@ exec_macos_platform_m1:
extends: .exec_macos_platform extends: .exec_macos_platform
tags: tags:
- macos-m1 - macos-m1
variables:
MAC_ARM: 1
exec_macos: exec_macos:
stage: combine stage: combine
......
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