epubgrep/CMakeLists.txt

59 lines
1.6 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.12...3.20)
# Global build options.
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "The type of build.")
set(XGETTEXT_CMD "xgettext" CACHE STRING "The command for xgettext.")
project(epubgrep
2021-06-24 18:48:37 +02:00
VERSION 0.6.0
2021-05-25 08:12:18 +02:00
DESCRIPTION "Search tool for EPUB e-books"
2021-05-26 10:18:28 +02:00
HOMEPAGE_URL "https://schlomp.space/tastytea/epubgrep"
LANGUAGES CXX)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
# Project build options.
option(WITH_TESTS "Compile tests." NO)
option(FALLBACK_BUNDLED "Fall back to bundled libs." YES)
2021-08-20 18:23:40 +02:00
option(WITH_SANITIZERS "Use sanitizers in debug builds." NO)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
include(cmake/debug_flags.cmake)
# All dependencies except test dependencies.
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG TRUE)
find_package(Boost 1.65.0 REQUIRED
COMPONENTS locale log_setup log program_options regex)
find_package(Gettext REQUIRED)
find_package(Filesystem REQUIRED COMPONENTS Final Experimental)
find_package(LibArchive 3.2 REQUIRED)
find_package(fmt 4 REQUIRED CONFIG)
find_package(termcolor CONFIG)
if(NOT termcolor_FOUND)
if(FALLBACK_BUNDLED)
message(STATUS "Using bundled version of Termcolor.")
add_subdirectory(dist/termcolor EXCLUDE_FROM_ALL)
else()
message(FATAL_ERROR "Termcolor was not found.")
endif()
endif()
find_package(Threads REQUIRED)
find_package(pugixml REQUIRED CONFIG)
2021-06-01 18:47:12 +02:00
find_package(nlohmann_json REQUIRED CONFIG)
add_subdirectory(src)
if(WITH_TESTS)
2021-06-03 15:53:43 +02:00
include(CTest)
add_subdirectory(tests)
endif()
add_subdirectory(translations)
2021-05-23 06:35:04 +02:00
add_subdirectory(man)
include(cmake/packages.cmake)