Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gullradriel/nilorea-library
C tools that are usable as a collection of .c .h or a shared library/dll
https://github.com/gullradriel/nilorea-library
allegro5 c hashtable library list network network-engine particles physics pthread socket
Last synced: about 16 hours ago
JSON representation
C tools that are usable as a collection of .c .h or a shared library/dll
- Host: GitHub
- URL: https://github.com/gullradriel/nilorea-library
- Owner: gullradriel
- Created: 2019-05-31T22:58:44.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-09-13T15:58:24.000Z (2 months ago)
- Last Synced: 2024-09-14T06:40:08.415Z (2 months ago)
- Topics: allegro5, c, hashtable, library, list, network, network-engine, particles, physics, pthread, socket
- Language: C
- Homepage: https://www.nilorea.net/api_nilorea/index.html
- Size: 2.1 MB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Nilorea C Library
## Features
- various helping macros and typedefs
- logging system
- strings
- hash tables
- linked lists
- thread pools
- network engine (with or without SSL)
- Kafka consumer / producer wrappers
- simple 2D/3D physics, particles,
- generic game/user managing system
- examples for each modules
- usable as a monolith library or a collection of files## Dependencies
Most of the core modules can be compiled without additional libraries. That said, you'll need the following dependencies installed if you want all the modules to compile:
- libpcre (install from your package manager)
- allegro5 (https://github.com/liballeg/allegro5) (install from your package manager)
- cjson (https://github.com/DaveGamble/cJSON) (included in submodules as we only need to get the .h and .c from it)
- librdkafka (https://github.com/confluentinc/librdkafka) (included in submodules as the system version may be too old in a lots of cases)
- nuklear (https://github.com/Immediate-Mode-UI/Nuklear) (WIP dialog manager, not used ATM, header only library)## Building
### Supported platforms
- Linux
- Solaris
- Windows### Prerequisites
- gcc, make
- doxygen and graphviz (if you want to regenerate the documentation)### Instructions
- ```cd my_prog_dir```
- ```git clone --recurse-submodule [email protected]:gullradriel/nilorea-library.git```
- ```cd nilorea-library```
- ```make ; make examples``` or ```make all```
### Regenerating the documentation
From the root directory:
- ```make doc```
or
- ```doxygen Doxyfile```### Compiling with extra dependencies
From the root directory:
- ```make download-dep``` => will launch a submodule update, compile latest librdkafka version
- ```make clean ; make all``` => restart a whole fresh compilation (lib + examples)