summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwithmorten <morten.with@gmail.com>2021-06-08 03:10:02 +0200
committerwithmorten <morten.with@gmail.com>2021-06-25 02:40:42 +0200
commit84fb48825d509247aaf25c8cd5936d23d7dd9e2c (patch)
tree2b4d95fd808fb707ac18a19457541ab4ba3575b2
parenta83ecc123dea8090eb158825eafb262c14bfb46e (diff)
add no-git-hash option to premake
-rw-r--r--premake5.lua23
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/core/config.h3
3 files changed, 23 insertions, 4 deletions
diff --git a/premake5.lua b/premake5.lua
index fd59c1f8..973ac05d 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"
}
@@ -253,7 +258,11 @@ project "re3"
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" }
@@ -278,6 +287,10 @@ project "re3"
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" }
@@ -318,10 +331,14 @@ project "re3"
-- 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"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c81873fd..35b7ec11 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -50,6 +50,7 @@ if(LIBRW_PLATFORM_D3D9)
endif()
target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD)
+target_compile_definitions(${EXECUTABLE} PRIVATE USE_OUR_VERSIONING)
if(${PROJECT}_AUDIO STREQUAL "OAL")
find_package(OpenAL REQUIRED)
diff --git a/src/core/config.h b/src/core/config.h
index 1677b1a4..8424f6ef 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -184,7 +184,8 @@ enum Config {
#define DRAW_GAME_VERSION_TEXT
#ifdef DRAW_GAME_VERSION_TEXT
// unlike R* development builds, ours has runtime switch on debug menu & .ini, and disabled as default.
- #define USE_OUR_VERSIONING // If you disable this then game will fetch version from peds.col, as R* did while in development
+ // If you disable this then game will fetch version from peds.col, as R* did while in development.
+ //#define USE_OUR_VERSIONING // enabled from buildfiles by default
#endif
//#define DRAW_MENU_VERSION_TEXT