require "ecc/ecc" workspace "fake-mario" architecture "x64" configurations { "debug", "release" } local outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}" local vs_intdir = "$(SolutionDir)intermediate-files/" .. outputdir local intdir = "%{wks.location}/intermediate-files/" .. outputdir local vs_bindir = "$(SolutionDir)bin/" .. outputdir local bindir = "%{wks.location}/bin/" .. outputdir --local linuxlibdir = local vs_libreldir = "$(SolutionDir)vendor/SFML/lib/MinSizeRel" local libreldir = "%{wks.location}/vendor/SFML/lib/MinSizeRel" local vs_libdebugdir = "$(SolutionDir)vendor/SFML/lib/Debug" local libdebugdir = "%{wks.location}/vendor/SFML/lib/Debug" local vs_sfmldir = "$(SolutionDir)vendor/SFML" local sfmldir = "%{wks.location}/vendor/SFML" local vs_imguidir = "$(SolutionDir)vendor/imgui" local imguidir = "%{wks.location}/vendor/imgui" local vs_includedir = "$(SolutionDir)include" local includedir = "%{wks.location}/include" project "fake-mario" cppdialect "C++17" language "C++" files { "src/**.cpp", "include/**.h", "include/**.hpp", "vendor/imgui/imgui.cpp", "vendor/imgui/imgui_draw.cpp", "vendor/imgui/imgui_tables.cpp", "vendor/imgui/imgui_widgets.cpp", "vendor/imgui/imgui-SFML.cpp" } --visual studio-- filter {"action:vs*", "system:windows"} targetdir (vs_bindir) objdir (vs_intdir) staticruntime "on" includedirs { vs_includedir, vs_sfmldir .. "/include", vs_imguidir } filter {"action:vs*", "system:windows", "configurations:debug"} libdirs {vs_libdebugdir} filter {"action:vs*", "system:windows", "configurations:release"} libdirs {vs_libreldir} --not visual studio on windows-- filter {"not action:vs*", "system:windows"} targetdir (bindir) objdir (intdir) includedirs { includedir, imguidir } filter {"not action:vs*", "system:windows", "configurations:debug"} libdirs {libdebugdir} filter {"not action:vs*", "system:windows", "configurations:release"} libdirs {libreldir} --platform specific settings-- filter{"system:windows"} systemversion "latest" defines "SFML_STATIC" defines "PLATFORM_WINDOWS" filter {"system:windows", "configurations:debug"} kind "ConsoleApp" defines{"_DEBUG", "_CONSOLE"} runtime "Debug" links { "sfml-graphics-s-d", "sfml-window-s-d", "opengl32", "gdi32", "freetyped", "sfml-audio-s-d", "flacd", "vorbisencd", "vorbisfiled", "vorbisd", "oggd", "sfml-network-s-d", "ws2_32", "sfml-system-s-d", "winmm" } filter {"system:windows", "configurations:release"} kind "WindowedApp" optimize "Speed" inlining "Auto" entrypoint "mainCRTStartup" defines{"NDEBUG"} runtime "Release" links { "sfml-graphics-s", "sfml-window-s", "opengl32", "gdi32", "freetype", "sfml-audio-s", "flac", "vorbisenc", "vorbisfile", "vorbis", "ogg", "sfml-network-s", "ws2_32", "sfml-system-s", "winmm" } filter {"system:linux"} targetdir (bindir) objdir (intdir) includedirs { includedir, sfmldir .. "/include", imguidir } systemversion "latest" defines "PLATFORM_LINUX" links { "sfml-graphics", "sfml-window", "sfml-audio", "sfml-network", "sfml-system", "OpenGL", } filter {"system:linux" , "configurations:debug"} kind "ConsoleApp" symbols "on" runtime "Debug" filter {"system:linux" , "configurations:release"} kind "WindowedApp" optimize "Speed" inlining "Auto" entrypoint "mainCRTStartup" symbols "off" runtime "Release"