A modular and tiny C++20 powered library collection of random stuff I've needed for other projects.
## Installation & Integration ### 1. Requirements * **Compiler**: A C++20 compliant compiler. * **Build System**: CMake 4.1.0 or higher. ### 2. Integration via CMake #### Option A: Using FetchContent (Recommended) You can pull the library directly into your project from the git repository. Add this to your CMakeLists.txt: ```cmake include(FetchContent) FetchContent_Declare( seallib GIT_REPOSITORY https://git.neru.rip/neru/seallib.git GIT_TAG main # or a specific commit hash ) # Enable the modules you want before making it available set(SEALLIB_LOG ON) set(SEALLIB_ASSERT OFF) FetchContent_MakeAvailable(seallib) target_link_libraries(your_project PRIVATE seallib) ``` #### Option B: Local Path If you have the library downloaded locally: ```cmake # Enable the modules you want before adding it set(SEALLIB_LOG ON) set(SEALLIB_ASSERT OFF) add_subdirectory(path/to/seallib) target_link_libraries(your_project PRIVATE seallib) ``` --- ## Build Options | Option | Description | Default | | :--- | :--- | :--- | | SEALLIB_ASSERT | Enable Assertion utility | OFF | | SEALLIB_EVENTS | Enable Event Dispatcher | OFF | | SEALLIB_LOG | Enable Logging Framework | OFF | | SEALLIB_VFS | Enable Virtual File System | OFF | | SEALLIB_TEST | Build the test project | OFF | --- ## Module Instructions ### 1. Logging The Log module uses a Sink architecture. You create a Logger, attach an ILogSink, and log messages using std::format syntax. ```C++ #include