require "plugins/ecc" workspace "SakuraVNE" architecture "x64" startproject "SakuraVNE" configurations{ "Debug", "Release" } outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}" IncludeDir = {} IncludeDir["ImGui"] = "/libs/imgui" IncludeDir["ImGuiNodeEditor"] = "/libs/imgui-node-editor" IncludeDir["SDL3"] = "/libs/sdl3" IncludeDir["spdlog"] = "/libs/spdlog" include "libs/imgui" include "libs/imgui-node-editor" project "SakuraVNE" kind "ConsoleApp" language "C++" cppdialect "C++20" ignoredefaultlibraries { "MSVCRT" } targetdir ("build/bin/" .. outputdir .. "/%{prj.name}") objdir ("build/bin-int/" ..outputdir .. "/%{prj.name}") local root_path = os.getcwd():gsub("\\", "/") prebuildcommands { "echo ==== Building SDL3 via CMake ====", "cmake -E make_directory \"" .. root_path .. "/build/bin/" .. outputdir .. "/SDL3\"", "cmake -S libs/sdl3 -B \"" .. root_path .. "/build/bin-int/" .. outputdir .. "/SDL3\" -DCMAKE_BUILD_TYPE=Release " .. "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=\"" .. root_path .. "/build/bin/" .. outputdir .. "/SDL3\" " .. "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=\"" .. root_path .. "/build/bin/" .. outputdir .. "/SDL3\" " .. "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=\"" .. root_path .. "/build/bin/" .. outputdir .. "/SDL3\"", "cmake --build \"" .. root_path .. "/build/bin-int/" .. outputdir .. "/SDL3\" --config Release -j" } prebuildcommands{ "echo ==== Building spdlog via CMake ====", "cmake -E make_directory \"" .. root_path .. "/build/bin/" ..outputdir .. "/spdlog\"", "cmake -S libs/spdlog -B \"" .. root_path .. "/build/bin-int/" ..outputdir .. "/spdlog\" -DCMAKE_BUILD_TYPE=Release", "cmake --build \"" .. root_path .. "/build/bin-int/" ..outputdir .. "/spdlog\"", "cmake -E copy \"" .. root_path .. "/build/bin-int/" .. outputdir .. "/spdlog/\"libspdlog* \"" .. root_path .. "/build/bin/" .. outputdir .. "/spdlog/\"" } files{ "%{prj.name}/src/**.h", "%{prj.name}/src/**.cpp" } includedirs{ "%{prj.name}/src", "libs/spdlog/include", "libs/imgui", "libs/imgui/misc", "libs/imgui/backends", "libs/imgui-node-editor", "libs/sdl3/include" } libdirs{ "build/bin/" .. outputdir .. "/ImGui", "build/bin/" .. outputdir .. "/ImGuiNodeEditor", "build/bin/" .. outputdir .. "/SDL3", "build/bin/" .. outputdir .. "/spdlog" } links{ "ImGui", "ImGuiNodeEditor", "SDL3", "spdlog" } filter "system:windows" system "windows" cppdialect "C++20" staticruntime "off" runtime "Release" systemversion "latest" defines{ "PLATFORM_WINDOWS" } filter "system:linux" system "linux" cppdialect "C++20" staticruntime "off" runtime "Release" systemversion "latest" defines{ "PLATFORM_LINUX" } links { "dl", "pthread" } filter "configurations:Debug" defines "DEBUG" symbols "On" filter "configurations:Release" defines "RELEASE" optimize "On" symbols "off"