mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-02 08:35:08 -04:00
e42b18cf71
* Fixed soh filters * add more makefile changes * almost ready * more updates * update * update * Update Makefiles to handle both platforms * Allow for overriding the CXX and CC executables * Restore original structure while supporting custom CXX flags * Remove some platform specific libs * Dynamic target name * Make X11 paths package-agnostic * Remove changes to `gfx_opengl.cpp` * Use OpenGL2 on MacOS instead of OpenGL3 * make it actually render something * render at least the first texture, still need to figure out the second one * Let’s use OpenGL 3 again * maybe this works to get the right texture? link's eyes still look off a bit * did this work? * set the platform to macos * actual numbers are right, but logic is ugly XXX/TODO, i know * add zlib to ldflags for ZAPDUtils * A bit of cleanup * Revert unneeded changes * Remove GL_CHECK * Fix issues with z64 branch * use an std::map instead of a giant array * three point filter fix (#2) * Fix mac compilation * fix audio for 64 bit * revert audio heap size, keep bigger pools * Add more Apple specific checks to our modifications * Add building instructions for macOS * Remove unecessary step from building instructions * Add missing SDL2 & GLEW to Linux LDLIBS * Update BUILDING.md Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com> * Update soh/.gitignore to include other arch binaries Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com> * Use right platform name for debugging window Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com> * Fix stormlib on macos (arm64) * Simplify some of the ifdef checks * Revert an older no longer necessary fix * Remove remaining unecessary deviations * Update building instructions after StormLib changes * Feature: Use OpenGL 4.1 (#1) * Further tweak the BUILDING * Tidy up * reword -j message * Add Jenkins CI Support (#2) * Fix type issues * add target <appbundle> and <filledappbundle> add makefile targets to create an .app `filledappbundle` creates the target with the .otr included this should perhaps be moved to Application Support though * pull gcc's rpath from otool output * move make target to the end so it's not default * Add Jenkins and make exe in par with other platforms * Actually save build artefacts * Fix artefact path * Remove x11 mentions and linking (not used) * Update building instructions for generating app * use appsupport directory * Add new app icon * Update target to match macOS types * Update more audio types * fix null deref in Audio_PlayFanfare * Remove old import from z64 * address final nit with apple ifdefs Co-authored-by: KiritoDev <36680385+KiritoDv@users.noreply.github.com> Co-authored-by: Jeffrey Crowell <github@crowell.biz> Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
160 lines
6.9 KiB
Groovy
160 lines
6.9 KiB
Groovy
pipeline {
|
|
agent none
|
|
|
|
options {
|
|
timestamps()
|
|
skipDefaultCheckout(true)
|
|
}
|
|
|
|
stages {
|
|
stage('Build SoH') {
|
|
parallel {
|
|
stage ('Build Windows') {
|
|
options {
|
|
timeout(time: 20)
|
|
}
|
|
environment {
|
|
MSBUILD='C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Msbuild\\Current\\Bin\\msbuild.exe'
|
|
CONFIG='Release'
|
|
OTRPLATFORM='x64'
|
|
PLATFORM='x64'
|
|
ZIP='C:\\Program Files\\7-Zip\\7z.exe'
|
|
PYTHON='C:\\Users\\jenkins\\AppData\\Local\\Programs\\Python\\Python310\\python.exe'
|
|
CMAKE='C:\\Program Files\\CMake\\bin\\cmake.exe'
|
|
TOOLSET='v142'
|
|
}
|
|
agent {
|
|
label "SoH-Builders"
|
|
}
|
|
steps {
|
|
checkout([
|
|
$class: 'GitSCM',
|
|
branches: scm.branches,
|
|
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
|
|
extensions: scm.extensions,
|
|
userRemoteConfigs: scm.userRemoteConfigs
|
|
])
|
|
|
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
|
bat """
|
|
|
|
"${env.MSBUILD}" ".\\OTRExporter\\OTRExporter.sln" -t:build -p:Configuration=${env.CONFIG};Platform=${env.OTRPLATFORM};PlatformToolset=${env.TOOLSET};RestorePackagesConfig=true /restore /nodeReuse:false /m
|
|
|
|
xcopy "..\\..\\ZELOOTD.z64" "OTRExporter\\"
|
|
|
|
cd "OTRExporter"
|
|
"${env.PYTHON}" ".\\extract_assets.py"
|
|
cd "..\\"
|
|
|
|
"${env.MSBUILD}" ".\\soh\\soh.sln" -t:build -p:Configuration=${env.CONFIG};Platform=${env.PLATFORM};PlatformToolset=${env.TOOLSET} /nodeReuse:false /m
|
|
|
|
cd OTRGui
|
|
mkdir build
|
|
cd build
|
|
|
|
"${env.CMAKE}" ..
|
|
"${env.CMAKE}" --build . --config Release
|
|
|
|
cd "..\\..\\"
|
|
|
|
move "soh\\x64\\Release\\soh.exe" ".\\"
|
|
move "OTRGui\\build\\assets" ".\\"
|
|
move ".\\OTRExporter\\x64\\Release\\ZAPD.exe" ".\\assets\\extractor\\"
|
|
move ".\\OTRGui\\build\\Release\\OTRGui.exe" ".\\"
|
|
rename README.md readme.txt
|
|
|
|
"${env.ZIP}" a soh.7z soh.exe OTRGui.exe assets readme.txt
|
|
|
|
"""
|
|
archiveArtifacts artifacts: 'soh.7z', followSymlinks: false, onlyIfSuccessful: true
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
step([$class: 'WsCleanup']) // Clean workspace
|
|
}
|
|
}
|
|
}
|
|
stage ('Build Linux') {
|
|
options {
|
|
timeout(time: 20)
|
|
}
|
|
agent {
|
|
label "SoH-Linux-Builders"
|
|
}
|
|
steps {
|
|
checkout([
|
|
$class: 'GitSCM',
|
|
branches: scm.branches,
|
|
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
|
|
extensions: scm.extensions,
|
|
userRemoteConfigs: scm.userRemoteConfigs
|
|
])
|
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
|
sh '''
|
|
|
|
cp ../../ZELOOTD.z64 OTRExporter/baserom_non_mq.z64
|
|
docker build . -t soh
|
|
docker run --name sohcont -dit --rm -v $(pwd):/soh soh /bin/bash
|
|
cp ../../buildsoh.bash soh
|
|
docker exec sohcont soh/buildsoh.bash
|
|
|
|
mkdir build
|
|
mv soh/soh.elf build/
|
|
mv OTRGui/build/OTRGui build/
|
|
mv OTRGui/build/assets build/
|
|
mv ZAPDTR/ZAPD.out build/assets/extractor/
|
|
mv README.md build/readme.txt
|
|
cd build
|
|
7z a soh-linux.7z soh.elf OTRGui assets readme.txt
|
|
mv soh-linux.7z ../
|
|
|
|
'''
|
|
}
|
|
sh 'sudo docker container stop sohcont'
|
|
archiveArtifacts artifacts: 'soh-linux.7z', followSymlinks: false, onlyIfSuccessful: true
|
|
}
|
|
post {
|
|
always {
|
|
step([$class: 'WsCleanup']) // Clean workspace
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage ('Build macOS') {
|
|
agent {
|
|
label "SoH-Mac-Builders"
|
|
}
|
|
steps {
|
|
checkout([
|
|
$class: 'GitSCM',
|
|
branches: scm.branches,
|
|
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
|
|
extensions: scm.extensions,
|
|
userRemoteConfigs: scm.userRemoteConfigs
|
|
])
|
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
|
sh '''
|
|
cp ../../ZELOOTD.z64 OTRExporter/baserom_non_mq.z64
|
|
|
|
cd soh
|
|
make setup -j4 DEBUG=0 CC=gcc-12 CXX=g++-12
|
|
make -j4 DEBUG=0 CC=gcc-12 CXX=g++-12
|
|
|
|
make -j4 appbundle
|
|
|
|
mv ../README.md readme.txt
|
|
7z a soh-mac.7z soh.app readme.txt
|
|
'''
|
|
}
|
|
archiveArtifacts artifacts: 'soh/soh-mac.7z', followSymlinks: false, onlyIfSuccessful: true
|
|
}
|
|
post {
|
|
always {
|
|
step([$class: 'WsCleanup']) // Clean workspace
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |