blob: ef6cbe5c218c90a736ea68aa7a6dd024a9c9ed1e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
cmake_minimum_required(VERSION 3.16)
project(cepis VERSION 0.2.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
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
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})
|