cmake_minimum_required(VERSION 3.16) project(cepis VERSION 0.1.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) find_package(CURL REQUIRED) add_library(cepis src/client.cpp src/csv.cpp src/http.cpp src/json.cpp src/models.cpp ) add_library(cepis::cepis ALIAS cepis) target_include_directories(cepis PUBLIC $ $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) target_link_libraries(cepis PRIVATE CURL::libcurl) target_compile_options(cepis PRIVATE -Wall -Wextra) add_executable(cepis-lookup examples/cepis_lookup.cpp) target_link_libraries(cepis-lookup PRIVATE cepis) target_compile_options(cepis-lookup PRIVATE -Wall -Wextra) include(CTest) if(BUILD_TESTING) add_executable(cepis-tests tests/test_cepis.cpp tests/test_main.cpp tests/test_server.cpp ) target_include_directories(cepis-tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests) target_link_libraries(cepis-tests PRIVATE cepis) target_compile_options(cepis-tests PRIVATE -Wall -Wextra) add_test(NAME cepis-tests COMMAND cepis-tests) endif() include(GNUInstallDirs) install(TARGETS cepis ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(DIRECTORY include/cepis DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})