view cmake/internal/sysconfig.hpp.in @ 764:46ec61c095c1

Irccd: style (transport_service)
author David Demelier <markand@malikania.fr>
date Mon, 13 Aug 2018 13:54:50 +0200
parents 28f493661157
children 8c44bbcbbab9
line wrap: on
line source

/*
 * sysconfig.hpp -- configuration for irccd
 *
 * Copyright (c) 2013-2018 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.
 */

#ifndef IRCCD_SYSCONFIG_HPP
#define IRCCD_SYSCONFIG_HPP

/*
 * Fix annoying "Please include winsock2.h before windows.h"
 */
#if defined(_WIN32)
#   if !defined(WIN32_MEAN_AND_LEAN)
#       define WIN32_MEAN_AND_LEAN
#   endif
#   if !defined(NOMINMAX)
#       define NOMINMAX
#   endif

#   include <winsock2.h>
#   include <windows.h>
#endif

namespace irccd {

/*
 * Auto generated from CMake.
 * ------------------------------------------------------------------
 */

#define IRCCD_VERSION_MAJOR         @IRCCD_VERSION_MAJOR@
#define IRCCD_VERSION_MINOR         @IRCCD_VERSION_MINOR@
#define IRCCD_VERSION_PATCH         @IRCCD_VERSION_PATCH@
#define IRCCD_VERSION_SHLIB         @IRCCD_VERSION_SHLIB@
#define IRCCD_VERSION               "@IRCCD_VERSION@"

/*
 * User definable options.
 * ------------------------------------------------------------------
 */

#define IRCCD_INSTALL_PREFIX        "@CMAKE_INSTALL_PREFIX@"
#define IRCCD_INSTALL_LOCALSTATEDIR "@CMAKE_INSTALL_LOCALSTATEDIR@"
#define IRCCD_INSTALL_DATADIR       "@CMAKE_INSTALL_DATADIR@"
#define IRCCD_INSTALL_BINDIR        "@CMAKE_INSTALL_BINDIR@"
#define IRCCD_INSTALL_LIBDIR        "@CMAKE_INSTALL_LIBDIR@"
#define IRCCD_INSTALL_SYSCONFDIR    "@CMAKE_INSTALL_SYSCONFDIR@"

#cmakedefine IRCCD_HAVE_JS
#cmakedefine IRCCD_HAVE_SSL
#cmakedefine IRCCD_HAVE_LIBEDIT

/*
 * Platform checks.
 * ------------------------------------------------------------------
 */

#cmakedefine IRCCD_HAVE_GETLOGIN
#cmakedefine IRCCD_HAVE_POPEN
#cmakedefine IRCCD_HAVE_SETPROGNAME
#cmakedefine IRCCD_HAVE_STAT
#cmakedefine IRCCD_HAVE_STAT_ST_ATIME
#cmakedefine IRCCD_HAVE_STAT_ST_BLKSIZE
#cmakedefine IRCCD_HAVE_STAT_ST_BLOCKS
#cmakedefine IRCCD_HAVE_STAT_ST_CTIME
#cmakedefine IRCCD_HAVE_STAT_ST_DEV
#cmakedefine IRCCD_HAVE_STAT_ST_GID
#cmakedefine IRCCD_HAVE_STAT_ST_INO
#cmakedefine IRCCD_HAVE_STAT_ST_MODE
#cmakedefine IRCCD_HAVE_STAT_ST_MTIME
#cmakedefine IRCCD_HAVE_STAT_ST_NLINK
#cmakedefine IRCCD_HAVE_STAT_ST_RDEV
#cmakedefine IRCCD_HAVE_STAT_ST_SIZE
#cmakedefine IRCCD_HAVE_STAT_ST_UID
#cmakedefine IRCCD_HAVE_STD_PUT_TIME
#cmakedefine IRCCD_HAVE_SYSLOG

/**
 * \brief Describe irccd version.
 */
struct version {
    const unsigned major{IRCCD_VERSION_MAJOR};  //!< major
    const unsigned minor{IRCCD_VERSION_MINOR};  //!< minor
    const unsigned patch{IRCCD_VERSION_PATCH};  //!< patch
    const unsigned abi{IRCCD_VERSION_SHLIB};    //!< ABI compatibility
};

} // !irccd

#endif // !IRCCD_SYSCONFIG_HPP