|
|
@@ -27,6 +27,11 @@ newoption { |
|
|
description = "Build with opus" |
|
|
} |
|
|
|
|
|
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,15 +322,15 @@ project "reLCS" |
|
|
filter {} |
|
|
defines { "AUDIO_OPUS" } |
|
|
end |
|
|
|
|
|
|
|
|
filter "platforms:*oal" |
|
|
defines { "AUDIO_OAL" } |
|
|
|
|
|
filter {} |
|
|
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,40 +342,44 @@ 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" } |
|
|
libdirs { "vendor/openal-soft/libs/Win64" } |
|
|
|
|
|
filter "platforms:linux*oal" |
|
|
links { "openal", "mpg123", "sndfile", "pthread", "X11" } |
|
|
|
|
|
|
|
|
filter "platforms:bsd*oal" |
|
|
links { "openal", "mpg123", "sndfile", "pthread", "X11" } |
|
|
|
|
|
filter "platforms:macosx*oal" |
|
|
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" } |
|
|
|