workspace "BarinkEngine" configurations { "Debug", "Test", "Release" } language "C++" cppdialect "C++17" targetdir "./build/%{prj.name}/%{cfg.buildcfg}" objdir "./intermediates/%{prj.name}/%{cfg.buildcfg}" project "SandboxApplication" kind "ConsoleApp" buildmessage "Building BarinkEngineSandbox ..." includedirs { "./libs/glad/include", "./MyGraphicsEngine/include" } libdirs{ "./libs/spdlog-1.9.1/build" } links{ "spdlog", "glfw3", "X11", "GL", "GLU", "pthread", "dl", "m", "MyGraphicsEngine" } files { "SandboxApplication/*.cpp" } -- NOTE: make these copy instructions more flexible ok, err = os.copyfile("MyGraphicsEngine/shaders/fragment.shader", "build/SandboxApplication/Debug/test.fs") if err then error("Copy fragment shader source failed!") end ok, err = os.copyfile("MyGraphicsEngine/shaders/vertex.shader", "build/SandboxApplication/Debug/test.vs") if err then error("Copy vertex shader source failed!") end project "MyGraphicsEngine" kind "StaticLib" buildmessage "Building MyGraphicsEngine ..." includedirs { "./libs/glad/include", "./libs/glfw-3.3.4/include", "./libs/glew-2.2.0/include", "./libs/spdlog-1.9.1/include", "./libs/glm/glm", "./MyGraphicsEngine/include" } libdirs{ "./libs/spdlog-1.9.1/build" } links { "libspdlog", "glfw3", "X11", "GL", "GLU", "pthread", "dl", "m" } files { "./libs/glad/src/glad.c", "MyGraphicsEngine/*.cpp" } filter "configurations:Debug" defines {"DEBUG"} symbols "On" filter "configurations:Release" defines {"NDEBUG"} optimize "On"