cmake_minimum_required(VERSION 3.2)
project(data-pieces)

addProjectIncludeDirectory()
setUpProject(library)

# INTERFACE: Session is used in public API.
target_link_libraries(${PROJECT_NAME} INTERFACE ${CONAN_LIBS_POCO_DATA})
# PUBLIC: registerSample is called in class template methods.
target_link_libraries(${PROJECT_NAME} PUBLIC analytics)
# PUBLIC: TracedError is thrown.
target_link_libraries(${PROJECT_NAME} PUBLIC error-handling)
# PUBLIC: ConcurrentQueue (and others) is used in both implementation and public API.
target_link_libraries(${PROJECT_NAME} PUBLIC fundamentals)
# PUBLIC: Logger used inside class template methods.
target_link_libraries(${PROJECT_NAME} PUBLIC ${GalaxyServiceLibraryDeps})
# PUBLIC: GalaxyDb as class data member.
target_link_libraries(${PROJECT_NAME} PUBLIC product-storage)
# PUBLIC: QueueThread as base class.
target_link_libraries(${PROJECT_NAME} PUBLIC scheduling)
# INTERFACE: DatabaseSession appears only in public API.
target_link_libraries(${PROJECT_NAME} INTERFACE sql-fundamentals)
# PUBLIC: HTTP messages used in public API and implementation.
target_link_libraries(${PROJECT_NAME} PUBLIC web-fundamentals)
