2021-11-26 04:51:31 +01:00
|
|
|
cmake_minimum_required(VERSION 3.10...3.20)
|
2018-11-24 11:00:07 +01:00
|
|
|
project(libravatarserv
|
2021-11-26 04:51:31 +01:00
|
|
|
VERSION 0.7.5
|
2020-10-24 09:19:24 +02:00
|
|
|
DESCRIPTION "A simple libravatar server."
|
|
|
|
LANGUAGES CXX)
|
|
|
|
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
2018-11-24 11:00:07 +01:00
|
|
|
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
|
2020-10-24 09:19:24 +02:00
|
|
|
find_package(PkgConfig REQUIRED)
|
|
|
|
pkg_check_modules(Magick++ REQUIRED IMPORTED_TARGET Magick++)
|
|
|
|
pkg_check_modules(libcryptopp IMPORTED_TARGET libcryptopp)
|
2020-10-24 11:14:26 +02:00
|
|
|
if(NOT libcryptopp_FOUND)
|
2020-10-24 09:19:24 +02:00
|
|
|
# Debian stretch package installs libcrypto++.pc
|
|
|
|
pkg_check_modules(libcryptopp REQUIRED IMPORTED_TARGET libcrypto++)
|
|
|
|
endif()
|
|
|
|
pkg_check_modules(libxdg-basedir REQUIRED IMPORTED_TARGET libxdg-basedir)
|
|
|
|
find_package(identiconpp REQUIRED CONFIG)
|
|
|
|
find_package(Filesystem REQUIRED COMPONENTS Final Experimental)
|
2018-11-24 11:00:07 +01:00
|
|
|
|
2020-10-24 09:19:24 +02:00
|
|
|
include(cmake/debug_flags.cmake)
|
2018-11-24 12:40:49 +01:00
|
|
|
|
2020-10-24 09:19:24 +02:00
|
|
|
include_directories(${PROJECT_BINARY_DIR})
|
2018-11-24 11:00:07 +01:00
|
|
|
|
|
|
|
# Write version in header
|
|
|
|
configure_file(
|
2020-10-24 11:14:10 +02:00
|
|
|
"src/version.hpp.in"
|
|
|
|
"version.hpp")
|
2018-11-24 11:00:07 +01:00
|
|
|
|
2020-10-24 10:55:35 +02:00
|
|
|
# Include <filesystem> or <experimental/filesystem>.
|
2020-10-24 11:14:10 +02:00
|
|
|
configure_file("src/fs-compat.hpp.in" "fs-compat.hpp" @ONLY)
|
2020-10-24 10:55:35 +02:00
|
|
|
|
2018-11-24 11:00:07 +01:00
|
|
|
file(GLOB sources src/*.cpp)
|
2020-10-24 09:19:24 +02:00
|
|
|
add_executable(${PROJECT_NAME} ${sources})
|
|
|
|
target_include_directories(${PROJECT_NAME}
|
|
|
|
PRIVATE ${PROJECT_BINARY_DIR})
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
|
|
PRIVATE PkgConfig::Magick++ PkgConfig::libcryptopp PkgConfig::libxdg-basedir
|
|
|
|
std::filesystem identiconpp::identiconpp)
|
|
|
|
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
2018-11-27 17:57:55 +01:00
|
|
|
install(FILES README.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
2018-11-27 05:46:45 +01:00
|
|
|
|
2020-10-24 09:19:24 +02:00
|
|
|
include(cmake/packages.cmake)
|