summaryrefslogtreecommitdiffstats
path: root/premake5.lua
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-06-26 13:27:54 +0200
committerSergeanur <s.anureev@yandex.ua>2021-06-26 13:27:54 +0200
commitd4ba7c387b2f471232d8cabc5f83b2801b4e85b3 (patch)
tree5e973f13ba481c1fb92158b1a707dba894a98bf5 /premake5.lua
parentFixes (diff)
parentfix screenshot name space (diff)
downloadre3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.tar
re3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.tar.gz
re3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.tar.bz2
re3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.tar.lz
re3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.tar.xz
re3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.tar.zst
re3-d4ba7c387b2f471232d8cabc5f83b2801b4e85b3.zip
Diffstat (limited to 'premake5.lua')
-rw-r--r--premake5.lua75
1 files changed, 46 insertions, 29 deletions
diff --git a/premake5.lua b/premake5.lua
index af64958e..6667255c 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -28,6 +28,11 @@ newoption {
}
newoption {
+ trigger = "no-git-hash",
+ description = "Don't print git commit hash into binary"
+}
+
+newoption {
trigger = "lto",
description = "Use link time optimization"
}
@@ -103,7 +108,7 @@ workspace "reLCS"
"bsd-arm-librw_gl3_glfw-oal",
"bsd-arm64-librw_gl3_glfw-oal"
}
-
+
filter { "system:macosx" }
platforms {
"macosx-arm64-librw_gl3_glfw-oal",
@@ -112,7 +117,7 @@ workspace "reLCS"
filter "configurations:Debug"
defines { "DEBUG" }
-
+
filter "configurations:not Debug"
defines { "NDEBUG" }
optimize "Speed"
@@ -128,22 +133,22 @@ workspace "reLCS"
filter { "platforms:linux*" }
system "linux"
-
+
filter { "platforms:bsd*" }
system "bsd"
filter { "platforms:macosx*" }
system "macosx"
-
+
filter { "platforms:*x86*" }
architecture "x86"
-
+
filter { "platforms:*amd64*" }
architecture "amd64"
filter { "platforms:*arm*" }
architecture "ARM"
-
+
filter { "platforms:macosx-arm64-*" }
buildoptions { "-target", "arm64-apple-macos11", "-std=gnu++14" }
@@ -155,21 +160,21 @@ workspace "reLCS"
if(not _OPTIONS["with-librw"]) then
libdirs { path.join(Librw, "lib/win-%{getarch(cfg.architecture)}-d3d9/%{cfg.buildcfg}") }
end
-
+
filter "platforms:*librw_gl3_glfw*"
defines { "RW_GL3" }
if(not _OPTIONS["with-librw"]) then
libdirs { path.join(Librw, "lib/%{getsys(cfg.system)}-%{getarch(cfg.architecture)}-gl3/%{cfg.buildcfg}") }
end
-
+
filter "platforms:*x86-librw_gl3_glfw*"
includedirs { path.join(_OPTIONS["glfwdir32"], "include") }
-
+
filter "platforms:*amd64-librw_gl3_glfw*"
includedirs { path.join(_OPTIONS["glfwdir64"], "include") }
filter {}
-
+
function setpaths (gamepath, exepath)
if (gamepath) then
postbuildcommands {
@@ -193,7 +198,7 @@ project "librw"
files { path.join(Librw, "src/*.*") }
files { path.join(Librw, "src/*/*.*") }
files { path.join(Librw, "src/gl/*/*.*") }
-
+
filter { "platforms:*x86*" }
architecture "x86"
@@ -218,7 +223,7 @@ project "librw"
filter "platforms:*gl3_glfw*"
staticruntime "off"
-
+
filter "platforms:*RW34*"
flags { "ExcludeFromBuild" }
filter {}
@@ -262,7 +267,11 @@ project "reLCS"
files { addSrcFiles("src/vehicles") }
files { addSrcFiles("src/weapons") }
files { addSrcFiles("src/extras") }
- files { "src/extras/GitSHA1.cpp" } -- this won't be in repo in first build
+ if(not _OPTIONS["no-git-hash"]) then
+ files { "src/extras/GitSHA1.cpp" } -- this won't be in repo in first build
+ else
+ removefiles { "src/extras/GitSHA1.cpp" } -- but it will be everytime after
+ end
includedirs { "src" }
includedirs { "src/animation" }
@@ -289,7 +298,11 @@ project "reLCS"
includedirs { "src/vehicles" }
includedirs { "src/weapons" }
includedirs { "src/extras" }
-
+
+ if(not _OPTIONS["no-git-hash"]) then
+ defines { "USE_OUR_VERSIONING" }
+ end
+
if _OPTIONS["with-opus"] then
includedirs { "vendor/ogg/include" }
includedirs { "vendor/opus/include" }
@@ -300,7 +313,7 @@ project "reLCS"
defines { "AUDIO_MSS" }
includedirs { "vendor/milessdk/include" }
libdirs { "vendor/milessdk/lib" }
-
+
if _OPTIONS["with-opus"] then
filter "platforms:win*"
libdirs { "vendor/ogg/win32/VS2015/Win32/%{cfg.buildcfg}" }
@@ -309,7 +322,7 @@ project "reLCS"
filter {}
defines { "AUDIO_OPUS" }
end
-
+
filter "platforms:*oal"
defines { "AUDIO_OAL" }
@@ -317,7 +330,7 @@ project "reLCS"
if(os.getenv("GTA_LCS_RE_DIR")) then
setpaths(os.getenv("GTA_LCS_RE_DIR") .. "/", "%(cfg.buildtarget.name)")
end
-
+
filter "platforms:win*"
files { addSrcFiles("src/skel/win") }
includedirs { "src/skel/win" }
@@ -329,24 +342,28 @@ project "reLCS"
-- external librw is dynamic
staticruntime "on"
end
- prebuildcommands { '"%{prj.location}..\\printHash.bat" "%{prj.location}..\\src\\extras\\GitSHA1.cpp"' }
+ if(not _OPTIONS["no-git-hash"]) then
+ prebuildcommands { '"%{prj.location}..\\printHash.bat" "%{prj.location}..\\src\\extras\\GitSHA1.cpp"' }
+ end
filter "platforms:not win*"
- prebuildcommands { '"%{prj.location}/../printHash.sh" "%{prj.location}/../src/extras/GitSHA1.cpp"' }
+ if(not _OPTIONS["no-git-hash"]) then
+ prebuildcommands { '"%{prj.location}/../printHash.sh" "%{prj.location}/../src/extras/GitSHA1.cpp"' }
+ end
filter "platforms:win*glfw*"
staticruntime "off"
-
+
filter "platforms:win*oal"
includedirs { "vendor/openal-soft/include" }
includedirs { "vendor/libsndfile/include" }
includedirs { "vendor/mpg123/include" }
-
+
filter "platforms:win-x86*oal"
libdirs { "vendor/mpg123/lib/Win32" }
libdirs { "vendor/libsndfile/lib/Win32" }
libdirs { "vendor/openal-soft/libs/Win32" }
-
+
filter "platforms:win-amd64*oal"
libdirs { "vendor/mpg123/lib/Win64" }
libdirs { "vendor/libsndfile/lib/Win64" }
@@ -354,7 +371,7 @@ project "reLCS"
filter "platforms:linux*oal"
links { "openal", "mpg123", "sndfile", "pthread", "X11" }
-
+
filter "platforms:bsd*oal"
links { "openal", "mpg123", "sndfile", "pthread", "X11" }
@@ -362,7 +379,7 @@ project "reLCS"
links { "openal", "mpg123", "sndfile", "pthread" }
includedirs { "/usr/local/opt/openal-soft/include" }
libdirs { "/usr/local/opt/openal-soft/lib" }
-
+
if _OPTIONS["with-opus"] then
filter {}
links { "libogg" }
@@ -376,7 +393,7 @@ project "reLCS"
links { "rwcore", "rpworld", "rpmatfx", "rpskin", "rphanim", "rtbmp", "rtquat", "rtanim", "rtcharse", "rpanisot" }
defines { "RWLIBS" }
linkoptions "/SECTION:_rwcseg,ER!W /MERGE:_rwcseg=.text"
-
+
filter "platforms:*librw*"
defines { "LIBRW" }
files { addSrcFiles("src/fakerw") }
@@ -390,22 +407,22 @@ project "reLCS"
filter "platforms:*d3d9*"
defines { "USE_D3D9" }
links { "d3d9" }
-
+
filter "platforms:*x86*d3d*"
includedirs { "sdk/dx8sdk/include" }
libdirs { "sdk/dx8sdk/lib" }
-
+
filter "platforms:win-x86*gl3_glfw*"
libdirs { path.join(_OPTIONS["glfwdir32"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) }
links { "opengl32", "glfw3" }
-
+
filter "platforms:win-amd64*gl3_glfw*"
libdirs { path.join(_OPTIONS["glfwdir64"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) }
links { "opengl32", "glfw3" }
filter "platforms:linux*gl3_glfw*"
links { "GL", "glfw" }
-
+
filter "platforms:bsd*gl3_glfw*"
links { "GL", "glfw", "sysinfo" }
includedirs { "/usr/local/include" }