NibblePoker's Clang Goodies 1.0.0
Small collection of utilities and libraries for C in order to simplify some development tasks.
|
Small collection of utilities and libraries for C99 that aims to simplify some development tasks.
char
↔wchar_t
supportRequirements:
● CMake 3.13+
● Qt's Jom *(ReactOS only, replaces nmake)*
Supported OS:
Windows, Cygwin, Linux & ReactOS
Supported Compilers:
MSVC, CLang, GCC, MinGW & TinyCC
Supported CPU architectures:
x86, x64, ARM & ARM64
Check platforms.md for more info on the platform detector.
Check definitions.md for a complete listing of the configuration definitions.
Firstly, insert the following lines into your CMakeLists.txt
:
Finally, configure your targets like so:
The Include
directive isn't supported yet.
The included project doesn't detect that it's being included properly like FetchContent
does.
The add_subdirectory
command works by isn't thoroughly tested yet.
Firstly, add this repository as a submodule in your project and checkout to a specific tag or commit:
Afterward, add the following lines in your CMakeLists.txt:
Finally, modify you targets to add ${src_nibblepoker_c_goodies}
like so:
In order to use this library in your projects via a manual import you need to do the following things:
Firstly, add this repository as a submodule in your project and checkout to a specific tag or commit:
Afterward, add the following lines in your CMakeLists.txt:
Finally, modify you targets to add ${src_nibblepoker_c_goodies}
like so:
Some examples that demonstrate how to use most of the functions this library provides can be found in the examples/ folder.
Alternatively, you can also check the aziascreations/C99-Win32-Wifi-Utility repository for a complete example in a "fully-fledged" Windows application.
char
& wchar_t
supportNP_GOODIES_ARGUMENTS_USE_WCHAR
to support wchar_t
instead of char
.NP_DEBUG_LOGGING
to enable the special prints.dllist
-specific implementation.TODO
You can consult the documentation at the following URL:
https://aziascreations.github.io/C99-Utility-Libraries/
It is automatically updated when a commit is pushed onto the master
branch.
If you want to build the documentation, you need to do the following things:
git submodule update --init --recursive
.docs/html
and open the index.html
file.This project provides a couple of benchmarks in order to justify some of the design choices I made.
Please refer to the Benchmarks page for more information.
This project is dual-licensed under the following open-source licenses.
You can choose the one that best suits your needs:
LICENSE-MIT
file and be done with it while using an OSI license.Keep in mind, the doxygen-awesome-css submodule repository uses an MIT license.
You can either not clone it or fork the project and remove it to be 100% safe if you use the CC0 1.0
license.
The documentation will still build without it, but it will have a "worse-looking" UI.