2d-platformer/premake5.lua

131 lines
2.6 KiB
Lua

require "ecc/ecc"
workspace "fake-mario"
architecture "x64"
configurations
{
"debug",
"release"
}
outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"
sfmldir = "%{wks.location}/vendor/SFML-3.0.0"
imguidir = "%{wks.location}/vendor/imgui"
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"
}
filter "action:vs*"
targetdir ("$(SolutionDir)bin/" .. outputdir)
objdir ("$(SolutionDir)intermediate-files/" .. outputdir)
libdirs "$(SolutionDir)vendor/SFML-3.0.0/lib"
includedirs
{
"$(SolutionDir)include",
"$(SolutionDir)vendor/SFML-3.0.0/include",
"$(SolutionDir)vendor/imgui"
}
filter {"not action:vs*", "system:windows"}
targetdir ("%{wks.location}/bin/" .. outputdir)
objdir ("%{wks.location}/intermediate-files/" .. outputdir)
libdirs "%{wks.location}/vendor/SFML-3.0.0/lib"
includedirs
{
"%{wks.location}/include",
"%{wks.location}/vendor/imgui"
}
filter {"not action:vs*", "system:linux"}
targetdir ("%{wks.location}/bin/" .. outputdir)
objdir ("%{wks.location}/intermediate-files/" .. outputdir)
includedirs
{
"%{wks.location}/include",
"%{wks.location}/vendor/imgui"
}
--platform specific settings--
filter{"system:windows"}
defines "SFML_STATIC"
systemversion "latest"
defines "PLATFORM_WINDOWS"
filter {"system:windows", "configurations:debug"}
kind "ConsoleApp"
links
{
"sfml-graphics-s-d",
"sfml-window-s-d",
"opengl32",
"gdi32",
"freetype",
"sfml-audio-s-d",
"flac",
"vorbisenc",
"vorbisfile",
"vorbis",
"ogg",
"sfml-network-s-d",
"ws2_32",
"sfml-system-s-d",
"winmm"
}
filter {"system:windows", "configurations:release"}
kind "WindowedApp"
optimize "on"
entrypoint "mainCRTStartup"
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"}
systemversion "latest"
defines "PLATFORM_LINUX"
links
{
"sfml-graphics",
"sfml-window",
"sfml-audio",
"sfml-network",
"sfml-system",
"OpenGL"
}
filter {"system:linux" , "configurations:debug"}
kind "ConsoleApp"
filter {"system:linux" , "configurations:release"}
kind "WindowedApp"
optimize "on"
entrypoint "mainCRTStartup"