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(FILES OxConfig.cmake DESTINATION lib/cmake/ox)
install(
DIRECTORY
include/ox
DESTINATION
include
)
if(OX_USE_STDLIB) if(OX_USE_STDLIB)
set(JSONCPP_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/jsoncpp/include") set(JSONCPP_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/deps/jsoncpp/include")
add_subdirectory(deps/jsoncpp) 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( add_library(
OxClArgs OxClArgs
clargs.cpp src/clargs.cpp
) )
set_property( set_property(
@@ -27,11 +27,16 @@ target_link_libraries(
OxStd OxStd
) )
target_include_directories(
OxClArgs PUBLIC
include
)
install( install(
FILES DIRECTORY
clargs.hpp include/ox
DESTINATION DESTINATION
include/ox/clargs include
) )
install( install(
@@ -7,7 +7,7 @@
*/ */
#include <ox/std/string.hpp> #include <ox/std/string.hpp>
#include "clargs.hpp" #include <ox/clargs/clargs.hpp>
namespace ox { namespace ox {
@@ -1,8 +1,8 @@
add_library( add_library(
OxClaw OxClaw
read.cpp src/read.cpp
write.cpp src/write.cpp
) )
if(NOT MSVC) if(NOT MSVC)
@@ -27,9 +27,22 @@ target_link_libraries(
# ) # )
#endif() #endif()
install(TARGETS OxClaw target_include_directories(
LIBRARY DESTINATION lib OxClaw PUBLIC
ARCHIVE DESTINATION lib include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
) )
if(OX_RUN_TESTS) if(OX_RUN_TESTS)
@@ -8,7 +8,7 @@
#include <ox/std/buffer.hpp> #include <ox/std/buffer.hpp>
#include "read.hpp" #include <ox/claw/read.hpp>
namespace ox { namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "write.hpp" #include <ox/claw/write.hpp>
namespace ox::detail { 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/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "signal.hpp" #include <ox/event/signal.hpp>
namespace ox { namespace ox {
@@ -5,14 +5,12 @@ endif()
add_library( add_library(
OxFS OxFS
ptrarith/nodebuffer.hpp src/filestore/filestoretemplate.cpp
ptrarith/ptr.hpp src/filesystem/filelocation.cpp
filestore/filestoretemplate.cpp src/filesystem/pathiterator.cpp
filesystem/filelocation.cpp src/filesystem/directory.cpp
filesystem/pathiterator.cpp src/filesystem/filesystem.cpp
filesystem/directory.cpp src/filesystem/passthroughfs.cpp
filesystem/filesystem.cpp
filesystem/passthroughfs.cpp
) )
if(NOT MSVC) if(NOT MSVC)
@@ -33,10 +31,22 @@ target_link_libraries(
OxMetalClaw OxMetalClaw
) )
target_include_directories(
OxFS PUBLIC
include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
if(NOT OX_BARE_METAL) if(NOT OX_BARE_METAL)
add_executable( add_executable(
oxfs-tool oxfs-tool
tool.cpp src/tool.cpp
) )
target_link_libraries( target_link_libraries(
@@ -52,29 +62,6 @@ if(NOT OX_BARE_METAL)
) )
endif() 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( install(
TARGETS TARGETS
OxFS OxFS
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "filestoretemplate.hpp" #include <ox/fs/filestore/filestoretemplate.hpp>
namespace ox { namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "directory.hpp" #include <ox/fs/filesystem/directory.hpp>
namespace ox { namespace ox {
@@ -8,7 +8,7 @@
#include <ox/model/modelops.hpp> #include <ox/model/modelops.hpp>
#include "filelocation.hpp" #include <ox/fs/filesystem/filelocation.hpp>
namespace ox { namespace ox {
@@ -9,7 +9,7 @@
#include <ox/std/error.hpp> #include <ox/std/error.hpp>
#include <ox/std/utility.hpp> #include <ox/std/utility.hpp>
#include "filesystem.hpp" #include <ox/fs/filesystem/filesystem.hpp>
namespace ox { namespace ox {
@@ -8,7 +8,7 @@
#include <ox/std/error.hpp> #include <ox/std/error.hpp>
#include "passthroughfs.hpp" #include <ox/fs/filesystem/passthroughfs.hpp>
#if defined(OX_HAS_PASSTHROUGHFS) #if defined(OX_HAS_PASSTHROUGHFS)
@@ -9,7 +9,7 @@
#include <ox/std/memops.hpp> #include <ox/std/memops.hpp>
#include <ox/std/strops.hpp> #include <ox/std/strops.hpp>
#include <ox/std/trace.hpp> #include <ox/std/trace.hpp>
#include "pathiterator.hpp" #include <ox/fs/filesystem/pathiterator.hpp>
OX_CLANG_NOWARN_BEGIN(-Wunsafe-buffer-usage) OX_CLANG_NOWARN_BEGIN(-Wunsafe-buffer-usage)
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
add_library( add_library(
OxLogConn OxLogConn
logconn.cpp src/logconn.cpp
) )
set_property( set_property(
@@ -24,12 +24,16 @@ target_link_libraries(
$<$<BOOL:${OX_OS_WINDOWS}>:ws2_32> $<$<BOOL:${OX_OS_WINDOWS}>:ws2_32>
) )
target_include_directories(
OxLogConn PUBLIC
include
)
install( install(
FILES DIRECTORY
circularbuff.hpp include/ox
logconn.hpp
DESTINATION DESTINATION
include/ox/logconn include
) )
install( install(
@@ -23,7 +23,7 @@
#endif #endif
#include "logconn.hpp" #include <ox/logconn/logconn.hpp>
namespace ox { namespace ox {
@@ -1,7 +1,7 @@
add_library( add_library(
OxMetalClaw OxMetalClaw
read.cpp src/read.cpp
write.cpp src/write.cpp
) )
if(NOT MSVC) if(NOT MSVC)
@@ -24,22 +24,22 @@ if(NOT OX_BARE_METAL)
) )
endif() endif()
install( target_include_directories(
FILES OxMetalClaw PUBLIC
intops.hpp include
err.hpp
mc.hpp
presenceindicator.hpp
read.hpp
types.hpp
write.hpp
DESTINATION
include/ox/mc
) )
install(TARGETS OxMetalClaw install(
LIBRARY DESTINATION lib DIRECTORY
ARCHIVE DESTINATION lib include/ox
DESTINATION
include
)
install(
TARGETS OxMetalClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
) )
if(OX_RUN_TESTS) if(OX_RUN_TESTS)
+1 -1
View File
@@ -10,7 +10,7 @@
#include <ox/std/buffer.hpp> #include <ox/std/buffer.hpp>
#include <ox/std/reader.hpp> #include <ox/std/reader.hpp>
#include "read.hpp" #include <ox/mc/read.hpp>
namespace ox { namespace ox {
@@ -11,7 +11,7 @@
#include <ox/std/memops.hpp> #include <ox/std/memops.hpp>
#include <ox/std/trace.hpp> #include <ox/std/trace.hpp>
#include "write.hpp" #include <ox/mc/write.hpp>
namespace ox { 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/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "desctypes.hpp" #include <ox/model/desctypes.hpp>
namespace ox { namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "descwrite.hpp" #include <ox/model/descwrite.hpp>
namespace ox { namespace ox {
@@ -8,7 +8,7 @@
#include <ox/std/hashmap.hpp> #include <ox/std/hashmap.hpp>
#include "modelvalue.hpp" #include <ox/model/modelvalue.hpp>
namespace ox { namespace ox {
@@ -1,7 +1,7 @@
add_library( add_library(
OxOrganicClaw OxOrganicClaw
read.cpp src/read.cpp
write.cpp src/write.cpp
) )
if(NOT MSVC) if(NOT MSVC)
@@ -27,18 +27,22 @@ set_property(
POSITION_INDEPENDENT_CODE ON POSITION_INDEPENDENT_CODE ON
) )
install( target_include_directories(
FILES OxOrganicClaw PUBLIC
oc.hpp include
read.hpp
write.hpp
DESTINATION
include/ox/oc
) )
install(TARGETS OxOrganicClaw install(
LIBRARY DESTINATION lib DIRECTORY
ARCHIVE DESTINATION lib include/ox
DESTINATION
include
)
install(
TARGETS OxOrganicClaw
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
) )
if(OX_RUN_TESTS) if(OX_RUN_TESTS)
+1 -1
View File
@@ -9,7 +9,7 @@
#include <ox/std/bit.hpp> #include <ox/std/bit.hpp>
#include <utility> #include <utility>
#include "read.hpp" #include <ox/oc/read.hpp>
namespace ox { namespace ox {
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "write.hpp" #include <ox/oc/write.hpp>
namespace ox { 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( add_library(
OxPreloader OxPreloader
preloader.cpp src/preloader.cpp
) )
if(NOT MSVC) if(NOT MSVC)
@@ -16,14 +16,16 @@ target_link_libraries(
OxStd OxStd
) )
target_include_directories(
OxPreloader PUBLIC
include
)
install( install(
FILES DIRECTORY
alignmentcatcher.hpp include/ox
platspecs.hpp
preloader.hpp
unionsizecatcher.hpp
DESTINATION DESTINATION
include/nostalgia/preloader include
) )
install( install(
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/ */
#include "preloader.hpp" #include <ox/preloader/preloader.hpp>
namespace ox { namespace ox {
@@ -7,12 +7,12 @@ endif()
if(OX_USE_STDLIB AND OX_ENABLE_TRACEHOOK) if(OX_USE_STDLIB AND OX_ENABLE_TRACEHOOK)
add_library( add_library(
OxTraceHook SHARED OxTraceHook SHARED
tracehook.cpp src/tracehook.cpp
) )
else() else()
add_library( add_library(
OxTraceHook OxTraceHook
tracehook.cpp src/tracehook.cpp
) )
endif() endif()
@@ -25,28 +25,28 @@ target_compile_definitions(
add_library( add_library(
OxStd OxStd
assert.cpp src/assert.cpp
bit.cpp src/bit.cpp
buffer.cpp src/buffer.cpp
buildinfo.cpp src/buildinfo.cpp
byteswap.cpp src/byteswap.cpp
concepts.cpp src/concepts.cpp
fmt.cpp src/fmt.cpp
heapmgr.cpp src/heapmgr.cpp
istreamreader.cpp src/istreamreader.cpp
math.cpp src/math.cpp
memops.cpp src/memops.cpp
random.cpp src/random.cpp
reader.cpp src/reader.cpp
substitutes.cpp src/substitutes.cpp
stacktrace.cpp src/stacktrace.cpp
string.cpp src/string.cpp
stringview.cpp src/stringview.cpp
strops.cpp src/strops.cpp
trace.cpp src/trace.cpp
typetraits.cpp src/typetraits.cpp
uuid.cpp src/uuid.cpp
vec.cpp src/vec.cpp
) )
if(NOT MSVC) if(NOT MSVC)
@@ -91,70 +91,27 @@ target_link_libraries(
CityHash CityHash
) )
install( target_include_directories(
FILES OxStd PUBLIC
algorithm.hpp include
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
) )
install(TARGETS OxStd OxTraceHook target_include_directories(
LIBRARY DESTINATION lib OxTraceHook PUBLIC
ARCHIVE DESTINATION lib include
)
install(
DIRECTORY
include/ox
DESTINATION
include
)
install(
TARGETS OxStd OxTraceHook
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
) )
if(OX_RUN_TESTS) if(OX_RUN_TESTS)

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