diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7ae1fc9 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,49 @@ +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 + $<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}) |