Mercurial > irccd
view tests/CMakeLists.txt @ 550:64cb98dd8e9d
Irccd: finish custom IRC library, closes #581
Finally remove the lovely libircclient that has been used since the
beginning of irccd back in 2013.
Several issues made the choice of developing a custom IRC library:
- libircclient requires select(2) system call and works in procedural
paradigm which is incompatible with our Boost.Asio main loop,
- there was no way in the libircclient to detect custom message like
PING to handle dead servers, this required to bundle the library
within the application,
- the library use static output buffer which requires to keep an
internal queue of commands that we flush at each iteration.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 24 Nov 2017 20:05:15 +0100 |
parents | 68032209609d |
children | 9b6b0d7d89c6 |
line wrap: on
line source
# # CMakeLists.txt -- CMake build system for irccd # # Copyright (c) 2013-2017 David Demelier <markand@malikania.fr> # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above # copyright notice and this permission notice appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # Project project(tests) if (WITH_TESTS) # add_subdirectory(cmd-plugin-config) # add_subdirectory(cmd-plugin-info) # add_subdirectory(cmd-plugin-list) # add_subdirectory(cmd-plugin-load) # add_subdirectory(cmd-plugin-reload) # add_subdirectory(cmd-plugin-unload) # add_subdirectory(cmd-rule-add) # add_subdirectory(cmd-rule-edit) # add_subdirectory(cmd-rule-info) # add_subdirectory(cmd-rule-list) # add_subdirectory(cmd-rule-move) # add_subdirectory(cmd-rule-remove) # add_subdirectory(cmd-server-cmode) # add_subdirectory(cmd-server-cnotice) # add_subdirectory(cmd-server-connect) # add_subdirectory(cmd-server-disconnect) # add_subdirectory(cmd-server-info) # add_subdirectory(cmd-server-invite) # add_subdirectory(cmd-server-join) # add_subdirectory(cmd-server-kick) # add_subdirectory(cmd-server-list) # add_subdirectory(cmd-server-me) # add_subdirectory(cmd-server-message) # add_subdirectory(cmd-server-mode) # add_subdirectory(cmd-server-nick) # add_subdirectory(cmd-server-notice) # add_subdirectory(cmd-server-part) # add_subdirectory(cmd-server-reconnect) # add_subdirectory(cmd-server-topic) # add_subdirectory(dynlib_plugin) add_subdirectory(irc) add_subdirectory(logger) add_subdirectory(rules) add_subdirectory(util) # JS API if (HAVE_JS) # Javascript plugin object. add_subdirectory(js-plugin) add_subdirectory(js) add_subdirectory(js-elapsedtimer) add_subdirectory(js-directory) add_subdirectory(js-file) add_subdirectory(js-irccd) add_subdirectory(js-logger) add_subdirectory(js-system) #add_subdirectory(js-timer) add_subdirectory(js-unicode) add_subdirectory(js-util) add_subdirectory(plugin-ask) add_subdirectory(plugin-auth) add_subdirectory(plugin-hangman) add_subdirectory(plugin-history) add_subdirectory(plugin-logger) add_subdirectory(plugin-plugin) endif () endif ()