set(PROJECT_NAME common-cdm)

file(GLOB SRC *.cpp)
list(FILTER SRC EXCLUDE REGEX "cdm_bindings.cpp")
#set(COMMON_CDM_SRC ${SRC} PARENT_SCOPE)

file(GLOB HDR *.hpp)
#set(COMMON_CDM_HDR ${HDR} PARENT_SCOPE)

find_program(LSB_RELEASE lsb-release)
if(EXISTS ${LSB_RELEASE})
	execute_process(
		COMMAND lsb-release -i -s
		OUTPUT_VARIABLE DISTRO
		OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
	set(USE_CONAN TRUE)
endif()

message("Distro is \"${DISTRO}\"")
if("${DISTRO}" STREQUAL "Gentoo")
	set(USE_CONAN FALSE)
else()
	set(USE_CONAN TRUE)
endif()

find_package(cppzmq REQUIRED)
find_package(fmt REQUIRED)
find_package(Poco REQUIRED Zip)
find_package(Arrow REQUIRED)
find_package(Parquet REQUIRED)

# Ugly hack for conan
if(USE_CONAN)
    include_directories(${fmt_INCLUDE_DIRS})
endif()

add_library(${PROJECT_NAME} SHARED ${SRC})
target_link_libraries(${PROJECT_NAME} PUBLIC cppzmq ifae-libs Arrow::arrow_shared Parquet::parquet_shared PRIVATE fmt::fmt Poco::Zip)
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
