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 "VulkanSample" 6configurations { "Debug", "Release" } 7platforms { "x64", "Linux-x64" } 8location "../build" 9filename ("VulkanSample_" .. _SUFFIX) 10startproject "VulkanSample" 11 12filter "platforms:x64" 13system "Windows" 14architecture "x64" 15includedirs { "$(VULKAN_SDK)/Include" } 16libdirs { "$(VULKAN_SDK)/Lib" } 17 18filter "platforms:Linux-x64" 19system "Linux" 20architecture "x64" 21includedirs { "$(VULKAN_SDK)/include" } 22libdirs { "$(VULKAN_SDK)/lib" } 23 24 25project "VulkanSample" 26kind "ConsoleApp" 27language "C++" 28location "../build" 29filename ("VulkanSample_" .. _SUFFIX) 30targetdir "../bin" 31objdir "../build/Desktop_%{_SUFFIX}/%{cfg.platform}/%{cfg.buildcfg}" 32floatingpoint "Fast" 33files { "../src/*.h", "../src/*.cpp" } 34flags { "NoPCH", "FatalWarnings" } 35characterset "Unicode" 36 37filter "configurations:Debug" 38defines { "_DEBUG", "DEBUG" } 39flags { } 40targetsuffix ("_Debug_" .. _SUFFIX) 41 42filter "configurations:Release" 43defines { "NDEBUG" } 44optimize "On" 45flags { "LinkTimeOptimization" } 46targetsuffix ("_Release_" .. _SUFFIX) 47 48filter { "platforms:x64" } 49defines { "WIN32", "_CONSOLE", "PROFILE", "_WINDOWS", "_WIN32_WINNT=0x0601" } 50links { "vulkan-1" } 51 52filter { "platforms:Linux-x64" } 53buildoptions { "-std=c++0x" } 54links { "vulkan" } 55 56filter { "configurations:Debug", "platforms:x64" } 57buildoptions { "/MDd" } 58 59filter { "configurations:Release", "platforms:Windows-x64" } 60buildoptions { "/MD" } 61 62 63project "VmaReplay" 64removeplatforms { "Linux-x64" } 65kind "ConsoleApp" 66language "C++" 67location "../build" 68filename ("VmaReplay_" .. _SUFFIX) 69targetdir "../bin" 70objdir "../build/Desktop_%{_SUFFIX}/%{cfg.platform}/%{cfg.buildcfg}" 71floatingpoint "Fast" 72files { "../src/VmaReplay/*.h", "../src/VmaReplay/*.cpp" } 73flags { "NoPCH", "FatalWarnings" } 74characterset "Default" 75 76filter "configurations:Debug" 77defines { "_DEBUG", "DEBUG" } 78flags { } 79targetsuffix ("_Debug_" .. _SUFFIX) 80 81filter "configurations:Release" 82defines { "NDEBUG" } 83optimize "On" 84flags { "LinkTimeOptimization" } 85targetsuffix ("_Release_" .. _SUFFIX) 86 87filter { "platforms:x64" } 88defines { "WIN32", "_CONSOLE", "PROFILE", "_WINDOWS", "_WIN32_WINNT=0x0601" } 89links { "vulkan-1" } 90 91filter { "platforms:Linux-x64" } 92buildoptions { "-std=c++0x" } 93links { "vulkan" } 94 95filter { "configurations:Debug", "platforms:x64" } 96buildoptions { "/MDd" } 97 98filter { "configurations:Release", "platforms:Windows-x64" } 99buildoptions { "/MD" } 100