Compare commits
6 Commits
ea266da691
...
da6eb40966
Author | SHA1 | Date | |
---|---|---|---|
da6eb40966 | |||
ead3fd39c4 | |||
d2b77804ff | |||
df709ad391 | |||
020a3ec3f4 | |||
e5a7d8c0a9 |
@@ -62,6 +62,7 @@ if(NOT BUILDCORE_TARGET STREQUAL "gba")
|
|||||||
deps/imgui
|
deps/imgui
|
||||||
deps/imgui/backends
|
deps/imgui/backends
|
||||||
deps/nfde/src/include
|
deps/nfde/src/include
|
||||||
|
/usr/local/include
|
||||||
)
|
)
|
||||||
add_subdirectory(deps/glad)
|
add_subdirectory(deps/glad)
|
||||||
add_subdirectory(deps/glfw)
|
add_subdirectory(deps/glfw)
|
||||||
|
2
deps/glfw/src/CMakeLists.txt
vendored
2
deps/glfw/src/CMakeLists.txt
vendored
@@ -88,7 +88,7 @@ if (CMAKE_VERSION VERSION_LESS "3.16" AND APPLE)
|
|||||||
LANGUAGE C)
|
LANGUAGE C)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(glfw OBJECT ${glfw_SOURCES} ${glfw_HEADERS})
|
add_library(glfw ${glfw_SOURCES} ${glfw_HEADERS})
|
||||||
set_target_properties(glfw PROPERTIES
|
set_target_properties(glfw PROPERTIES
|
||||||
OUTPUT_NAME ${GLFW_LIB_NAME}
|
OUTPUT_NAME ${GLFW_LIB_NAME}
|
||||||
VERSION ${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}
|
VERSION ${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}
|
||||||
|
9
deps/nfde/src/CMakeLists.txt
vendored
9
deps/nfde/src/CMakeLists.txt
vendored
@@ -15,8 +15,7 @@ if(nfd_PLATFORM STREQUAL PLATFORM_LINUX)
|
|||||||
# for Linux, we support GTK3 and xdg-desktop-portal
|
# for Linux, we support GTK3 and xdg-desktop-portal
|
||||||
option(NFD_PORTAL "Use xdg-desktop-portal instead of GTK" OFF)
|
option(NFD_PORTAL "Use xdg-desktop-portal instead of GTK" OFF)
|
||||||
if(NOT NFD_PORTAL)
|
if(NOT NFD_PORTAL)
|
||||||
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
|
pkg_check_modules(GTK3 REQUIRED IMPORTED_TARGET gtk+-3.0)
|
||||||
message("Using GTK version: ${GTK3_VERSION}")
|
|
||||||
list(APPEND SOURCE_FILES nfd_gtk.cpp)
|
list(APPEND SOURCE_FILES nfd_gtk.cpp)
|
||||||
else()
|
else()
|
||||||
pkg_check_modules(DBUS REQUIRED dbus-1)
|
pkg_check_modules(DBUS REQUIRED dbus-1)
|
||||||
@@ -31,7 +30,7 @@ if(nfd_PLATFORM STREQUAL PLATFORM_MACOS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Define the library
|
# Define the library
|
||||||
add_library(${TARGET_NAME} OBJECT
|
add_library(${TARGET_NAME}
|
||||||
${SOURCE_FILES})
|
${SOURCE_FILES})
|
||||||
|
|
||||||
# Allow includes from include/
|
# Allow includes from include/
|
||||||
@@ -40,10 +39,8 @@ target_include_directories(${TARGET_NAME}
|
|||||||
|
|
||||||
if(nfd_PLATFORM STREQUAL PLATFORM_LINUX)
|
if(nfd_PLATFORM STREQUAL PLATFORM_LINUX)
|
||||||
if(NOT NFD_PORTAL)
|
if(NOT NFD_PORTAL)
|
||||||
target_include_directories(${TARGET_NAME}
|
|
||||||
PRIVATE ${GTK3_INCLUDE_DIRS})
|
|
||||||
target_link_libraries(${TARGET_NAME}
|
target_link_libraries(${TARGET_NAME}
|
||||||
PRIVATE ${GTK3_LIBRARIES})
|
PRIVATE PkgConfig::GTK3)
|
||||||
else()
|
else()
|
||||||
target_include_directories(${TARGET_NAME}
|
target_include_directories(${TARGET_NAME}
|
||||||
PRIVATE ${DBUS_INCLUDE_DIRS})
|
PRIVATE ${DBUS_INCLUDE_DIRS})
|
||||||
|
3
deps/ox/src/ox/CMakeLists.txt
vendored
3
deps/ox/src/ox/CMakeLists.txt
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
set(OX_FREEBSD ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||||
|
set(OX_LINUX ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
|
|
||||||
if(OX_USE_STDLIB)
|
if(OX_USE_STDLIB)
|
||||||
add_subdirectory(oc)
|
add_subdirectory(oc)
|
||||||
endif()
|
endif()
|
||||||
|
2
deps/ox/src/ox/fs/CMakeLists.txt
vendored
2
deps/ox/src/ox/fs/CMakeLists.txt
vendored
@@ -16,7 +16,7 @@ if(NOT MSVC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT OX_BARE_METAL)
|
if(NOT OX_BARE_METAL)
|
||||||
if(NOT APPLE AND NOT MSVC)
|
if(NOT APPLE AND NOT MSVC AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
OxFS PUBLIC
|
OxFS PUBLIC
|
||||||
stdc++fs
|
stdc++fs
|
||||||
|
1
deps/ox/src/ox/logconn/CMakeLists.txt
vendored
1
deps/ox/src/ox/logconn/CMakeLists.txt
vendored
@@ -20,6 +20,7 @@ target_link_libraries(
|
|||||||
OxLogConn PUBLIC
|
OxLogConn PUBLIC
|
||||||
OxStd
|
OxStd
|
||||||
OxMetalClaw
|
OxMetalClaw
|
||||||
|
$<$<BOOL:OX_FREEBSD>:pthread>
|
||||||
)
|
)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
|
3
deps/ox/src/ox/std/CMakeLists.txt
vendored
3
deps/ox/src/ox/std/CMakeLists.txt
vendored
@@ -44,7 +44,7 @@ add_library(
|
|||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
target_compile_options(OxStd PRIVATE -Wsign-conversion)
|
target_compile_options(OxStd PRIVATE -Wsign-conversion)
|
||||||
target_compile_options(OxStd PRIVATE -Wconversion)
|
target_compile_options(OxStd PRIVATE -Wconversion)
|
||||||
if(UNIX AND NOT APPLE)
|
if(${OX_LINUX})
|
||||||
target_compile_options(OxStd PUBLIC -export-dynamic)
|
target_compile_options(OxStd PUBLIC -export-dynamic)
|
||||||
#target_link_options(OxStd PUBLIC -W1,-E)
|
#target_link_options(OxStd PUBLIC -W1,-E)
|
||||||
endif()
|
endif()
|
||||||
@@ -74,6 +74,7 @@ endif()
|
|||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
OxStd PUBLIC
|
OxStd PUBLIC
|
||||||
$<$<CXX_COMPILER_ID:GNU>:gcc>
|
$<$<CXX_COMPILER_ID:GNU>:gcc>
|
||||||
|
$<$<BOOL:${OX_FREEBSD}>:execinfo>
|
||||||
OxTraceHook
|
OxTraceHook
|
||||||
)
|
)
|
||||||
|
|
||||||
|
5
deps/ox/src/ox/std/new.hpp
vendored
5
deps/ox/src/ox/std/new.hpp
vendored
@@ -41,8 +41,11 @@ constexpr T *make(Args &&...args) noexcept {
|
|||||||
#ifdef __cpp_exceptions
|
#ifdef __cpp_exceptions
|
||||||
try {
|
try {
|
||||||
return new T(ox::forward<Args>(args)...);
|
return new T(ox::forward<Args>(args)...);
|
||||||
|
} catch (std::exception const&ex) {
|
||||||
|
oxPanic(OxError(1, ex.what()), ex.what());
|
||||||
|
return nullptr;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
oxPanic(OxError(1, "Allocation or constructor failed"), "Allocation or constructor failed");
|
oxPanic(OxError(2, "Allocation or constructor failed"), "Allocation or constructor failed");
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
15
deps/ox/src/ox/std/stacktrace.cpp
vendored
15
deps/ox/src/ox/std/stacktrace.cpp
vendored
@@ -18,6 +18,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "defines.hpp"
|
||||||
#include "string.hpp"
|
#include "string.hpp"
|
||||||
#include "trace.hpp"
|
#include "trace.hpp"
|
||||||
#include "vector.hpp"
|
#include "vector.hpp"
|
||||||
@@ -32,7 +33,12 @@ static auto symbolicate([[maybe_unused]]void **frames,
|
|||||||
using StrT = BasicString<100>;
|
using StrT = BasicString<100>;
|
||||||
Vector<StrT, 30> out;
|
Vector<StrT, 30> out;
|
||||||
#if __has_include(<cxxabi.h>) && __has_include(<execinfo.h>)
|
#if __has_include(<cxxabi.h>) && __has_include(<execinfo.h>)
|
||||||
const auto mangledSymbols = backtrace_symbols(frames, static_cast<int>(frameCnt));
|
#ifdef OX_OS_FreeBSD
|
||||||
|
using FrameCnt_t = unsigned;
|
||||||
|
#else
|
||||||
|
using FrameCnt_t = signed;
|
||||||
|
#endif
|
||||||
|
const auto mangledSymbols = backtrace_symbols(frames, static_cast<FrameCnt_t>(frameCnt));
|
||||||
for (auto i = 0u; i < frameCnt; ++i) {
|
for (auto i = 0u; i < frameCnt; ++i) {
|
||||||
Dl_info info;
|
Dl_info info;
|
||||||
if (dladdr(frames[i], &info) && info.dli_sname) {
|
if (dladdr(frames[i], &info) && info.dli_sname) {
|
||||||
@@ -55,7 +61,12 @@ void printStackTrace([[maybe_unused]]unsigned shave) noexcept {
|
|||||||
#if defined(OX_USE_STDLIB) && __has_include(<unistd.h>) && __has_include(<execinfo.h>)
|
#if defined(OX_USE_STDLIB) && __has_include(<unistd.h>) && __has_include(<execinfo.h>)
|
||||||
constexpr auto FrameCnt = 100;
|
constexpr auto FrameCnt = 100;
|
||||||
Vector<void*, FrameCnt> frames(FrameCnt);
|
Vector<void*, FrameCnt> frames(FrameCnt);
|
||||||
frames.resize(static_cast<std::size_t>(backtrace(frames.data(), static_cast<int>(frames.size()))));
|
#ifdef OX_OS_FreeBSD
|
||||||
|
using FrameCnt_t = unsigned;
|
||||||
|
#else
|
||||||
|
using FrameCnt_t = signed;
|
||||||
|
#endif
|
||||||
|
frames.resize(static_cast<std::size_t>(backtrace(frames.data(), static_cast<FrameCnt_t>(frames.size()))));
|
||||||
if (frames.size() - shave > 2) {
|
if (frames.size() - shave > 2) {
|
||||||
const auto symbolicatedStacktrace = symbolicate(frames.data() + shave, frames.size() - shave, "\t");
|
const auto symbolicatedStacktrace = symbolicate(frames.data() + shave, frames.size() - shave, "\t");
|
||||||
oxErr("Stacktrace:\n");
|
oxErr("Stacktrace:\n");
|
||||||
|
@@ -17,11 +17,7 @@ class StudioModule: public studio::Module {
|
|||||||
{
|
{
|
||||||
{FileExt_ng},
|
{FileExt_ng},
|
||||||
[ctx](ox::CRStringView path) -> ox::Result<studio::BaseEditor*> {
|
[ctx](ox::CRStringView path) -> ox::Result<studio::BaseEditor*> {
|
||||||
try {
|
return ox::makeCatch<TileSheetEditorImGui>(ctx, path);
|
||||||
return ox::make<TileSheetEditorImGui>(ctx, path);
|
|
||||||
} catch (const ox::Exception &ex) {
|
|
||||||
return ex.toError();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user