view cmake/export/CMakeLists.txt @ 763:4283dc118339

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

#
# CMakeLists.txt -- CMake build system 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.
#

include(CMakePackageConfigHelpers)

# CMake export files.
write_basic_package_version_file(
    ${CMAKE_CURRENT_BINARY_DIR}/irccd-config-version.cmake
    VERSION ${IRCCD_VERSION}
    COMPATIBILITY SameMajorVersion
)

install(
    EXPORT irccd-targets
    FILE irccd-targets.cmake
    NAMESPACE irccd::
    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/irccd
)

install(
    FILES
        ${CMAKE_CURRENT_SOURCE_DIR}/irccd-config.cmake
        ${CMAKE_CURRENT_BINARY_DIR}/irccd-config-version.cmake
    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/irccd
    COMPONENT Devel
)

# pkg-config files.
if (IRCCD_WITH_PKGCONFIG)
    # Since javascript is optional, add it only if required.
    if (IRCCD_HAVE_JS)
        set(IRCCD_EXTRA_REQUIRES libirccd-js)
    endif ()
    if (IRCCD_HAVE_SSL)
        set(IRCCD_EXTRA_LIBS "-lssl -lcrypto")
    endif ()

    foreach (pkg libirccd-core libirccd libirccd-ctl libirccd-js libirccd-test)
        configure_file(
            ${CMAKE_CURRENT_SOURCE_DIR}/${pkg}.pc
            ${CMAKE_CURRENT_BINARY_DIR}/${pkg}.pc
            @ONLY
        )
        install(
            FILES ${CMAKE_CURRENT_BINARY_DIR}/${pkg}.pc
            DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
        )
    endforeach ()
endif ()