Merge commit '537af25e615db05aeebe41fbb6407ab3350f1e74'

This commit is contained in:
2026-05-06 01:07:44 -05:00
192 changed files with 339 additions and 359 deletions
+7
View File
@@ -78,6 +78,13 @@ include_directories(src)
install(FILES OxConfig.cmake DESTINATION lib/cmake/ox)
install(
DIRECTORY
include/ox
DESTINATION
include
)
if(OX_USE_STDLIB)
set(JSONCPP_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/jsoncpp/include")
add_subdirectory(deps/jsoncpp)
+27 -1
View File
@@ -1 +1,27 @@
add_subdirectory(ox)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set(OX_OS_WINDOWS TRUE)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set(OX_OS_FREEBSD TRUE)
else()
set(OX_OS_FREEBSD FALSE)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(OX_OS_LINUX TRUE)
else()
set(OX_OS_LINUX FALSE)
endif()
if(OX_USE_STDLIB)
add_subdirectory(oc)
endif()
add_subdirectory(clargs)
add_subdirectory(claw)
add_subdirectory(event)
add_subdirectory(fs)
add_subdirectory(logconn)
add_subdirectory(mc)
add_subdirectory(model)
add_subdirectory(preloader)
add_subdirectory(std)
@@ -7,7 +7,7 @@ endif()
add_library(
OxClArgs
clargs.cpp
src/clargs.cpp
)
set_property(
@@ -27,11 +27,16 @@ target_link_libraries(
OxStd
)
target_include_directories(
OxClArgs PUBLIC
include
)
install(
FILES
clargs.hpp
DIRECTORY
include/ox
DESTINATION
include/ox/clargs
include
)
install(
@@ -7,7 +7,7 @@
*/
#include <ox/std/string.hpp>
#include "clargs.hpp"
#include <ox/clargs/clargs.hpp>
namespace ox {
@@ -1,8 +1,8 @@
add_library(
OxClaw
read.cpp
write.cpp
src/read.cpp
src/write.cpp
)
if(NOT MSVC)
@@ -27,9 +27,22 @@ target_link_libraries(
# )
#endif()
install(TARGETS OxClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
target_include_directories(
OxClaw PUBLIC
include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
@@ -8,7 +8,7 @@
#include <ox/std/buffer.hpp>
#include "read.hpp"
#include <ox/claw/read.hpp>
namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "write.hpp"
#include <ox/claw/write.hpp>
namespace ox::detail {
+51
View File
@@ -0,0 +1,51 @@
add_library(
OxEvent
src/signal.cpp
)
if(NOT MSVC)
target_compile_options(OxEvent PRIVATE -Wsign-conversion)
target_compile_options(OxEvent PRIVATE -Wconversion)
endif()
if(NOT OX_BARE_METAL)
set_property(
TARGET
OxEvent
PROPERTY
POSITION_INDEPENDENT_CODE ON
)
endif()
target_compile_definitions(
OxEvent PUBLIC
$<$<BOOL:${OX_USE_STDLIB}>:OX_USE_STDLIB>
$<$<BOOL:${OX_NODEBUG}>:OX_NODEBUG>
)
target_link_libraries(
OxEvent PUBLIC
OxStd
)
target_include_directories(
OxEvent PUBLIC
include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxEvent
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
add_subdirectory(test)
endif()
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "signal.hpp"
#include <ox/event/signal.hpp>
namespace ox {
@@ -5,14 +5,12 @@ endif()
add_library(
OxFS
ptrarith/nodebuffer.hpp
ptrarith/ptr.hpp
filestore/filestoretemplate.cpp
filesystem/filelocation.cpp
filesystem/pathiterator.cpp
filesystem/directory.cpp
filesystem/filesystem.cpp
filesystem/passthroughfs.cpp
src/filestore/filestoretemplate.cpp
src/filesystem/filelocation.cpp
src/filesystem/pathiterator.cpp
src/filesystem/directory.cpp
src/filesystem/filesystem.cpp
src/filesystem/passthroughfs.cpp
)
if(NOT MSVC)
@@ -33,10 +31,22 @@ target_link_libraries(
OxMetalClaw
)
target_include_directories(
OxFS PUBLIC
include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
if(NOT OX_BARE_METAL)
add_executable(
oxfs-tool
tool.cpp
src/tool.cpp
)
target_link_libraries(
@@ -52,29 +62,6 @@ if(NOT OX_BARE_METAL)
)
endif()
install(
FILES
filestore/filestoretemplate.hpp
DESTINATION
include/ox/fs/filestore
)
install(
FILES
filesystem/filesystem.hpp
filesystem/pathiterator.hpp
DESTINATION
include/ox/fs/filesystem
)
install(
FILES
ptrarith/nodebuffer.hpp
ptrarith/ptr.hpp
DESTINATION
include/ox/fs/ptrarith
)
install(
TARGETS
OxFS
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "filestoretemplate.hpp"
#include <ox/fs/filestore/filestoretemplate.hpp>
namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "directory.hpp"
#include <ox/fs/filesystem/directory.hpp>
namespace ox {
@@ -8,7 +8,7 @@
#include <ox/model/modelops.hpp>
#include "filelocation.hpp"
#include <ox/fs/filesystem/filelocation.hpp>
namespace ox {
@@ -9,7 +9,7 @@
#include <ox/std/error.hpp>
#include <ox/std/utility.hpp>
#include "filesystem.hpp"
#include <ox/fs/filesystem/filesystem.hpp>
namespace ox {
@@ -8,7 +8,7 @@
#include <ox/std/error.hpp>
#include "passthroughfs.hpp"
#include <ox/fs/filesystem/passthroughfs.hpp>
#if defined(OX_HAS_PASSTHROUGHFS)
@@ -9,7 +9,7 @@
#include <ox/std/memops.hpp>
#include <ox/std/strops.hpp>
#include <ox/std/trace.hpp>
#include "pathiterator.hpp"
#include <ox/fs/filesystem/pathiterator.hpp>
OX_CLANG_NOWARN_BEGIN(-Wunsafe-buffer-usage)
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
add_library(
OxLogConn
logconn.cpp
src/logconn.cpp
)
set_property(
@@ -24,12 +24,16 @@ target_link_libraries(
$<$<BOOL:${OX_OS_WINDOWS}>:ws2_32>
)
target_include_directories(
OxLogConn PUBLIC
include
)
install(
FILES
circularbuff.hpp
logconn.hpp
DIRECTORY
include/ox
DESTINATION
include/ox/logconn
include
)
install(
@@ -23,7 +23,7 @@
#endif
#include "logconn.hpp"
#include <ox/logconn/logconn.hpp>
namespace ox {
@@ -1,7 +1,7 @@
add_library(
OxMetalClaw
read.cpp
write.cpp
src/read.cpp
src/write.cpp
)
if(NOT MSVC)
@@ -24,22 +24,22 @@ if(NOT OX_BARE_METAL)
)
endif()
install(
FILES
intops.hpp
err.hpp
mc.hpp
presenceindicator.hpp
read.hpp
types.hpp
write.hpp
DESTINATION
include/ox/mc
target_include_directories(
OxMetalClaw PUBLIC
include
)
install(TARGETS OxMetalClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxMetalClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
+1 -1
View File
@@ -10,7 +10,7 @@
#include <ox/std/buffer.hpp>
#include <ox/std/reader.hpp>
#include "read.hpp"
#include <ox/mc/read.hpp>
namespace ox {
@@ -11,7 +11,7 @@
#include <ox/std/memops.hpp>
#include <ox/std/trace.hpp>
#include "write.hpp"
#include <ox/mc/write.hpp>
namespace ox {
+45
View File
@@ -0,0 +1,45 @@
add_library(
OxModel
src/desctypes.cpp
src/descwrite.cpp
src/modelvalue.cpp
)
if(NOT MSVC)
target_compile_options(OxModel PRIVATE -Wconversion)
target_compile_options(OxModel PRIVATE -Wsign-conversion)
endif()
target_link_libraries(
OxModel PUBLIC
OxStd
)
if(NOT OX_BARE_METAL)
set_property(
TARGET
OxModel
PROPERTY
POSITION_INDEPENDENT_CODE ON
)
endif()
target_link_libraries(
OxModel PUBLIC
OxStd
)
target_include_directories(
OxModel PUBLIC
include
)
install(
TARGETS OxModel
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
add_subdirectory(test)
endif()
@@ -0,0 +1,7 @@
<Type> : <TypeName><FieldList>
<FieldList> : <FieldList> | <FieldList><Field>
<Field> : <FieldType><TypeID><FieldName>
<TypeID> : <TypeName> | <TypeName><Type>
<TypeName> : <string>
<FieldType> : <0: single> | <1: list>
<FieldName> : <string>
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "desctypes.hpp"
#include <ox/model/desctypes.hpp>
namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "descwrite.hpp"
#include <ox/model/descwrite.hpp>
namespace ox {
@@ -8,7 +8,7 @@
#include <ox/std/hashmap.hpp>
#include "modelvalue.hpp"
#include <ox/model/modelvalue.hpp>
namespace ox {
@@ -1,7 +1,7 @@
add_library(
OxOrganicClaw
read.cpp
write.cpp
src/read.cpp
src/write.cpp
)
if(NOT MSVC)
@@ -27,18 +27,22 @@ set_property(
POSITION_INDEPENDENT_CODE ON
)
install(
FILES
oc.hpp
read.hpp
write.hpp
DESTINATION
include/ox/oc
target_include_directories(
OxOrganicClaw PUBLIC
include
)
install(TARGETS OxOrganicClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxOrganicClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
+1 -1
View File
@@ -9,7 +9,7 @@
#include <ox/std/bit.hpp>
#include <utility>
#include "read.hpp"
#include <ox/oc/read.hpp>
namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "write.hpp"
#include <ox/oc/write.hpp>
namespace ox {
-27
View File
@@ -1,27 +0,0 @@
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set(OX_OS_WINDOWS TRUE)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set(OX_OS_FREEBSD TRUE)
else()
set(OX_OS_FREEBSD FALSE)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(OX_OS_LINUX TRUE)
else()
set(OX_OS_LINUX FALSE)
endif()
if(OX_USE_STDLIB)
add_subdirectory(oc)
endif()
add_subdirectory(clargs)
add_subdirectory(claw)
add_subdirectory(event)
add_subdirectory(fs)
add_subdirectory(logconn)
add_subdirectory(mc)
add_subdirectory(model)
add_subdirectory(preloader)
add_subdirectory(std)
-46
View File
@@ -1,46 +0,0 @@
add_library(
OxEvent
signal.cpp
)
if(NOT MSVC)
target_compile_options(OxEvent PRIVATE -Wsign-conversion)
target_compile_options(OxEvent PRIVATE -Wconversion)
endif()
if(NOT OX_BARE_METAL)
set_property(
TARGET
OxEvent
PROPERTY
POSITION_INDEPENDENT_CODE ON
)
endif()
target_compile_definitions(
OxEvent PUBLIC
$<$<BOOL:${OX_USE_STDLIB}>:OX_USE_STDLIB>
$<$<BOOL:${OX_NODEBUG}>:OX_NODEBUG>
)
target_link_libraries(
OxEvent PUBLIC
OxStd
)
install(
FILES
event.hpp
signal.hpp
DESTINATION
include/ox/event
)
install(TARGETS OxEvent
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
add_subdirectory(test)
endif()
-54
View File
@@ -1,54 +0,0 @@
add_library(
OxModel
desctypes.cpp
descwrite.cpp
modelvalue.cpp
)
if(NOT MSVC)
target_compile_options(OxModel PRIVATE -Wconversion)
target_compile_options(OxModel PRIVATE -Wsign-conversion)
endif()
target_link_libraries(
OxModel PUBLIC
OxStd
)
if(NOT OX_BARE_METAL)
set_property(
TARGET
OxModel
PROPERTY
POSITION_INDEPENDENT_CODE ON
)
endif()
install(
FILES
def.hpp
descread.hpp
desctypes.hpp
descwrite.hpp
optype.hpp
metadata.hpp
model.hpp
modelhandleradaptor.hpp
modelops.hpp
modelvalue.hpp
typenamecatcher.hpp
types.hpp
typestore.hpp
walk.hpp
DESTINATION
include/ox/model
)
install(TARGETS OxModel
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)
add_subdirectory(test)
endif()
@@ -1,7 +1,7 @@
add_library(
OxPreloader
preloader.cpp
src/preloader.cpp
)
if(NOT MSVC)
@@ -16,14 +16,16 @@ target_link_libraries(
OxStd
)
target_include_directories(
OxPreloader PUBLIC
include
)
install(
FILES
alignmentcatcher.hpp
platspecs.hpp
preloader.hpp
unionsizecatcher.hpp
DIRECTORY
include/ox
DESTINATION
include/nostalgia/preloader
include
)
install(
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "preloader.hpp"
#include <ox/preloader/preloader.hpp>
namespace ox {
@@ -7,12 +7,12 @@ endif()
if(OX_USE_STDLIB AND OX_ENABLE_TRACEHOOK)
add_library(
OxTraceHook SHARED
tracehook.cpp
src/tracehook.cpp
)
else()
add_library(
OxTraceHook
tracehook.cpp
src/tracehook.cpp
)
endif()
@@ -25,28 +25,28 @@ target_compile_definitions(
add_library(
OxStd
assert.cpp
bit.cpp
buffer.cpp
buildinfo.cpp
byteswap.cpp
concepts.cpp
fmt.cpp
heapmgr.cpp
istreamreader.cpp
math.cpp
memops.cpp
random.cpp
reader.cpp
substitutes.cpp
stacktrace.cpp
string.cpp
stringview.cpp
strops.cpp
trace.cpp
typetraits.cpp
uuid.cpp
vec.cpp
src/assert.cpp
src/bit.cpp
src/buffer.cpp
src/buildinfo.cpp
src/byteswap.cpp
src/concepts.cpp
src/fmt.cpp
src/heapmgr.cpp
src/istreamreader.cpp
src/math.cpp
src/memops.cpp
src/random.cpp
src/reader.cpp
src/substitutes.cpp
src/stacktrace.cpp
src/string.cpp
src/stringview.cpp
src/strops.cpp
src/trace.cpp
src/typetraits.cpp
src/uuid.cpp
src/vec.cpp
)
if(NOT MSVC)
@@ -91,70 +91,27 @@ target_link_libraries(
CityHash
)
install(
FILES
algorithm.hpp
array.hpp
assert.hpp
bit.hpp
bounds.hpp
istring.hpp
buffer.hpp
buildinfo.hpp
byteswap.hpp
concepts.hpp
conv.hpp
def.hpp
defer.hpp
defines.hpp
errhandling.hpp
error.hpp
fmt.hpp
hardware.hpp
hash.hpp
hashmap.hpp
heapmgr.hpp
ignore.hpp
iterator.hpp
math.hpp
maybeview.hpp
memops.hpp
memory.hpp
new.hpp
optional.hpp
pair.hpp
point.hpp
random.hpp
ranges.hpp
serialize.hpp
size.hpp
smallmap.hpp
stacktrace.hpp
std.hpp
stddef.hpp
string.hpp
stringliteral.hpp
stringview.hpp
strongint.hpp
strconv.hpp
stringparam.hpp
strops.hpp
trace.hpp
typeinfo.hpp
types.hpp
typetraits.hpp
units.hpp
uuid.hpp
vec.hpp
vector.hpp
writer.hpp
DESTINATION
include/ox/std
target_include_directories(
OxStd PUBLIC
include
)
install(TARGETS OxStd OxTraceHook
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
target_include_directories(
OxTraceHook PUBLIC
include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxStd OxTraceHook
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(OX_RUN_TESTS)

Some files were not shown because too many files have changed in this diff Show More