Alex D.
88d18cbe86
- Switch to semantic versioning - Disable unstable and unfinished features by default - Shorten clang tidy and enable a few other warnings - Rewrite tests - Switch prefixes to functions to uirc_ and definitions to IRC_ - Do in-function allocation of structs and return those - Improve parsing logic - Remove helpers - Clean up code - Add CTCP codes - Add dependency to library for general functions (CoreLibs) - Namespace header guards as IRC_GUARD_(TYPE)_(FILE) - Remove integer representations of commands, now are strings |
||
---|---|---|
src | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
COPYING | ||
README.md |
README.md
MicroIRC, a simple, lightweight IRC protocol helper
Requirements
- CMake (tested on 3.17)
- C99 compiler
Building
First, create the required build files (usually the Makefile)
cmake -B build/ -DCMAKE_BUILD_TYPE=Release .
Option | Description | Type | Default | Supported since |
---|---|---|---|---|
BUILD_HELPERS | Build simple assemblers and tokenizers that handle the heavy lifting | boolean | true | - |
BUILD_VALIDATORS | Build validators that check if the messages follow the standards (WIP) | boolean | true | 2020.10.29 |
BUILD_TESTS | Build tests that check if the build results behave as they should | boolean | false | - |
BUILD_IRCV3 | Build IRCv3 support (WIP) | boolean | true | - |
BUILD_DOCS | Build documentation using doxygen (WIP) | boolean | false | - |
CODE_ANALYZER | Use static analysis tools | boolean | false | 2020.12.20 |
CODE_COVERAGE | Generate code coverage output | boolean | false | 2020.12.20 |
Following that, just use your build system and compile it
Example for make:
make -C build
You now should have the library built at build/libuirc.a
or build/libuirc.so.VERSION
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.