Simple and lightweight IRC protocol helper
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alex D. 694d2ba105
Version 2021.01.24 - Fixes ahead
2 days ago
src Version 2021.01.24 - Fixes ahead 2 days ago
.clang-format Reformat code, add if preprocessor comments, shorten structrs, remove analyzer 1 month ago
.clang-tidy Reformat code, add if preprocessor comments, shorten structrs, remove analyzer 1 month ago
.gitignore Fix reseved identifiers, fix problems about signedness and casting and add a few more test cases 4 months ago
CMakeLists.txt Version 2021.01.24 - Fixes ahead 2 days ago
COPYING Add GPL and .clang-format 7 months ago
README.md Few tweaks and some docs 3 days ago

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/.