update editor

This commit is contained in:
ouczbs 2024-11-27 22:33:09 +08:00
parent 42bd8b06b5
commit 546e7c5c5f
8 changed files with 56 additions and 12 deletions

View File

@ -1,3 +1,4 @@
add_requires("spdlog", "lemon", "libsdl", "vulkansdk","shaderc","spirv","spirv-cross")
add_requires("mimalloc", {configs = {shared = true, debug = true}})
add_requires("mimalloc", {configs = {shared = true, debug = true, copy = true}})
add_requires("imgui",{configs = { shared = false, debug = true, copy = true}})
includes("*/xmake.lua")

View File

@ -1,2 +0,0 @@
#pragma once
EDITOR_API extern int editor_v;

View File

@ -0,0 +1,12 @@
#pragma once
#include "module/module.h"
namespace api {
class EDITOR_API EditorModule : public api::IDynamicModule
{
public:
void OnLoad(int argc, char** argv) override;
void OnUnload() override;
void InitMetaData(void) override {};
};
IMPLEMENT_DYNAMIC_MODULE(EDITOR_API, EditorModule, editor)
}

View File

@ -1,2 +0,0 @@
#include "editor/api.h"
int editor_v;

View File

@ -0,0 +1,14 @@
#include "editor/editor.h"
#include "imgui.h"
namespace api {
void EditorModule::OnLoad(int argc, char** argv)
{
IMGUI_CHECKVERSION();
ImGui::CreateContext();
}
void EditorModule::OnUnload()
{
}
}

View File

@ -1,10 +1,3 @@
target("editor")
set_kind("shared")
set_group("Engine")
add_rules("engine.api")
add_headerfiles("include/editor/*.h")
add_includedirs("include")
add_files("src/editor/*.cpp")
target("engine")
add_defines("ENGINE_ROOT="..os.curdir():gsub("\\", "\\\\"),{public = false})
add_headerfiles("include/*.natvis")
@ -13,6 +6,15 @@ target("engine")
set_group("Engine")
add_rules("engine.api")
add_files("src/engine/*.cpp")
target("editor")
set_kind("shared")
set_group("Engine")
add_rules("engine.api")
add_headerfiles("include/editor/*.h")
add_includedirs("include")
add_files("src/editor/*.cpp")
add_packages("imgui",{public = true})
add_deps("engine",{public = true})
includes("xmake/xmake.lua")
includes("3rdparty/xmake.lua")
includes("tools/xmake.lua")

View File

@ -0,0 +1,15 @@
import("core.project.project")
function main(target)
for _, pkg in pairs(target:pkgs()) do
if pkg:requireconf("configs","copy") then
local link = pkg:get("links")
local targetdir = target:targetdir()
link = link[1] or link
if link and not os.isfile(path.join(targetdir, link .. ".lib")) then
local linkdirs = pkg:get("linkdirs")
os.trycp(linkdirs.."/*", targetdir)
print("copy",linkdirs, targetdir)
end
end
end
end

View File

@ -3,3 +3,7 @@ rule("engine.api")
import("rule_api")
rule_api(target)
end)
on_load(function (target)
import("package_api")
package_api(target)
end)