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
List
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
MobiusMei
ygopro
Commits
7b2072c9
Commit
7b2072c9
authored
Apr 16, 2022
by
mercury233
Committed by
GitHub
Apr 16, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update premake (#2436)
parent
fa99a076
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
186 additions
and
40 deletions
+186
-40
gframe/premake5.lua
gframe/premake5.lua
+28
-17
premake5.lua
premake5.lua
+158
-23
No files found.
gframe/premake5.lua
View file @
7b2072c9
include
"lzma/."
include
"lzma/."
include
"spmemvfs/."
include
"spmemvfs/."
project
"
ygop
ro"
project
"
YGOP
ro"
kind
"WindowedApp"
kind
"WindowedApp"
files
{
"*.cpp"
,
"*.h"
}
files
{
"*.cpp"
,
"*.h"
}
includedirs
{
"../ocgcore"
}
includedirs
{
"../ocgcore"
}
links
{
"ocgcore"
,
"clzma"
,
"cspmemvfs"
,
"lua"
,
"sqlite3"
,
"irrlicht"
,
"freetype"
,
"event"
}
links
{
"ocgcore"
,
"clzma"
,
"cspmemvfs"
,
LUA_LIB_NAME
,
"sqlite3"
,
"irrlicht"
,
"freetype"
,
"event"
}
if
BUILD_EVENT
then
if
BUILD_EVENT
then
includedirs
{
"../event/include"
}
includedirs
{
"../event/include"
}
else
includedirs
{
EVENT_INCLUDE_DIR
}
libdirs
{
EVENT_LIB_DIR
}
end
end
if
BUILD_IRRLICHT
or
os
.
ishost
(
"macosx"
)
then
if
BUILD_IRRLICHT
then
includedirs
{
"../irrlicht/include"
}
includedirs
{
"../irrlicht/include"
}
else
includedirs
{
IRRLICHT_INCLUDE_DIR
}
libdirs
{
IRRLICHT_LIB_DIR
}
end
end
if
BUILD_FREETYPE
then
if
BUILD_FREETYPE
then
includedirs
{
"../freetype/include"
}
includedirs
{
"../freetype/include"
}
else
includedirs
{
FREETYPE_INCLUDE_DIR
}
libdirs
{
FREETYPE_LIB_DIR
}
end
end
if
BUILD_SQLITE
then
if
BUILD_SQLITE
then
includedirs
{
"../sqlite3"
}
includedirs
{
"../sqlite3"
}
else
includedirs
{
SQLITE_INCLUDE_DIR
}
libdirs
{
SQLITE_LIB_DIR
}
end
end
if
USE_IRRKLANG
then
if
USE_IRRKLANG
then
defines
{
"YGOPRO_USE_IRRKLANG"
}
defines
{
"YGOPRO_USE_IRRKLANG"
}
includedirs
{
"../irrklang/include"
}
includedirs
{
IRRKLANG_INCLUDE_DIR
}
if
not
IRRKLANG_PRO
then
libdirs
{
IRRKLANG_LIB_DIR
}
end
end
end
filter
"system:windows"
filter
"system:windows"
...
@@ -39,34 +54,30 @@ project "ygopro"
...
@@ -39,34 +54,30 @@ project "ygopro"
defines
{
"IRRKLANG_STATIC"
}
defines
{
"IRRKLANG_STATIC"
}
links
{
"ikpmp3"
}
links
{
"ikpmp3"
}
filter
{
"not configurations:Debug"
}
filter
{
"not configurations:Debug"
}
libdirs
{
"../irrklang/lib/Win32-vs2019"
}
libdirs
{
IRRKLANG_PRO_RELEASE_LIB_DIR
}
filter
{
"configurations:Debug"
}
filter
{
"configurations:Debug"
}
libdirs
{
"../irrklang/lib/Win32-visualStudio-debug"
}
libdirs
{
IRRKLANG_PRO_DEBUG_LIB_DIR
}
filter
{}
filter
{}
else
libdirs
{
"../irrklang/lib/Win32-visualStudio"
}
end
end
end
end
links
{
"opengl32"
,
"ws2_32"
,
"winmm"
,
"gdi32"
,
"kernel32"
,
"user32"
,
"imm32"
}
links
{
"opengl32"
,
"ws2_32"
,
"winmm"
,
"gdi32"
,
"kernel32"
,
"user32"
,
"imm32"
}
filter
{
"system:windows"
,
"not action:vs*"
}
includedirs
{
"/mingw/include/irrlicht"
,
"/mingw/include/freetype2"
}
filter
"not action:vs*"
filter
"not action:vs*"
buildoptions
{
"-std=c++14"
,
"-fno-rtti"
}
buildoptions
{
"-std=c++14"
,
"-fno-rtti"
}
filter
"not system:windows"
filter
"not system:windows"
includedirs
{
"/usr/include/irrlicht"
,
"/usr/include/freetype2"
}
links
{
"event_pthreads"
,
"dl"
,
"pthread"
}
links
{
"event_pthreads"
,
"dl"
,
"pthread"
,
"X11"
}
filter
"system:macosx"
filter
"system:macosx"
libdirs
{
"../irrlicht/source/Irrlicht/MacOSX/build/Release/"
}
links
{
"z"
}
links
{
"z"
}
defines
{
"GL_SILENCE_DEPRECATION"
}
defines
{
"GL_SILENCE_DEPRECATION"
}
if
MAC_ARM
then
buildoptions
{
"--target=arm64-apple-macos12"
}
linkoptions
{
"-arch arm64"
}
end
if
USE_IRRKLANG
then
if
USE_IRRKLANG
then
links
{
"irrklang"
}
links
{
"irrklang"
}
libdirs
{
"../irrklang/bin/macosx-gcc"
}
end
end
filter
"system:linux"
filter
"system:linux"
links
{
"GL"
,
"Xxf86vm"
}
links
{
"GL"
,
"X
11"
,
"X
xf86vm"
}
if
USE_IRRKLANG
then
if
USE_IRRKLANG
then
links
{
"IrrKlang"
}
links
{
"IrrKlang"
}
linkoptions
{
"-Wl,-rpath=./irrklang/bin/linux-gcc-64/"
}
linkoptions
{
IRRKLANG_LINK_RPATH
}
libdirs
{
"../irrklang/bin/linux-gcc-64"
}
end
end
premake5.lua
View file @
7b2072c9
if
os
.
ishost
(
"windows"
)
then
-- default global settings
USE_IRRKLANG
=
true
IRRKLANG_PRO
=
false
BUILD_LUA
=
true
BUILD_EVENT
=
os
.
istarget
(
"windows"
)
BUILD_FREETYPE
=
os
.
istarget
(
"windows"
)
BUILD_SQLITE
=
os
.
istarget
(
"windows"
)
BUILD_IRRLICHT
=
not
os
.
istarget
(
"macosx"
)
USE_IRRKLANG
=
true
IRRKLANG_PRO
=
false
LUA_LIB_NAME
=
"lua"
-- read settings from command line or environment variables
newoption
{
trigger
=
"build-lua"
,
category
=
"YGOPro - lua"
,
description
=
""
}
newoption
{
trigger
=
"no-build-lua"
,
category
=
"YGOPro - lua"
,
description
=
""
}
newoption
{
trigger
=
"lua-include-dir"
,
category
=
"YGOPro - lua"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"lua-lib-dir"
,
category
=
"YGOPro - lua"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"lua-lib-name"
,
category
=
"YGOPro - lua"
,
description
=
""
,
value
=
"NAME"
,
default
=
"lua"
}
newoption
{
trigger
=
"build-event"
,
category
=
"YGOPro - event"
,
description
=
""
}
newoption
{
trigger
=
"no-build-event"
,
category
=
"YGOPro - event"
,
description
=
""
}
newoption
{
trigger
=
"event-include-dir"
,
category
=
"YGOPro - event"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"event-lib-dir"
,
category
=
"YGOPro - event"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"build-freetype"
,
category
=
"YGOPro - freetype"
,
description
=
""
}
newoption
{
trigger
=
"no-build-freetype"
,
category
=
"YGOPro - freetype"
,
description
=
""
}
newoption
{
trigger
=
"freetype-include-dir"
,
category
=
"YGOPro - freetype"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"freetype-lib-dir"
,
category
=
"YGOPro - freetype"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"build-sqlite"
,
category
=
"YGOPro - sqlite"
,
description
=
""
}
newoption
{
trigger
=
"no-build-sqlite"
,
category
=
"YGOPro - sqlite"
,
description
=
""
}
newoption
{
trigger
=
"sqlite-include-dir"
,
category
=
"YGOPro - sqlite"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"sqlite-lib-dir"
,
category
=
"YGOPro - sqlite"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"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-lib-dir"
,
category
=
"YGOPro - irrlicht"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"use-irrklang"
,
category
=
"YGOPro - irrklang"
,
description
=
""
}
newoption
{
trigger
=
"no-use-irrklang"
,
category
=
"YGOPro - irrklang"
,
description
=
""
}
newoption
{
trigger
=
"irrklang-include-dir"
,
category
=
"YGOPro - irrklang"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"irrklang-lib-dir"
,
category
=
"YGOPro - irrklang"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"irrklang-pro"
,
category
=
"YGOPro - irrklang - pro"
,
description
=
""
}
newoption
{
trigger
=
"no-irrklang-pro"
,
category
=
"YGOPro - irrklang - pro"
,
description
=
""
}
newoption
{
trigger
=
"irrklang-pro-release-lib-dir"
,
category
=
"YGOPro - irrklang - pro"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"irrklang-pro-debug-lib-dir"
,
category
=
"YGOPro - irrklang - pro"
,
description
=
""
,
value
=
"PATH"
}
newoption
{
trigger
=
"winxp-support"
,
category
=
"YGOPro"
,
description
=
""
}
newoption
{
trigger
=
"mac-arm"
,
category
=
"YGOPro"
,
description
=
"M1"
}
function
GetParam
(
param
)
return
_OPTIONS
[
param
]
or
os.getenv
(
string.upper
(
string.gsub
(
param
,
"-"
,
"_"
)))
end
if
GetParam
(
"build-lua"
)
then
BUILD_LUA
=
true
BUILD_LUA
=
true
BUILD_EVENT
=
true
elseif
GetParam
(
"no-build-lua"
)
then
BUILD_LUA
=
false
end
if
not
BUILD_LUA
then
-- at most times you need to change this if you change BUILD_LUA to false
-- make sure your lua lib is built with C++ and version >= 5.3
LUA_INCLUDE_DIR
=
GetParam
(
"lua-include-dir"
)
or
"/usr/local/include/lua"
LUA_LIB_DIR
=
GetParam
(
"lua-lib-dir"
)
or
"/usr/local/lib"
LUA_LIB_NAME
=
GetParam
(
"lua-lib-name"
)
end
if
GetParam
(
"build-event"
)
then
BUILD_EVENT
=
os
.
istarget
(
"windows"
)
-- only on windows for now
elseif
GetParam
(
"no-build-event"
)
then
BUILD_EVENT
=
false
end
if
not
BUILD_EVENT
then
EVENT_INCLUDE_DIR
=
GetParam
(
"event-include-dir"
)
or
"/usr/local/include/event2"
EVENT_LIB_DIR
=
GetParam
(
"event-lib-dir"
)
or
"/usr/local/lib"
end
if
GetParam
(
"build-freetype"
)
then
BUILD_FREETYPE
=
true
BUILD_FREETYPE
=
true
BUILD_IRRLICHT
=
true
elseif
GetParam
(
"no-build-freetype"
)
then
BUILD_FREETYPE
=
false
end
if
not
BUILD_FREETYPE
then
if
os
.
istarget
(
"linux"
)
then
FREETYPE_INCLUDE_DIR
=
"/usr/include/freetype2"
elseif
os
.
istarget
(
"macosx"
)
then
FREETYPE_INCLUDE_DIR
=
"/usr/local/include/freetype2"
end
FREETYPE_INCLUDE_DIR
=
GetParam
(
"freetype-include-dir"
)
or
FREETYPE_INCLUDE_DIR
FREETYPE_LIB_DIR
=
GetParam
(
"freetype-lib-dir"
)
or
"/usr/local/lib"
end
if
GetParam
(
"build-sqlite"
)
then
BUILD_SQLITE
=
true
BUILD_SQLITE
=
true
else
elseif
GetParam
(
"no-build-sqlite"
)
then
BUILD_SQLITE
=
false
end
if
not
BUILD_SQLITE
then
SQLITE_INCLUDE_DIR
=
GetParam
(
"sqlite-include-dir"
)
or
"/usr/local/include"
SQLITE_LIB_DIR
=
GetParam
(
"sqlite-lib-dir"
)
or
"/usr/local/lib"
end
if
GetParam
(
"build-irrlicht"
)
then
BUILD_IRRLICHT
=
true
elseif
GetParam
(
"no-build-irrlicht"
)
then
BUILD_IRRLICHT
=
false
end
if
not
BUILD_IRRLICHT
then
IRRLICHT_INCLUDE_DIR
=
GetParam
(
"irrlicht-include-dir"
)
or
"/usr/local/include/irrlicht"
IRRLICHT_LIB_DIR
=
GetParam
(
"irrlicht-lib-dir"
)
or
"/usr/local/lib"
end
if
GetParam
(
"use-irrklang"
)
then
USE_IRRKLANG
=
true
USE_IRRKLANG
=
true
elseif
GetParam
(
"no-use-irrklang"
)
then
USE_IRRKLANG
=
false
end
if
USE_IRRKLANG
then
IRRKLANG_INCLUDE_DIR
=
GetParam
(
"irrklang-include-dir"
)
or
"../irrklang/include"
if
os
.
istarget
(
"windows"
)
then
IRRKLANG_LIB_DIR
=
"../irrklang/lib/Win32-visualStudio"
elseif
os
.
istarget
(
"linux"
)
then
IRRKLANG_LIB_DIR
=
"../irrklang/bin/linux-gcc-64"
IRRKLANG_LINK_RPATH
=
"-Wl,-rpath=./irrklang/bin/linux-gcc-64/"
elseif
os
.
istarget
(
"macosx"
)
then
IRRKLANG_LIB_DIR
=
"../irrklang/bin/macosx-gcc"
end
IRRKLANG_LIB_DIR
=
GetParam
(
"irrklang-lib-dir"
)
or
IRRKLANG_LIB_DIR
end
if
GetParam
(
"irrklang-pro"
)
and
os
.
istarget
(
"windows"
)
then
IRRKLANG_PRO
=
true
elseif
GetParam
(
"no-irrklang-pro"
)
then
IRRKLANG_PRO
=
false
IRRKLANG_PRO
=
false
BUILD_LUA
=
true
end
BUILD_EVENT
=
false
--not implemented on linux
if
IRRKLANG_PRO
then
BUILD_FREETYPE
=
false
-- irrklang pro can't use the pro lib to debug
BUILD_IRRLICHT
=
not
os
.
ishost
(
"macosx"
)
IRRKLANG_PRO_RELEASE_LIB_DIR
=
GetParam
(
"irrklang-pro-release-lib-dir"
)
or
"../irrklang/lib/Win32-vs2019"
BUILD_SQLITE
=
false
IRRKLANG_PRO_DEBUG_LIB_DIR
=
GetParam
(
"irrklang-pro-debug-lib-dir"
)
or
"../irrklang/lib/Win32-visualStudio-debug"
end
if
GetParam
(
"winxp-support"
)
and
os
.
istarget
(
"windows"
)
then
WINXP_SUPPORT
=
true
end
if
GetParam
(
"mac-arm"
)
and
os
.
istarget
(
"macosx"
)
then
MAC_ARM
=
true
end
end
workspace
"YGOPro"
workspace
"YGOPro"
...
@@ -24,19 +156,23 @@ workspace "YGOPro"
...
@@ -24,19 +156,23 @@ workspace "YGOPro"
configurations
{
"Release"
,
"Debug"
}
configurations
{
"Release"
,
"Debug"
}
filter
"system:windows"
filter
"system:windows"
defines
{
"WIN32"
,
"_WIN32"
,
"WINVER=0x0501"
}
defines
{
"WIN32"
,
"_WIN32"
}
entrypoint
"mainCRTStartup"
entrypoint
"mainCRTStartup"
systemversion
"latest"
systemversion
"latest"
startproject
"ygopro"
startproject
"YGOPro"
if
WINXP_SUPPORT
then
filter
"system:bsd"
defines
{
"WINVER=0x0501"
}
includedirs
{
"/usr/local/include"
}
toolset
"v141_xp"
libdirs
{
"/usr/local/lib"
}
else
defines
{
"WINVER=0x0601"
}
-- WIN7
end
filter
"system:macosx"
filter
"system:macosx"
includedirs
{
"/usr/local/include/freetype2"
}
libdirs
{
"/usr/local/lib"
}
libdirs
{
"/usr/local/lib"
}
buildoptions
{
"-stdlib=libc++"
}
buildoptions
{
"-stdlib=libc++"
}
if
MAC_ARM
then
buildoptions
{
"--target=arm64-apple-macos12"
}
end
links
{
"OpenGL.framework"
,
"Cocoa.framework"
,
"IOKit.framework"
}
links
{
"OpenGL.framework"
,
"Cocoa.framework"
,
"IOKit.framework"
}
filter
"system:linux"
filter
"system:linux"
...
@@ -59,7 +195,9 @@ workspace "YGOPro"
...
@@ -59,7 +195,9 @@ workspace "YGOPro"
filter
{
"configurations:Release"
,
"not action:vs*"
}
filter
{
"configurations:Release"
,
"not action:vs*"
}
symbols
"On"
symbols
"On"
defines
"NDEBUG"
defines
"NDEBUG"
buildoptions
"-march=native"
if
not
MAC_ARM
then
buildoptions
"-march=native"
end
filter
{
"configurations:Debug"
,
"action:vs*"
}
filter
{
"configurations:Debug"
,
"action:vs*"
}
defines
{
"_ITERATOR_DEBUG_LEVEL=0"
}
defines
{
"_ITERATOR_DEBUG_LEVEL=0"
}
...
@@ -71,10 +209,7 @@ workspace "YGOPro"
...
@@ -71,10 +209,7 @@ workspace "YGOPro"
defines
{
"_CRT_SECURE_NO_WARNINGS"
}
defines
{
"_CRT_SECURE_NO_WARNINGS"
}
filter
"not action:vs*"
filter
"not action:vs*"
buildoptions
{
"-fno-strict-aliasing"
,
"-Wno-multichar"
}
buildoptions
{
"-fno-strict-aliasing"
,
"-Wno-multichar"
,
"-Wno-format-security"
}
filter
{
"not action:vs*"
,
"system:windows"
}
buildoptions
{
"-static-libgcc"
}
filter
{}
filter
{}
...
...
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