120 lines
3.4 KiB
Lua
120 lines
3.4 KiB
Lua
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" |