diff options
| author | Murilo Ijanc <[email protected]> | 2026-07-26 12:28:10 -0300 |
|---|---|---|
| committer | Murilo Ijanc <[email protected]> | 2026-07-26 12:28:10 -0300 |
| commit | b71faa6e95a0736f1ff171e006b171467b65db90 (patch) | |
| tree | 7580c3ab515e8f50726dc68dbc240995ff4a1a4c /CMakeLists.txt | |
| download | cpp-b71faa6e95a0736f1ff171e006b171467b65db90.tar.gz | |
Initial importv0.1.0
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}) |