libravatarserv/CMakeLists.txt

49 lines
1.5 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.10...3.17)
2018-11-24 11:00:07 +01:00
project(libravatarserv
2020-10-24 12:11:36 +02:00
VERSION 0.7.4
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)
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)
# 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
include(cmake/debug_flags.cmake)
2018-11-24 12:40:49 +01: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
# Include <filesystem> or <experimental/filesystem>.
2020-10-24 11:14:10 +02:00
configure_file("src/fs-compat.hpp.in" "fs-compat.hpp" @ONLY)
2018-11-24 11:00:07 +01:00
file(GLOB sources src/*.cpp)
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
include(cmake/packages.cmake)