1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Initial version of premake script

This commit is contained in:
Andrew Depke 2020-12-07 16:44:02 -07:00
parent cb36b35f0a
commit ea1e57e142

169
premake5.lua Normal file
View File

@ -0,0 +1,169 @@
workspace "Tracy"
architecture "x86_64"
platforms { "Win64" }
configurations { "Debug", "Release", "ReleaseOnDemand" }
startproject "TracyServer"
systemversion "latest"
flags "MultiProcessorCompile"
defines {
"_CRT_SECURE_NO_DEPRECATE",
"_CRT_NONSTDC_NO_DEPRECATE"
}
filter { "system:windows" }
defines {
"WIN32_LEAN_AND_MEAN",
"NOMINMAX",
"_USE_MATH_DEFINES"
}
filter { "configurations:Debug" }
defines "_DEBUG"
symbols "On"
optimize "Off"
filter { "configurations:Release*" }
defines "NDEBUG"
symbols "Off"
optimize "Speed"
filter {}
buildoptions "/sdl" -- Security development lifecycle checks
project "TracyClient"
kind "SharedLib"
language "C++"
location "Build/TracyClient/Generated"
buildlog "Build/TracyClient/Log/Build.log"
objdir "Build/TracyClient/Intermediate/%{cfg.platform}_%{cfg.buildcfg}"
targetdir "Build/TracyClient/Bin/%{cfg.platform}_%{cfg.buildcfg}"
targetname "TracyClient"
includedirs { "profiler/libs/gl3w", "imgui", "vcpkg/vcpkg/installed/x64-windows-static/include" }
libdirs { "lib/glfw/bin/win32" }
staticruntime "Off"
defines "TRACY_EXPORTS" -- Used for multi-DLL projects
filter { "configurations:Release*" }
defines "TRACY_ENABLE"
filter { "configurations:ReleaseOnDemand" }
defines "TRACY_ON_DEMAND"
filter {}
files "TracyClient.cpp"
project "TracyServer"
kind "WindowedApp"
language "C++"
cppdialect "C++17"
location "Build/TracyServer/Generated"
buildlog "Build/TracyServer/Log/Build.log"
objdir "Build/TracyServer/Intermediate/%{cfg.platform}_%{cfg.buildcfg}"
targetdir "Build/TracyServer/Bin/%{cfg.platform}_%{cfg.buildcfg}"
targetname "TracyServer"
configmap {
["ReleaseOnDemand"] = "Release" -- On demand mode doesn't apply to the server
}
characterset "MBCS"
floatingpoint "Fast"
staticruntime "Off"
warnings "Extra"
vectorextensions "AVX2"
buildoptions {
"/diagnostics:caret", -- Diagnostics format
"/permissive-" -- Enable conformance mode
}
filter { "configurations:Release" }
functionlevellinking "On"
buildoptions {
"/GL", -- Enable whole program optimization
"/Oi" -- Enable intrinsic functions
}
filter {}
includedirs { "profiler/libs/gl3w", "imgui", "vcpkg/vcpkg/installed/x64-windows-static/include" }
filter { "configurations:Debug" }
libdirs "vcpkg/vcpkg/installed/x64-windows-static/debug/lib"
filter { "configurations:Release" }
libdirs "vcpkg/vcpkg/installed/x64-windows-static/lib"
filter {}
defines {
"TRACY_FILESELECTOR",
"TRACY_EXTENDED_FONT",
"TRACY_ROOT_WINDOW"
}
files {
"common/*.h",
"common/*.hpp",
"common/*.cpp",
"imgui/*.h",
"imgui/*.cpp",
"nfd/*.h",
"nfd/nfd_common.c",
"server/*.h",
"server/*.hpp",
"server/*.cpp",
"profiler/src/*.h",
"profiler/src/*.hpp",
"profiler/src/*.cpp",
"profiler/libs/gl3w/**.*",
"zstd/*.h",
"zstd/*.c"
}
filter { "system:windows" }
files "nfd/nfd_win.cpp"
filter { "system:not windows" }
files "nfd/nfd_gtk.c"
removefiles "profiler/src/winmain*.*"
filter {}
links {
"brotlicommon-static",
"brotlidec-static",
"ws2_32",
"opengl32",
"glfw3",
"capstone"
}
filter { "configurations:Debug" }
links {
"freetyped",
"libpng16d",
"zlibd",
"bz2d"
}
filter { "configurations:Release" }
links {
"freetype",
"libpng16",
"zlib",
"bz2"
}
filter {}