Skip to content

Commit

Permalink
Rearrange some files
Browse files Browse the repository at this point in the history
  • Loading branch information
aliddell committed Sep 10, 2024
1 parent e4f1c1a commit b313658
Show file tree
Hide file tree
Showing 33 changed files with 176 additions and 174 deletions.
File renamed without changes.
98 changes: 2 additions & 96 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,98 +1,4 @@
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

####### Acquire Zarr Streaming Library #######

set(tgt acquire-zarr)

add_library(${tgt} STATIC
include/zarr.h
internal/logger.hh
internal/logger.cpp
internal/stream.settings.hh
internal/stream.settings.cpp
internal/zarr.stream.hh
internal/zarr.stream.cpp
internal/zarr.common.hh
internal/zarr.common.cpp
internal/thread.pool.hh
internal/thread.pool.cpp
internal/s3.connection.hh
internal/s3.connection.cpp
internal/blosc.compression.params.hh
internal/blosc.compression.params.cpp
internal/sink.hh
internal/file.sink.hh
internal/file.sink.cpp
internal/s3.sink.hh
internal/s3.sink.cpp
internal/sink.creator.hh
internal/sink.creator.cpp
internal/array.writer.hh
internal/array.writer.cpp
internal/zarrv2.array.writer.hh
internal/zarrv2.array.writer.cpp
internal/zarrv3.array.writer.hh
internal/zarrv3.array.writer.cpp
)

target_include_directories(${tgt}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/internal>
)

target_link_libraries(${tgt} PRIVATE
blosc_static
miniocpp::miniocpp
)

set_target_properties(${tgt} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)

install(TARGETS ${tgt}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

# Install public header files
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
DESTINATION include
FILES_MATCHING PATTERN "*.h"
)

####### Acquire Zarr Driver #######

if (NOT TARGET acquire-core-logger)
add_subdirectory(${CMAKE_SOURCE_DIR}/acquire-common/acquire-core-libs ${CMAKE_CURRENT_BINARY_DIR}/acquire-core-libs)
endif ()

set(tgt-driver acquire-driver-zarr)
add_library(${tgt-driver} MODULE
driver/zarr.storage.hh
driver/zarr.storage.cpp
driver/zarr.driver.c
)

target_include_directories(${tgt-driver} PRIVATE
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
)

target_enable_simd(${tgt-driver})
target_link_libraries(${tgt-driver} PRIVATE
acquire-core-logger
acquire-core-platform
acquire-device-kit
acquire-device-properties
${tgt}
blosc_static
nlohmann_json::nlohmann_json
miniocpp::miniocpp
)

set_target_properties(${tgt-driver} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)

install(TARGETS ${tgt-driver} LIBRARY DESTINATION lib)
add_subdirectory(streaming)
add_subdirectory(driver)
36 changes: 36 additions & 0 deletions src/driver/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
option(BUILD_ACQUIRE_DRIVER_ZARR ON)

if (BUILD_ACQUIRE_DRIVER_ZARR)
if (NOT TARGET acquire-core-logger)
add_subdirectory(${CMAKE_SOURCE_DIR}/acquire-common/acquire-core-libs ${CMAKE_CURRENT_BINARY_DIR}/acquire-core-libs)
endif ()

set(tgt acquire-driver-zarr)
add_library(${tgt} MODULE
zarr.storage.hh
zarr.storage.cpp
zarr.driver.c
)

target_include_directories(${tgt} PRIVATE
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
)

target_enable_simd(${tgt})
target_link_libraries(${tgt} PRIVATE
acquire-core-logger
acquire-core-platform
acquire-device-kit
acquire-device-properties
acquire-zarr
blosc_static
nlohmann_json::nlohmann_json
miniocpp::miniocpp
)

set_target_properties(${tgt} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)

install(TARGETS ${tgt} LIBRARY DESTINATION lib)
endif ()
58 changes: 58 additions & 0 deletions src/streaming/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
set(tgt acquire-zarr)

add_library(${tgt}
logger.hh
logger.cpp
stream.settings.hh
stream.settings.cpp
zarr.stream.hh
zarr.stream.cpp
zarr.common.hh
zarr.common.cpp
thread.pool.hh
thread.pool.cpp
s3.connection.hh
s3.connection.cpp
blosc.compression.params.hh
blosc.compression.params.cpp
sink.hh
file.sink.hh
file.sink.cpp
s3.sink.hh
s3.sink.cpp
sink.creator.hh
sink.creator.cpp
array.writer.hh
array.writer.cpp
zarrv2.array.writer.hh
zarrv2.array.writer.cpp
zarrv3.array.writer.hh
zarrv3.array.writer.cpp
)

target_include_directories(${tgt}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
PRIVATE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)

target_link_libraries(${tgt} PRIVATE
blosc_static
miniocpp::miniocpp
)

set_target_properties(${tgt} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)

install(TARGETS ${tgt}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

# Install public header files
install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/
DESTINATION include
FILES_MATCHING PATTERN "*.h"
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ shard_index_for_chunk(size_t chunk_index,
const std::vector<Dimension>& dimensions);

/**
* @brief Get the internal index of a chunk within a shard.
* @brief Get the streaming index of a chunk within a shard.
* @param chunk_index The index of the chunk.
* @param dimensions The dimensions of the array.
* @return The index of the chunk within the shard.
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
152 changes: 77 additions & 75 deletions tests/driver/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,84 +1,86 @@
set(NOTEST "TRUE")
add_subdirectory(${CMAKE_SOURCE_DIR}/acquire-common ${CMAKE_CURRENT_BINARY_DIR}/acquire-common)
set(NOTEST "FALSE")
if (BUILD_ACQUIRE_DRIVER_ZARR)
set(NOTEST "TRUE")
add_subdirectory(${CMAKE_SOURCE_DIR}/acquire-common ${CMAKE_CURRENT_BINARY_DIR}/acquire-common)
set(NOTEST "FALSE")

#
# PARAMETERS
#
set(project acquire-driver-zarr) # CMAKE_PROJECT_NAME gets overridden if this is a subtree of another project
#
# PARAMETERS
#
set(project acquire-driver-zarr) # CMAKE_PROJECT_NAME gets overridden if this is a subtree of another project

#
# Tests
#
set(tests
list-devices
get
get-meta
get-set-get
external-metadata-with-whitespace-ok
restart-stopped-zarr-resets-threadpool
repeat-start
metadata-dimension-sizes
write-zarr-v2-raw
write-zarr-v2-raw-chunk-size-larger-than-frame-size
write-zarr-v2-raw-with-even-chunking
write-zarr-v2-raw-with-even-chunking-and-rollover
write-zarr-v2-raw-with-ragged-chunking
write-zarr-v2-with-lz4-compression
write-zarr-v2-with-zstd-compression
write-zarr-v2-compressed-with-chunking
write-zarr-v2-compressed-with-chunking-and-rollover
write-zarr-v2-raw-multiscale
write-zarr-v2-raw-multiscale-with-trivial-tile-size
write-zarr-v2-compressed-multiscale
write-zarr-v2-to-s3
multiscales-metadata
write-zarr-v3-raw
write-zarr-v3-raw-with-ragged-sharding
write-zarr-v3-raw-chunk-exceeds-array
write-zarr-v3-compressed
write-zarr-v3-raw-multiscale
write-zarr-v3-to-s3
)

foreach (name ${tests})
set(tgt "${project}-${name}")
add_executable(${tgt} ${name}.cpp)
target_compile_definitions(${tgt} PUBLIC "TEST=\"${tgt}\"")
set_target_properties(${tgt} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)
target_include_directories(${tgt} PRIVATE "${CMAKE_CURRENT_LIST_DIR}/../")
target_link_libraries(${tgt}
acquire-core-logger
acquire-core-platform
acquire-video-runtime
nlohmann_json::nlohmann_json
miniocpp::miniocpp
#
# Tests
#
set(tests
list-devices
get
get-meta
get-set-get
external-metadata-with-whitespace-ok
restart-stopped-zarr-resets-threadpool
repeat-start
metadata-dimension-sizes
write-zarr-v2-raw
write-zarr-v2-raw-chunk-size-larger-than-frame-size
write-zarr-v2-raw-with-even-chunking
write-zarr-v2-raw-with-even-chunking-and-rollover
write-zarr-v2-raw-with-ragged-chunking
write-zarr-v2-with-lz4-compression
write-zarr-v2-with-zstd-compression
write-zarr-v2-compressed-with-chunking
write-zarr-v2-compressed-with-chunking-and-rollover
write-zarr-v2-raw-multiscale
write-zarr-v2-raw-multiscale-with-trivial-tile-size
write-zarr-v2-compressed-multiscale
write-zarr-v2-to-s3
multiscales-metadata
write-zarr-v3-raw
write-zarr-v3-raw-with-ragged-sharding
write-zarr-v3-raw-chunk-exceeds-array
write-zarr-v3-compressed
write-zarr-v3-raw-multiscale
write-zarr-v3-to-s3
)

add_test(NAME test-${tgt} COMMAND ${tgt})
set_tests_properties(test-${tgt} PROPERTIES LABELS "anyplatform;acquire-driver-zarr")
endforeach ()
foreach (name ${tests})
set(tgt "${project}-${name}")
add_executable(${tgt} ${name}.cpp)
target_compile_definitions(${tgt} PUBLIC "TEST=\"${tgt}\"")
set_target_properties(${tgt} PROPERTIES
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)
target_include_directories(${tgt} PRIVATE "${CMAKE_CURRENT_LIST_DIR}/../")
target_link_libraries(${tgt}
acquire-core-logger
acquire-core-platform
acquire-video-runtime
nlohmann_json::nlohmann_json
miniocpp::miniocpp
)

add_test(NAME test-${tgt} COMMAND ${tgt})
set_tests_properties(test-${tgt} PROPERTIES LABELS "anyplatform;acquire-driver-zarr")
endforeach ()

#
# Copy driver to tests
#
list(POP_FRONT tests onename)
#
# Copy driver to tests
#
list(POP_FRONT tests onename)

foreach (driver
acquire-driver-common
acquire-driver-zarr
)
add_custom_target(${project}-copy-${driver}-for-tests
COMMAND ${CMAKE_COMMAND} -E copy
$<TARGET_FILE:${driver}>
$<TARGET_FILE_DIR:${project}-${onename}>
DEPENDS ${driver}
COMMENT "Copying ${driver} to $<TARGET_FILE_DIR:${project}-${onename}>"
foreach (driver
acquire-driver-common
acquire-driver-zarr
)
add_custom_target(${project}-copy-${driver}-for-tests
COMMAND ${CMAKE_COMMAND} -E copy
$<TARGET_FILE:${driver}>
$<TARGET_FILE_DIR:${project}-${onename}>
DEPENDS ${driver}
COMMENT "Copying ${driver} to $<TARGET_FILE_DIR:${project}-${onename}>"
)

foreach (name ${tests})
add_dependencies(${tgt} ${project}-copy-${driver}-for-tests)
foreach (name ${tests})
add_dependencies(${tgt} ${project}-copy-${driver}-for-tests)
endforeach ()
endforeach ()
endforeach ()
endif ()
4 changes: 2 additions & 2 deletions tests/unit-tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ foreach (name ${tests})
MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>"
)
target_include_directories(${tgt} PRIVATE
${CMAKE_SOURCE_DIR}/src/include
${CMAKE_SOURCE_DIR}/src/internal)
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/src/streaming)
target_link_libraries(${tgt} PRIVATE
acquire-zarr
miniocpp::miniocpp
Expand Down

0 comments on commit b313658

Please sign in to comment.