view libcommon/CMakeLists.txt @ 164:a3ba00cdaa7c

Common: remove id class, closes #773 @5m While here, remove weak_array forgotten.
author David Demelier <markand@malikania.fr>
date Sat, 17 Mar 2018 14:36:14 +0100
parents b65a86a84fcb
children 450d884456c4
line wrap: on
line source

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

project(libmlk-common)

find_package(Boost REQUIRED filesystem system)
find_package(OpenSSL REQUIRED)

set(
    HEADERS
    ${libmlk-common_SOURCE_DIR}/malikania/game.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/loader.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/locator.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/network_stream.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/size.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/tileset.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/unicode.hpp
    ${libmlk-common_SOURCE_DIR}/malikania/util.hpp
)

set(
    SOURCES
    ${libmlk-common_SOURCE_DIR}/malikania/loader.cpp
    ${libmlk-common_SOURCE_DIR}/malikania/locator.cpp
    ${libmlk-common_SOURCE_DIR}/malikania/network_stream.cpp
    ${libmlk-common_SOURCE_DIR}/malikania/unicode.cpp
    ${libmlk-common_SOURCE_DIR}/malikania/util.cpp
)

if (WITH_BACKEND MATCHES "SDL")
    find_package(SDL2 REQUIRED)

    list(APPEND HEADERS ${libmlk-common_SOURCE_DIR}/malikania/${WITH_BACKEND_DIR}/sdl_util.hpp)
    list(APPEND SOURCES ${libmlk-common_SOURCE_DIR}/malikania/${WITH_BACKEND_DIR}/sdl_util.cpp)
    list(APPEND INCLUDES ${SDL2_INCLUDE_DIRS})
    list(APPEND LIBRARIES ${SDL2_LIBRARIES})
endif ()

malikania_define_library(
    PROJECT libmlk-common
    TARGET libmlk-common
    SOURCES ${HEADERS} ${SOURCES}
    FLAGS "MALIKANIA_COMMON_BUILD"
    PUBLIC_INCLUDES
        ${INCLUDES}
        $<BUILD_INTERFACE:${libmlk-common_SOURCE_DIR}/malikania>
        $<BUILD_INTERFACE:${libmlk-common_SOURCE_DIR}>
    LIBRARIES
        Boost::boost
        Boost::filesystem
        Boost::system
        OpenSSL::Crypto
        OpenSSL::SSL
        json
        ${LIBRARIES}
)