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")