All checks were successful
continuous-integration/drone/push Build is passing
Also bumped the maximum supported CMake version while I was in the file.
49 lines
1.5 KiB
CMake
49 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.10...3.20)
|
|
project(libravatarserv
|
|
VERSION 0.7.5
|
|
DESCRIPTION "A simple libravatar server."
|
|
LANGUAGES CXX)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
|
|
|
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)
|
|
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)
|
|
|
|
include(cmake/debug_flags.cmake)
|
|
|
|
include_directories(${PROJECT_BINARY_DIR})
|
|
|
|
# Write version in header
|
|
configure_file(
|
|
"src/version.hpp.in"
|
|
"version.hpp")
|
|
|
|
# Include <filesystem> or <experimental/filesystem>.
|
|
configure_file("src/fs-compat.hpp.in" "fs-compat.hpp" @ONLY)
|
|
|
|
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})
|
|
install(FILES README.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
|
|
|
include(cmake/packages.cmake)
|