Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro
Commits
daf3becf
Commit
daf3becf
authored
May 09, 2025
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update windows build matrix
add x64, support no dxsdk
parent
bfcb4afc
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
82 additions
and
27 deletions
+82
-27
.github/workflows/build.yml
.github/workflows/build.yml
+46
-26
premake/irrlicht/premake5.lua
premake/irrlicht/premake5.lua
+5
-1
premake5.lua
premake5.lua
+31
-0
No files found.
.github/workflows/build.yml
View file @
daf3becf
...
@@ -11,8 +11,41 @@ jobs:
...
@@ -11,8 +11,41 @@ jobs:
strategy
:
strategy
:
fail-fast
:
false
fail-fast
:
false
matrix
:
matrix
:
os
:
[
windows-2019
,
windows-2022
]
name
:
audiolib
:
[
miniaudio
,
irrklang
]
-
windows
-
windows-xp
-
windows-irrklang
-
windows-no-dxsdk
-
windows-x64
# - windows-2025
include
:
-
name
:
windows
os
:
windows-2022
vs
:
vs2022
audiolib
:
miniaudio
-
name
:
windows-xp
os
:
windows-2019
vs
:
vs2019
audiolib
:
miniaudio
xp
:
true
-
name
:
windows-irrklang
os
:
windows-2022
vs
:
vs2022
audiolib
:
irrklang
-
name
:
windows-no-dxsdk
os
:
windows-2022
vs
:
vs2022
audiolib
:
miniaudio
nodxsdk
:
true
-
name
:
windows-x64
os
:
windows-2022
vs
:
vs2022
audiolib
:
miniaudio
x64
:
true
# - name: windows-2025
# os: windows-2025
# vs: vs2022
# audiolib: miniaudio
runs-on
:
${{ matrix.os }}
runs-on
:
${{ matrix.os }}
...
@@ -38,7 +71,7 @@ jobs:
...
@@ -38,7 +71,7 @@ jobs:
id
:
premake
id
:
premake
uses
:
mercury233/action-cache-download-file@v1.0.0
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
with
:
url
:
https://github.com/premake/premake-core/releases/download/v5.0.0-beta
5/premake-5.0.0-beta5
-windows.zip
url
:
https://github.com/premake/premake-core/releases/download/v5.0.0-beta
6/premake-5.0.0-beta6
-windows.zip
filename
:
premake5.zip
filename
:
premake5.zip
-
name
:
Extract premake
-
name
:
Extract premake
...
@@ -169,6 +202,7 @@ jobs:
...
@@ -169,6 +202,7 @@ jobs:
git clone --depth=1 https://github.com/mercury233/irrlicht
git clone --depth=1 https://github.com/mercury233/irrlicht
-
name
:
Check DirectX SDK
-
name
:
Check DirectX SDK
if
:
matrix.nodxsdk !=
true
id
:
dxsdk
id
:
dxsdk
uses
:
actions/cache@v4
uses
:
actions/cache@v4
with
:
with
:
...
@@ -176,18 +210,19 @@ jobs:
...
@@ -176,18 +210,19 @@ jobs:
path
:
DXSDK
path
:
DXSDK
-
name
:
Download DirectX SDK
-
name
:
Download DirectX SDK
if
:
steps.dxsdk.outputs.cache-hit != 'true'
if
:
matrix.nodxsdk !=
true
&&
steps.dxsdk.outputs.cache-hit != 'true'
id
:
dxsdk-download
id
:
dxsdk-download
uses
:
mercury233/action-cache-download-file@v1.0.0
uses
:
mercury233/action-cache-download-file@v1.0.0
with
:
with
:
url
:
https://download.microsoft.com/download/a/e/7/ae743f1f-632b-4809-87a9-aa1bb3458e31/DXSDK_Jun10.exe
url
:
https://download.microsoft.com/download/a/e/7/ae743f1f-632b-4809-87a9-aa1bb3458e31/DXSDK_Jun10.exe
-
name
:
Install DirectX SDK
-
name
:
Install DirectX SDK
if
:
steps.dxsdk.outputs.cache-hit != 'true'
if
:
matrix.nodxsdk !=
true
&&
steps.dxsdk.outputs.cache-hit != 'true'
run
:
|
run
:
|
7z x ${{ steps.dxsdk-download.outputs.filepath }} -aoa
7z x ${{ steps.dxsdk-download.outputs.filepath }} -aoa
-
name
:
Set DirectX SDK environment variable
-
name
:
Set DirectX SDK environment variable
if
:
matrix.nodxsdk !=
true
run
:
|
run
:
|
$dxsdkPath = Resolve-Path 'DXSDK'
$dxsdkPath = Resolve-Path 'DXSDK'
"DXSDK_DIR=$($dxsdkPath.ProviderPath)\" | Out-File -FilePath $env:GITHUB_ENV -Append
"DXSDK_DIR=$($dxsdkPath.ProviderPath)\" | Out-File -FilePath $env:GITHUB_ENV -Append
...
@@ -197,39 +232,24 @@ jobs:
...
@@ -197,39 +232,24 @@ jobs:
xcopy /E premake\* .
xcopy /E premake\* .
xcopy /E resource\* .
xcopy /E resource\* .
-
name
:
Use premake to generate Visual Studio solution (2019, miniaudio)
-
name
:
Use premake to generate Visual Studio solution
if
:
matrix.os == 'windows-2019' && matrix.audiolib == 'miniaudio'
run
:
|
.\premake5.exe vs2019 --winxp-support
-
name
:
Use premake to generate Visual Studio solution (2022, miniaudio)
if
:
matrix.os == 'windows-2022' && matrix.audiolib == 'miniaudio'
run
:
|
.\premake5.exe vs2022
-
name
:
Use premake to generate Visual Studio solution (2019, irrKlang)
if
:
matrix.os == 'windows-2019' && matrix.audiolib == 'irrklang'
run
:
|
.\premake5.exe vs2019 --winxp-support --audio-lib=irrklang
-
name
:
Use premake to generate Visual Studio solution (2022, irrKlang)
if
:
matrix.os == 'windows-2022' && matrix.audiolib == 'irrklang'
run
:
|
run
:
|
.\premake5.exe
vs2022 --audio-lib=irrklang
.\premake5.exe
${{ matrix.vs }} --audio-lib=${{ matrix.audiolib }} ${{ matrix.xp && '--winxp-support' || '' }}
-
name
:
Add msbuild to PATH
-
name
:
Add msbuild to PATH
uses
:
microsoft/setup-msbuild@v2
uses
:
microsoft/setup-msbuild@v2
-
name
:
Build solution
-
name
:
Build solution
run
:
|
run
:
|
MSBuild.exe build\YGOPro.sln /m /p:Configuration=Release
MSBuild.exe build\YGOPro.sln /m /p:Configuration=Release
/p:Platform=${{ matrix.x64 && 'x64' || 'Win32' }}
-
name
:
Upload build artifacts
-
name
:
Upload build artifacts
uses
:
actions/upload-artifact@v4
uses
:
actions/upload-artifact@v4
with
:
with
:
name
:
YGOPro-${{ matrix.
os }}-${{ matrix.audiolib
}}
name
:
YGOPro-${{ matrix.
name
}}
path
:
|
path
:
|
bin/release/YGOPro.exe
bin/release/x86/YGOPro.exe
bin/release/x64/YGOPro.exe
build-linux
:
build-linux
:
strategy
:
strategy
:
...
...
premake/irrlicht/premake5.lua
View file @
daf3becf
...
@@ -154,7 +154,11 @@ project "irrlicht"
...
@@ -154,7 +154,11 @@ project "irrlicht"
filter
{
"system:windows"
}
filter
{
"system:windows"
}
defines
{
"_IRR_WCHAR_FILESYSTEM"
}
defines
{
"_IRR_WCHAR_FILESYSTEM"
}
includedirs
{
"$(DXSDK_DIR)Include"
}
if
USE_DXSDK
then
includedirs
{
"$(DXSDK_DIR)Include"
}
else
defines
{
"NO_IRR_COMPILE_WITH_DIRECT3D_9_"
}
end
filter
{
"system:linux"
}
filter
{
"system:linux"
}
links
{
"X11"
,
"Xxf86vm"
}
links
{
"X11"
,
"Xxf86vm"
}
...
...
premake5.lua
View file @
daf3becf
...
@@ -7,6 +7,7 @@ BUILD_EVENT = os.istarget("windows")
...
@@ -7,6 +7,7 @@ BUILD_EVENT = os.istarget("windows")
BUILD_FREETYPE
=
os
.
istarget
(
"windows"
)
BUILD_FREETYPE
=
os
.
istarget
(
"windows"
)
BUILD_SQLITE
=
os
.
istarget
(
"windows"
)
BUILD_SQLITE
=
os
.
istarget
(
"windows"
)
BUILD_IRRLICHT
=
true
BUILD_IRRLICHT
=
true
USE_DXSDK
=
true
USE_AUDIO
=
true
USE_AUDIO
=
true
AUDIO_LIB
=
"miniaudio"
AUDIO_LIB
=
"miniaudio"
...
@@ -42,6 +43,7 @@ newoption { trigger = "build-irrlicht", category = "YGOPro - irrlicht", descript
...
@@ -42,6 +43,7 @@ newoption { trigger = "build-irrlicht", category = "YGOPro - irrlicht", descript
newoption
{
trigger
=
"no-build-irrlicht"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
}
newoption
{
trigger
=
"no-build-irrlicht"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
}
newoption
{
trigger
=
"irrlicht-include-dir"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"irrlicht-include-dir"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"irrlicht-lib-dir"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"irrlicht-lib-dir"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"no-dxsdk"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
}
newoption
{
trigger
=
"no-audio"
,
category
=
"YGOPro"
,
description
=
""
}
newoption
{
trigger
=
"no-audio"
,
category
=
"YGOPro"
,
description
=
""
}
newoption
{
trigger
=
"audio-lib"
,
category
=
"YGOPro"
,
description
=
""
,
value
=
"miniaudio, irrklang"
,
default
=
AUDIO_LIB
}
newoption
{
trigger
=
"audio-lib"
,
category
=
"YGOPro"
,
description
=
""
,
value
=
"miniaudio, irrklang"
,
default
=
AUDIO_LIB
}
...
@@ -130,6 +132,16 @@ if not BUILD_IRRLICHT then
...
@@ -130,6 +132,16 @@ if not BUILD_IRRLICHT then
IRRLICHT_LIB_DIR
=
GetParam
(
"irrlicht-lib-dir"
)
or
os
.
findlib
(
"irrlicht"
)
IRRLICHT_LIB_DIR
=
GetParam
(
"irrlicht-lib-dir"
)
or
os
.
findlib
(
"irrlicht"
)
end
end
if
GetParam
(
"no-dxsdk"
)
then
USE_DXSDK
=
false
end
if
USE_DXSDK
and
os
.
istarget
(
"windows"
)
then
if
not
os.getenv
(
"DXSDK_DIR"
)
then
print
(
"DXSDK_DIR environment variable not set, it seems you don't have the DirectX SDK installed. DirectX mode will be disabled."
)
USE_DXSDK
=
false
end
end
if
GetParam
(
"no-audio"
)
then
if
GetParam
(
"no-audio"
)
then
USE_AUDIO
=
false
USE_AUDIO
=
false
elseif
GetParam
(
"no-use-miniaudio"
)
then
elseif
GetParam
(
"no-use-miniaudio"
)
then
...
@@ -223,6 +235,13 @@ workspace "YGOPro"
...
@@ -223,6 +235,13 @@ workspace "YGOPro"
else
else
defines
{
"WINVER=0x0601"
}
-- WIN7
defines
{
"WINVER=0x0601"
}
-- WIN7
end
end
platforms
{
"Win32"
,
"x64"
}
filter
{
"system:windows"
,
"platforms:Win32"
}
architecture
"x86"
filter
{
"system:windows"
,
"platforms:x64"
}
architecture
"x86_64"
filter
"system:macosx"
filter
"system:macosx"
libdirs
{
"/usr/local/lib"
}
libdirs
{
"/usr/local/lib"
}
...
@@ -243,6 +262,18 @@ workspace "YGOPro"
...
@@ -243,6 +262,18 @@ workspace "YGOPro"
defines
"_DEBUG"
defines
"_DEBUG"
targetdir
"bin/debug"
targetdir
"bin/debug"
filter
{
"system:windows"
,
"platforms:Win32"
,
"configurations:Release"
}
targetdir
"bin/release/x86"
filter
{
"system:windows"
,
"platforms:Win32"
,
"configurations:Debug"
}
targetdir
"bin/debug/x86"
filter
{
"system:windows"
,
"platforms:x64"
,
"configurations:Release"
}
targetdir
"bin/release/x64"
filter
{
"system:windows"
,
"platforms:x64"
,
"configurations:Debug"
}
targetdir
"bin/debug/x64"
filter
{
"configurations:Release"
,
"action:vs*"
}
filter
{
"configurations:Release"
,
"action:vs*"
}
if
linktimeoptimization
then
if
linktimeoptimization
then
linktimeoptimization
"On"
linktimeoptimization
"On"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment