[UNDER HEAVY DEVELOPMENT] 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. e392076e19
Remove quitmsg from struct
1 week ago
include Remove quitmsg from struct 1 week ago
src Remove quitmsg from struct 1 week ago
.clang-format Reformat code, add if preprocessor comments, shorten structrs, remove analyzer 2 months ago
.clang-tidy uIRC version 0.1 -- beta 2 weeks ago
.gitignore Fix reseved identifiers, fix problems about signedness and casting and add a few more test cases 5 months ago
CMakeLists.txt Bump version, fix inclustions and move tests outside of main repo 1 week ago
COPYING Add GPL and .clang-format 8 months ago
README.md Few tweaks and some docs 1 month ago


MicroIRC, a simple, lightweight IRC protocol helper


  • CMake (tested on 3.17)
  • C99 compiler


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


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