[nostalgia,olympic] Cleanup CMake
This commit is contained in:
@ -1,3 +1,18 @@
|
||||
if(BUILDCORE_TARGET STREQUAL "gba")
|
||||
project(Olympic ASM CXX)
|
||||
else()
|
||||
project(Olympic CXX)
|
||||
endif()
|
||||
|
||||
set(OLYMPIC_BUILD_STUDIO ON CACHE BOOL "Build Studio")
|
||||
|
||||
if(BUILDCORE_TARGET STREQUAL "gba")
|
||||
set(OLYMPIC_BUILD_STUDIO OFF)
|
||||
set(TURBINE_BUILD_TYPE "GBA")
|
||||
else()
|
||||
set(TURBINE_BUILD_TYPE "Native")
|
||||
endif()
|
||||
|
||||
add_subdirectory(applib)
|
||||
add_subdirectory(keel)
|
||||
add_subdirectory(turbine)
|
||||
|
@ -52,7 +52,7 @@ void NewMenu::draw(turbine::Context &ctx) noexcept {
|
||||
}
|
||||
}
|
||||
|
||||
void NewMenu::addItemMaker(ox::UniquePtr<studio::ItemMaker> im) noexcept {
|
||||
void NewMenu::addItemMaker(ox::UniquePtr<studio::ItemMaker> &&im) noexcept {
|
||||
m_types.emplace_back(std::move(im));
|
||||
std::sort(
|
||||
m_types.begin(), m_types.end(),
|
||||
|
@ -51,7 +51,7 @@ class NewMenu: public studio::Popup {
|
||||
template<typename T>
|
||||
void addItemType(ox::String name, ox::String parentDir, ox::String fileExt, ox::ClawFormat pFmt = ox::ClawFormat::Metal) noexcept;
|
||||
|
||||
void addItemMaker(ox::UniquePtr<studio::ItemMaker> im) noexcept;
|
||||
void addItemMaker(ox::UniquePtr<studio::ItemMaker> &&im) noexcept;
|
||||
|
||||
private:
|
||||
void drawNewItemType(turbine::Context &ctx) noexcept;
|
||||
|
@ -44,7 +44,7 @@ void ProjectExplorer::draw(turbine::Context &ctx) noexcept {
|
||||
ImGui::EndChild();
|
||||
}
|
||||
|
||||
void ProjectExplorer::setModel(ox::UPtr<ProjectTreeModel> model) noexcept {
|
||||
void ProjectExplorer::setModel(ox::UPtr<ProjectTreeModel> &&model) noexcept {
|
||||
m_treeModel = std::move(model);
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ class ProjectExplorer: public studio::Widget {
|
||||
|
||||
void draw(turbine::Context &ctx) noexcept override;
|
||||
|
||||
void setModel(ox::UPtr<ProjectTreeModel> model) noexcept;
|
||||
void setModel(ox::UPtr<ProjectTreeModel> &&model) noexcept;
|
||||
|
||||
ox::Error refreshProjectTreeModel(ox::CRStringView = {}) noexcept;
|
||||
|
||||
|
@ -44,7 +44,7 @@ void ProjectTreeModel::draw(turbine::Context &ctx) const noexcept {
|
||||
}
|
||||
}
|
||||
|
||||
void ProjectTreeModel::setChildren(ox::Vector<ox::UniquePtr<ProjectTreeModel>> children) noexcept {
|
||||
void ProjectTreeModel::setChildren(ox::Vector<ox::UPtr<ProjectTreeModel>> children) noexcept {
|
||||
m_children = std::move(children);
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@ class ProjectTreeModel {
|
||||
class ProjectExplorer &m_explorer;
|
||||
ProjectTreeModel *m_parent = nullptr;
|
||||
ox::String m_name;
|
||||
ox::Vector<ox::UniquePtr<ProjectTreeModel>> m_children;
|
||||
ox::Vector<ox::UPtr<ProjectTreeModel>> m_children;
|
||||
public:
|
||||
explicit ProjectTreeModel(class ProjectExplorer &explorer, ox::String name,
|
||||
ProjectTreeModel *parent = nullptr) noexcept;
|
||||
@ -25,7 +25,7 @@ class ProjectTreeModel {
|
||||
|
||||
void draw(turbine::Context &ctx) const noexcept;
|
||||
|
||||
void setChildren(ox::Vector<ox::UniquePtr<ProjectTreeModel>> children) noexcept;
|
||||
void setChildren(ox::Vector<ox::UPtr<ProjectTreeModel>> children) noexcept;
|
||||
|
||||
private:
|
||||
[[nodiscard]]
|
||||
|
@ -30,8 +30,8 @@ class ItemMaker {
|
||||
template<typename T>
|
||||
class ItemMakerT: public ItemMaker {
|
||||
private:
|
||||
T const item;
|
||||
ox::ClawFormat const fmt;
|
||||
T const m_item;
|
||||
ox::ClawFormat const m_fmt;
|
||||
public:
|
||||
constexpr ItemMakerT(
|
||||
ox::StringView pDisplayName,
|
||||
@ -39,7 +39,7 @@ class ItemMakerT: public ItemMaker {
|
||||
ox::StringView fileExt,
|
||||
ox::ClawFormat pFmt = ox::ClawFormat::Metal) noexcept:
|
||||
ItemMaker(pDisplayName, pParentDir, fileExt),
|
||||
fmt(pFmt) {
|
||||
m_fmt(pFmt) {
|
||||
}
|
||||
constexpr ItemMakerT(
|
||||
ox::StringView pDisplayName,
|
||||
@ -48,8 +48,8 @@ class ItemMakerT: public ItemMaker {
|
||||
T pItem,
|
||||
ox::ClawFormat pFmt) noexcept:
|
||||
ItemMaker(pDisplayName, pParentDir, fileExt),
|
||||
item(pItem),
|
||||
fmt(pFmt) {
|
||||
m_item(pItem),
|
||||
m_fmt(pFmt) {
|
||||
}
|
||||
constexpr ItemMakerT(
|
||||
ox::StringView pDisplayName,
|
||||
@ -58,14 +58,14 @@ class ItemMakerT: public ItemMaker {
|
||||
T &&pItem,
|
||||
ox::ClawFormat pFmt) noexcept:
|
||||
ItemMaker(pDisplayName, pParentDir, fileExt),
|
||||
item(std::move(pItem)),
|
||||
fmt(pFmt) {
|
||||
m_item(std::move(pItem)),
|
||||
m_fmt(pFmt) {
|
||||
}
|
||||
ox::Error write(turbine::Context &ctx, ox::CRStringView pName) const noexcept override {
|
||||
auto const path = ox::sfmt("/{}/{}.{}", parentDir, pName, fileExt);
|
||||
auto sctx = turbine::applicationData<studio::StudioContext>(ctx);
|
||||
keel::createUuidMapping(keelCtx(ctx), path, ox::UUID::generate().unwrap());
|
||||
return sctx->project->writeObj(path, item, fmt);
|
||||
return sctx->project->writeObj(path, m_item, m_fmt);
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user