view cmake/internal/sysconfig.hpp.in @ 709:1b04ffb2b35e

CMake: switch to GNUInstallDirs, closes #873 @1h
author David Demelier <markand@malikania.fr>
date Sat, 07 Jul 2018 10:59:19 +0200
parents 0dd4fb9dfcc8
children 28f493661157
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

/*
 * 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 CMAKE_INSTALL_PREFIX        "@CMAKE_INSTALL_PREFIX@"
#define CMAKE_INSTALL_LOCALSTATEDIR "@CMAKE_INSTALL_LOCALSTATEDIR@"
#define CMAKE_INSTALL_DATADIR       "@CMAKE_INSTALL_DATADIR@"
#define CMAKE_INSTALL_BINDIR        "@CMAKE_INSTALL_BINDIR@"
#define CMAKE_INSTALL_LIBDIR        "@CMAKE_INSTALL_LIBDIR@"
#define CMAKE_INSTALL_SYSCONFDIR    "@CMAKE_INSTALL_SYSCONFDIR@"

#cmakedefine IRCCD_HAVE_JS
#cmakedefine IRCCD_HAVE_SSL
#cmakedefine IRCCD_HAVE_LIBEDIT

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

#cmakedefine HAVE_GETLOGIN
#cmakedefine HAVE_POPEN
#cmakedefine HAVE_SETPROGNAME
#cmakedefine HAVE_STAT
#cmakedefine HAVE_STAT_ST_ATIME
#cmakedefine HAVE_STAT_ST_BLKSIZE
#cmakedefine HAVE_STAT_ST_BLOCKS
#cmakedefine HAVE_STAT_ST_CTIME
#cmakedefine HAVE_STAT_ST_DEV
#cmakedefine HAVE_STAT_ST_GID
#cmakedefine HAVE_STAT_ST_INO
#cmakedefine HAVE_STAT_ST_MODE
#cmakedefine HAVE_STAT_ST_MTIME
#cmakedefine HAVE_STAT_ST_NLINK
#cmakedefine HAVE_STAT_ST_RDEV
#cmakedefine HAVE_STAT_ST_SIZE
#cmakedefine HAVE_STAT_ST_UID
#cmakedefine HAVE_STD_PUT_TIME
#cmakedefine HAVE_SYSLOG

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

#endif // !IRCCD_SYSCONFIG_HPP