add no-git-hash option to premake

This commit is contained in:
withmorten 2021-06-08 03:10:02 +02:00
parent a83ecc123d
commit 84fb48825d
3 changed files with 23 additions and 4 deletions

View file

@ -27,6 +27,11 @@ newoption {
description = "Build with opus" description = "Build with opus"
} }
newoption {
trigger = "no-git-hash",
description = "Don't print git commit hash into binary"
}
newoption { newoption {
trigger = "lto", trigger = "lto",
description = "Use link time optimization" description = "Use link time optimization"
@ -253,7 +258,11 @@ project "re3"
files { addSrcFiles("src/vehicles") } files { addSrcFiles("src/vehicles") }
files { addSrcFiles("src/weapons") } files { addSrcFiles("src/weapons") }
files { addSrcFiles("src/extras") } 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" }
includedirs { "src/animation" } includedirs { "src/animation" }
@ -278,6 +287,10 @@ project "re3"
includedirs { "src/vehicles" } includedirs { "src/vehicles" }
includedirs { "src/weapons" } includedirs { "src/weapons" }
includedirs { "src/extras" } includedirs { "src/extras" }
if(not _OPTIONS["no-git-hash"]) then
defines { "USE_OUR_VERSIONING" }
end
if _OPTIONS["with-opus"] then if _OPTIONS["with-opus"] then
includedirs { "vendor/ogg/include" } includedirs { "vendor/ogg/include" }
@ -318,10 +331,14 @@ project "re3"
-- external librw is dynamic -- external librw is dynamic
staticruntime "on" staticruntime "on"
end 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*" 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*" filter "platforms:win*glfw*"
staticruntime "off" staticruntime "off"

View file

@ -50,6 +50,7 @@ if(LIBRW_PLATFORM_D3D9)
endif() endif()
target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD) target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD)
target_compile_definitions(${EXECUTABLE} PRIVATE USE_OUR_VERSIONING)
if(${PROJECT}_AUDIO STREQUAL "OAL") if(${PROJECT}_AUDIO STREQUAL "OAL")
find_package(OpenAL REQUIRED) find_package(OpenAL REQUIRED)

View file

@ -184,7 +184,8 @@ enum Config {
#define DRAW_GAME_VERSION_TEXT #define DRAW_GAME_VERSION_TEXT
#ifdef 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. // 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 #endif
//#define DRAW_MENU_VERSION_TEXT //#define DRAW_MENU_VERSION_TEXT