blob: f95f1319c3fd2c3ee3ac8f7c9f340245460ff27e [file] [log] [blame]
add_library(theta INTERFACE)
add_library(${PROJECT_NAME}::THETA ALIAS theta)
if (BUILD_TESTS)
add_subdirectory(test)
endif()
target_include_directories(theta
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>
PRIVATE
${COMMON_INCLUDE_DIR}
)
target_link_libraries(theta INTERFACE common)
target_compile_features(theta INTERFACE cxx_std_11)
set(theta_HEADERS "")
list(APPEND theta_HEADERS "include/theta_sketch.hpp;include/theta_union.hpp;include/theta_intersection.hpp")
list(APPEND theta_HEADERS "include/theta_a_not_b.hpp;include/binomial_bounds.hpp;include/theta_sketch_impl.hpp")
list(APPEND theta_HEADERS "include/theta_union_impl.hpp;include/theta_intersection_impl.hpp;include/theta_a_not_b_impl.hpp")
install(TARGETS theta
EXPORT ${PROJECT_NAME}
)
install(FILES ${theta_HEADERS}
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/DataSketches")
target_sources(theta
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_sketch.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_union.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_intersection.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_a_not_b.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/binomial_bounds.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_sketch_impl.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_union_impl.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_intersection_impl.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/theta_a_not_b_impl.hpp
)