127 lines
3.4 KiB
Lua
127 lines
3.4 KiB
Lua
workspace "asphyxia"
|
|
configurations { "Debug", "Release" }
|
|
system "windows"
|
|
architecture "x64"
|
|
|
|
project "cstrike"
|
|
location "cstrike"
|
|
targetname "cstrike"
|
|
kind "SharedLib"
|
|
defines { "NOMINMAX"}
|
|
language "C++"
|
|
cppdialect "c++20"
|
|
|
|
-- specify physical include file paths
|
|
files
|
|
{
|
|
"cstrike/**.cpp",
|
|
"cstrike/**.h",
|
|
|
|
-- core [features, sdk, etc...]
|
|
"cstrike/core/**.cpp",
|
|
"cstrike/core/**.h",
|
|
|
|
-- features
|
|
"cstrike/features/**.h",
|
|
"cstrike/features/**.cpp",
|
|
"cstrike/features/misc/**.h",
|
|
"cstrike/features/misc/**.cpp",
|
|
"cstrike/features/visuals/**.h",
|
|
"cstrike/features/visuals/**.cpp",
|
|
|
|
-- sdk
|
|
"cstrike/sdk/**.h",
|
|
"cstrike/sdk/**.cpp",
|
|
"cstrike/sdk/datatypes/**.h",
|
|
"cstrike/sdk/datatypes/**.cpp",
|
|
"cstrike/sdk/interfaces/**.h",
|
|
"cstrike/sdk/interfaces/**.cpp",
|
|
|
|
-- utilities
|
|
"cstrike/utilities/**.h",
|
|
"cstrike/utilities/**.cpp",
|
|
|
|
|
|
-- general like: stb_X library, xor_str, etc...
|
|
"dependencies/*.h",
|
|
"dependencies/*.hpp",
|
|
|
|
-- imgui
|
|
"dependencies/imgui/**.cpp",
|
|
"dependencies/imgui/**.h",
|
|
|
|
-- minhook
|
|
"dependencies/minhook/**.h",
|
|
"dependencies/minhook/**.c",
|
|
"dependencies/minhook/hde/**.h",
|
|
"dependencies/minhook/hde/**.c",
|
|
|
|
-- extension
|
|
"extension/**.h",
|
|
|
|
-- resources [fonts, images, etc...]
|
|
"resources/*.h"
|
|
}
|
|
|
|
-- specify virtual filter file paths
|
|
vpaths
|
|
{
|
|
{ ["*"] = "cstrike/*" },
|
|
|
|
-- core [features, sdk, etc...]
|
|
{ ["core/*"] = "cstrike/core/*" },
|
|
-- utilities
|
|
{ ["utilities/*"] = "cstrike/utilities/*" },
|
|
|
|
-- dependencies
|
|
{ ["dependencies/*"] = "dependencies/*" },
|
|
{ ["dependencies/imgui/*"] = "dependencies/imgui/*" },
|
|
{ ["dependencies/safetyhook/*"] = "dependencies/safetyhook/*" },
|
|
|
|
-- extension
|
|
{ ["extension/*"] = "extension/*" },
|
|
|
|
-- resources [fonts, images, etc...]
|
|
{ ["resources/*"] = "resources/*.h" }
|
|
}
|
|
|
|
-- @note: use the "!" prefix to force a specific directory using msvs's provided environment variables instead of premake tokens
|
|
targetdir "$(SolutionDir)build/$(Configuration)/"
|
|
objdir "!$(SolutionDir)intermediate/$(ProjectName)/$(Configuration)/"
|
|
implibname "$(OutDir)$(TargetName)"
|
|
|
|
-- link
|
|
includedirs {
|
|
"$(SolutionDir)dependencies",
|
|
"$(SolutionDir)dependencies/freetype/include",
|
|
}
|
|
|
|
libdirs { "$(SolutionDir)dependencies/freetype/binary" }
|
|
links { "d3d11.lib" }
|
|
flags { "MultiProcessorCompile", "NoImportLib", "NoManifest", "NoPCH" } -- @test: NoImplicitLink
|
|
|
|
-- compile
|
|
conformancemode "on"
|
|
editandcontinue "off"
|
|
entrypoint "CoreEntryPoint"
|
|
exceptionhandling "off"
|
|
staticruntime "on"
|
|
symbols "full"
|
|
|
|
-- configuration specific
|
|
filter "configurations:Debug"
|
|
defines { "_DEBUG" }
|
|
flags { "NoIncrementalLink" }
|
|
justmycode "off"
|
|
rtti "on"
|
|
links { "freetype_debug.lib" }
|
|
--sanitize { "Address" } --@test
|
|
|
|
filter "configurations:Release"
|
|
defines { "NDEBUG" }
|
|
flags { "LinkTimeOptimization" } -- @test: NoRuntimeChecks
|
|
optimize "speed"
|
|
rtti "off"
|
|
links { "freetype.lib" }
|
|
--buildoptions { "/Zc:threadSafeInit-" }-- @test: "/Zc:threadSafeInit-" to disable thread-safe local static initialization ('__Init_thread_header'/'__Init_thread_footer' calls)
|