1-- _ACTION is a premake global variable and for our usage will be vs2012, vs2013, etc. 2-- Strip "vs" from this string to make a suffix for solution and project files. 3_SUFFIX = _ACTION 4 5workspace "D3D12Sample" 6configurations { "Debug", "Release" } 7platforms { "x64" } 8location "../build" 9filename ("D3D12Sample_" .. _SUFFIX) 10startproject "D3D12Sample" 11 12filter "platforms:x64" 13system "Windows" 14architecture "x64" 15includedirs { } 16libdirs { } 17 18 19project "D3D12Sample" 20kind "ConsoleApp" 21language "C++" 22location "../build" 23filename ("D3D12Sample_" .. _SUFFIX) 24targetdir "../bin" 25objdir "../build/Desktop_%{_SUFFIX}/%{cfg.platform}/%{cfg.buildcfg}" 26floatingpoint "Fast" 27files { "../src/*.h", "../src/*.cpp" } 28flags { "NoPCH", "FatalWarnings" } 29characterset "Unicode" 30warnings "Extra" 31disablewarnings "4127" -- conditional expression is constant 32disablewarnings "4100" -- unreferenced formal parameter 33disablewarnings "4324" -- structure was padded due to alignment specifier 34disablewarnings "4189" -- local variable is initialized but not referenced 35 36filter "configurations:Debug" 37defines { "_DEBUG", "DEBUG" } 38flags { } 39targetsuffix ("_Debug_" .. _SUFFIX) 40 41filter "configurations:Release" 42defines { "NDEBUG" } 43optimize "On" 44flags { "LinkTimeOptimization" } 45targetsuffix ("_Release_" .. _SUFFIX) 46 47filter { "platforms:x64" } 48defines { "WIN32", "_CONSOLE", "PROFILE", "_WINDOWS", "_WIN32_WINNT=0x0601" } 49links { "d3d12.lib", "dxgi.lib" } 50 51filter { "configurations:Debug", "platforms:x64" } 52buildoptions { "/MDd" } 53 54filter { "configurations:Release", "platforms:Windows-x64" } 55buildoptions { "/MD" } 56