view extern/libircclient/CMakeLists.txt @ 470:eeabfc77d7ca

Docs: typos in irccd.conf.sample
author David Demelier <markand@malikania.fr>
date Tue, 26 Sep 2017 12:27:42 +0200
parents c6fbb6e0e06d
children 6ec510722582
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.
#

# Libircclient bundled
project(extern-libircclient)

set(FLAGS "ENABLE_THREADS")

# Portability checks
include(CheckFunctionExists)

check_function_exists(gethostbyname_r HAVE_GETHOSTBYNAME_R)
check_function_exists(localtime_r HAVE_LOCALTIME_R)

if (HAVE_GETHOSTBYNAME_R)
    list(APPEND FLAGS "HAVE_GETHOSTBYNAME_R")
endif ()
if (HAVE_LOCALTIME_R)
    list(APPEND FLAGS "HAVE_LOCALTIME_R")
endif ()

# SSL is optional
if (WITH_SSL)
    list(APPEND INCLUDES ${OPENSSL_INCLUDE_DIR})
    list(APPEND LIBRARIES ${OPENSSL_LIBRARIES})
    list(APPEND FLAGS "ENABLE_SSL")
endif ()

# Enable or disable IPv6
if (WITH_IPV6)
    list(APPEND FLAGS "ENABLE_IPV6")
endif ()

if (WIN32)
    list(APPEND LIBRARIES ws2_32)
endif ()

irccd_define_library(
    LOCAL
    TARGET extern-ircclient
    SOURCES src/libircclient.c
    FLAGS ${FLAGS}
    LIBRARIES ${LIBRARIES}
    PUBLIC_INCLUDES "${extern-libircclient_SOURCE_DIR}/include"
    LOCAL_INCLUDES ${INCLUDES}
)

set_target_properties(
    extern-ircclient
    PROPERTIES
        PROJECT_LABEL libircclient
        FOLDER extern
)