mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2025-01-03 16:13:36 +08:00
248 lines
4.8 KiB
Lua
248 lines
4.8 KiB
Lua
workspace "BigBaseV2"
|
|
architecture "x64"
|
|
startproject "BigBaseV2"
|
|
|
|
configurations
|
|
{
|
|
-- "Debug", -- Debug isn't buildable and causes confusion for new people
|
|
"Release"
|
|
}
|
|
|
|
outputdir = "%{cfg.buildcfg}"
|
|
|
|
CppVersion = "C++20"
|
|
MsvcToolset = "v143"
|
|
WindowsSdkVersion = "10.0"
|
|
|
|
function DeclareMSVCOptions()
|
|
filter "system:windows"
|
|
staticruntime "Off"
|
|
floatingpoint "Fast"
|
|
systemversion (WindowsSdkVersion)
|
|
toolset (MsvcToolset)
|
|
cppdialect (CppVersion)
|
|
|
|
defines
|
|
{
|
|
"_CRT_SECURE_NO_WARNINGS",
|
|
"NOMINMAX",
|
|
"WIN32_LEAN_AND_MEAN"
|
|
-- "_WIN32_WINNT=0x601" -- Support Windows 7
|
|
}
|
|
|
|
disablewarnings
|
|
{
|
|
"4100", -- C4100: unreferenced formal parameter
|
|
"4201", -- C4201: nameless struct/union
|
|
"4307", -- C4307: integral constant overflow
|
|
"4996" -- C4996: deprecated in C++17
|
|
}
|
|
end
|
|
|
|
function file_exists(name)
|
|
local f=io.open(name,"r")
|
|
if f~=nil then io.close(f) return true else return false end
|
|
end
|
|
|
|
function DeclareDebugOptions()
|
|
filter "configurations:Debug"
|
|
defines { "_DEBUG" }
|
|
symbols "On"
|
|
filter "not configurations:Debug"
|
|
defines { "NDEBUG" }
|
|
end
|
|
|
|
project "g3log"
|
|
location "vendor/%{prj.name}"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
|
|
targetdir ("bin/lib/" .. outputdir)
|
|
objdir ("bin/lib/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
includedirs
|
|
{
|
|
"vendor/%{prj.name}/src"
|
|
}
|
|
|
|
g3log_file = "vendor/g3log/src/g3log/generated_definitions.hpp"
|
|
if(file_exists(g3log_file) == false) then
|
|
file = io.open(g3log_file, "w")
|
|
if(file == nil) then
|
|
premake.error("Failed to locate vendor directories. Try doing git pull --recurse-submodules.")
|
|
end
|
|
file:write("#pragma once");
|
|
end
|
|
|
|
files
|
|
{
|
|
"vendor/%{prj.name}/src/**.hpp",
|
|
"vendor/%{prj.name}/src/**.cpp"
|
|
}
|
|
|
|
removefiles
|
|
{
|
|
"vendor/%{prj.name}/src/crashhandler_unix.cpp"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "GTAV-Classes"
|
|
location "vendor/%{prj.name}"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
|
|
targetdir ("bin/lib/" .. outputdir)
|
|
objdir ("bin/lib/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
files
|
|
{
|
|
"vendor/%{prj.name}/**.hpp"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"vendor/%{prj.name}"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "ImGui"
|
|
location "vendor/%{prj.name}"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
|
|
targetdir ("bin/lib/" .. outputdir)
|
|
objdir ("bin/lib/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
files
|
|
{
|
|
"vendor/%{prj.name}/imgui.cpp",
|
|
"vendor/%{prj.name}/imgui_draw.cpp",
|
|
"vendor/%{prj.name}/imgui_tables.cpp",
|
|
"vendor/%{prj.name}/imgui_widgets.cpp",
|
|
"vendor/%{prj.name}/backends/imgui_impl_dx11.cpp",
|
|
"vendor/%{prj.name}/backends/imgui_impl_win32.cpp",
|
|
"vendor/%{prj.name}/misc/cpp/imgui_stdlib.cpp",
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"vendor/%{prj.name}"
|
|
}
|
|
|
|
defines {
|
|
"IMGUI_DISABLE_DEMO_WINDOWS",
|
|
"IMGUI_DISABLE_METRICS_WINDOW",
|
|
"IM_ASSERT(_EXPR) ((void)(_EXPR))"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "MinHook"
|
|
location "vendor/%{prj.name}"
|
|
kind "StaticLib"
|
|
language "C"
|
|
|
|
targetdir ("bin/lib/" .. outputdir)
|
|
objdir ("bin/lib/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
files
|
|
{
|
|
"vendor/%{prj.name}/include/**.h",
|
|
"vendor/%{prj.name}/src/**.h",
|
|
"vendor/%{prj.name}/src/**.c"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "pugixml"
|
|
location "vendor/%{prj.name}"
|
|
kind "StaticLib"
|
|
language "C++"
|
|
|
|
targetdir ("bin/lib/" .. outputdir)
|
|
objdir ("bin/lib/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
files
|
|
{
|
|
"vendor/%{prj.name}/src/**.cpp",
|
|
"vendor/%{prj.name}/src/**.hpp"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"vendor/%{prj.name}/src/"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "BigBaseV2"
|
|
location "BigBaseV2"
|
|
symbols "Off"
|
|
kind "SharedLib"
|
|
language "C++"
|
|
|
|
targetdir ("bin/" .. outputdir)
|
|
objdir ("bin/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
files
|
|
{
|
|
"%{prj.name}/src/**.hpp",
|
|
"%{prj.name}/src/**.h",
|
|
"%{prj.name}/src/**.cpp",
|
|
"%{prj.name}/src/**.cc",
|
|
"%{prj.name}/src/**.cxx",
|
|
"%{prj.name}/src/**.asm"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"%{prj.name}/src/",
|
|
"vendor/g3log/src",
|
|
"vendor/GTAV-Classes",
|
|
"vendor/ImGui",
|
|
"vendor/json/single_include",
|
|
"vendor/MinHook/include",
|
|
"vendor/pugixml/src"
|
|
}
|
|
|
|
libdirs
|
|
{
|
|
"bin/lib"
|
|
}
|
|
|
|
links
|
|
{
|
|
"g3log",
|
|
"ImGui",
|
|
"MinHook",
|
|
"pugixml"
|
|
}
|
|
|
|
pchheader "common.hpp"
|
|
pchsource "%{prj.name}/src/common.cpp"
|
|
|
|
forceincludes { -- microsoft bad
|
|
"common.hpp"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
flags { "NoImportLib", "Maps", "LinkTimeOptimization", "MultiProcessorCompile" }
|
|
|
|
filter "configurations:Debug"
|
|
flags { }
|
|
editandcontinue "Off"
|
|
defines { "DEBUG" }
|
|
|
|
filter "configurations:Release"
|
|
flags { "FatalWarnings", "NoManifest" }
|
|
defines { "RELEASE" }
|
|
optimize "speed" |