cmake_minimum_required(VERSION 3.5)
project("C-DNS to Parquet" VERSION 0.7.2)

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
set(CMAKE_CXX_STANDARD 17)

include(GNUInstallDirs)

## Find required libraries
find_package(Arrow REQUIRED)
find_package(Parquet REQUIRED)

find_package(CDNS REQUIRED)
find_package(MaxmindDB REQUIRED)
find_package(Libknot REQUIRED)

file(GLOB SOURCES CONFIGURE_DEPENDS src/*.cpp src/*.h)
add_executable(c-dns-parquet src/main.cpp ${SOURCES})
target_link_libraries(c-dns-parquet PUBLIC Arrow::Arrow Parquet::Parquet CDNS::CDNS MaxmindDB::MaxmindDB Libknot::Libknot)

install(TARGETS c-dns-parquet RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
