27 lines
864 B
CMake
27 lines
864 B
CMake
cmake_minimum_required(VERSION 3.15)
|
|
project(ParseLogCLI LANGUAGES CXX)
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Define all project source files (excluding the version .cpp file)
|
|
add_executable(parselog_cli
|
|
main.cpp
|
|
log_parsing/log_parsing.cpp
|
|
ip_to_geo/ip_to_geo.cpp
|
|
third_party/src/GeoLite2PP.cpp
|
|
third_party/src/GeoLite2PP_error_category.cpp
|
|
)
|
|
|
|
enable_testing()
|
|
add_test(NAME LogParser COMMAND parselog_cli)
|
|
|
|
target_include_directories(parselog_cli PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/log_parsing
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ip_to_geo
|
|
${CMAKE_CURRENT_SOURCE_DIR}/third_party/include
|
|
)
|
|
|
|
target_link_libraries(parselog_cli PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a)
|
|
target_compile_definitions(parselog_cli PRIVATE GEOLITE2PP_VERSION="0.0.1") |