mirror of
https://github.com/Mr-X-GTA/YimMenu.git
synced 2024-12-22 20:17:24 +08:00
01d48cd314
Updated natives for 1.50. Added settings JSON implementation. Refactored spawn vehicle bypass to not crash. (removed VMT hook)
230 lines
5.5 KiB
Lua
230 lines
5.5 KiB
Lua
workspace "BigBaseV2"
|
|
architecture "x64"
|
|
startproject "BigBaseV2"
|
|
|
|
configurations
|
|
{
|
|
"Debug",
|
|
"Release",
|
|
"Dist"
|
|
}
|
|
|
|
outputdir = "%{cfg.buildcfg}"
|
|
|
|
IncludeDir = {}
|
|
IncludeDir["fmtlib"] = "vendor/fmtlib/include"
|
|
IncludeDir["json"] = "vendor/json/single_include"
|
|
IncludeDir["MinHook"] = "vendor/MinHook/include"
|
|
IncludeDir["ImGui"] = "vendor/ImGui"
|
|
IncludeDir["ImGuiImpl"] = "vendor/ImGui/examples"
|
|
IncludeDir["g3log"] = "vendor/g3log/src"
|
|
|
|
CppVersion = "C++17"
|
|
MsvcToolset = "v142"
|
|
WindowsSdkVersion = "10.0"
|
|
|
|
function DeclareMSVCOptions()
|
|
filter "system:windows"
|
|
staticruntime "Off"
|
|
floatingpoint "Fast"
|
|
vectorextensions "AVX2"
|
|
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
|
|
}
|
|
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 "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_demo.cpp",
|
|
"vendor/%{prj.name}/imgui_draw.cpp",
|
|
"vendor/%{prj.name}/imgui_widgets.cpp",
|
|
"vendor/%{prj.name}/examples/imgui_impl_dx11.cpp",
|
|
"vendor/%{prj.name}/examples/imgui_impl_win32.cpp"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"vendor/%{prj.name}"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "fmtlib"
|
|
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/**.cc"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"vendor/%{prj.name}/include"
|
|
}
|
|
|
|
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 "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"
|
|
}
|
|
|
|
if(file_exists("vendor\\g3log\\src\\g3log\\generated_definitions.hpp") == false) then
|
|
file = io.open("vendor\\g3log\\src\\g3log\\generated_definitions.hpp", "w")
|
|
file:write("// AUTO GENERATED MACRO DEFINITIONS FOR G3LOG\n\n\n/* ==========================================================================\n*2015 by KjellKod.cc. This is PUBLIC DOMAIN to use at your own risk and comes\n* with no warranties. This code is yours to share, use and modify with no\n\n*strings attached and no restrictions or obligations.\n* \n* For more information see g3log/LICENSE or refer refer to http://unlicense.org\n\n*============================================================================*/\n#pragma once\n\n\n// CMake induced definitions below. See g3log/Options.cmake for details.");
|
|
end
|
|
|
|
files
|
|
{
|
|
"vendor/%{prj.name}/src/**.hpp",
|
|
"vendor/%{prj.name}/src/**.cpp"
|
|
}
|
|
|
|
removefiles
|
|
{
|
|
"vendor/%{prj.name}/src/crashhandler_unix.cpp"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
project "BigBaseV2"
|
|
location "BigBaseV2"
|
|
kind "SharedLib"
|
|
language "C++"
|
|
|
|
targetdir ("bin/" .. outputdir)
|
|
objdir ("bin/int/" .. outputdir .. "/%{prj.name}")
|
|
|
|
PrecompiledHeaderInclude = "common.hpp"
|
|
PrecompiledHeaderSource = "%{prj.name}/src/common.cpp"
|
|
|
|
files
|
|
{
|
|
"%{prj.name}/src/**.hpp",
|
|
"%{prj.name}/src/**.h",
|
|
"%{prj.name}/src/**.cpp",
|
|
"%{prj.name}/src/**.asm"
|
|
}
|
|
|
|
includedirs
|
|
{
|
|
"%{IncludeDir.fmtlib}",
|
|
"%{IncludeDir.json}",
|
|
"%{IncludeDir.MinHook}",
|
|
"%{IncludeDir.ImGui}",
|
|
"%{IncludeDir.ImGuiImpl}",
|
|
"%{IncludeDir.g3log}",
|
|
"%{prj.name}/src"
|
|
}
|
|
|
|
libdirs
|
|
{
|
|
"bin/lib"
|
|
}
|
|
|
|
links
|
|
{
|
|
"fmtlib",
|
|
"MinHook",
|
|
"ImGui",
|
|
"g3log"
|
|
}
|
|
|
|
pchheader "%{PrecompiledHeaderInclude}"
|
|
pchsource "%{PrecompiledHeaderSource}"
|
|
|
|
forceincludes
|
|
{
|
|
"%{PrecompiledHeaderInclude}"
|
|
}
|
|
|
|
DeclareMSVCOptions()
|
|
DeclareDebugOptions()
|
|
|
|
flags { "NoImportLib", "Maps" }
|
|
|
|
filter "configurations:Debug"
|
|
flags { "LinkTimeOptimization", "MultiProcessorCompile" }
|
|
defines { "BIGBASEV2_DEBUG" }
|
|
|
|
filter "configurations:Release"
|
|
flags { "LinkTimeOptimization", "NoManifest", "MultiProcessorCompile" }
|
|
defines { "BIGBASEV2_RELEASE" }
|
|
optimize "speed"
|
|
filter "configurations:Dist"
|
|
flags { "LinkTimeOptimization", "FatalWarnings", "NoManifest", "MultiProcessorCompile" }
|
|
defines { "BIGBASEV2_DIST" }
|
|
optimize "speed"
|