57 lines
1.5 KiB
CMake
57 lines
1.5 KiB
CMake
CMAKE_MINIMUM_REQUIRED(VERSION 3.19)
|
|
|
|
PROJECT(durin VERSION 1.0.0 LANGUAGES C)
|
|
|
|
include(FetchContent)
|
|
|
|
SET(CMAKE_C_FLAGS_RELEASE "-O3")
|
|
|
|
SET(CMAKE_C_STANDARD 99)
|
|
SET(CMAKE_C_STANDARD_REQUIRED ON)
|
|
SET(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
|
|
set(HDF5_USE_STATIC_LIBRARIES TRUE)
|
|
|
|
SET(HDF5_BUILD_HL_LIB OFF)
|
|
|
|
SET(HDF5_ENABLE_THREADSAFE ON)
|
|
SET(HDF5_ENABLE_SZIP_SUPPORT OFF)
|
|
SET(HDF5_ENABLE_SZIP_ENCODING OFF)
|
|
SET(HDF5_BUILD_EXAMPLES OFF)
|
|
SET(HDF5_BUILD_CPP_LIB OFF)
|
|
SET(HDF5_ENABLE_Z_LIB_SUPPORT OFF)
|
|
SET(HDF5_EXTERNALLY_CONFIGURED 1)
|
|
|
|
INCLUDE_DIRECTORIES(bslz4/src)
|
|
|
|
FetchContent_Declare(hdf5
|
|
URL https://github.com/HDFGroup/hdf5/releases/download/hdf5_1.14.6/hdf5-1.14.6.tar.gz
|
|
DOWNLOAD_EXTRACT_TIMESTAMP FALSE
|
|
EXCLUDE_FROM_ALL)
|
|
|
|
FetchContent_MakeAvailable(hdf5)
|
|
|
|
ADD_LIBRARY(durin-plugin SHARED
|
|
src/plugin.c src/plugin.h
|
|
src/err.c src/err.h
|
|
src/filters.c src/filters.h
|
|
src/file.c src/file.h bslz4/src/bitshuffle.c bslz4/src/bitshuffle.h
|
|
bslz4/src/bitshuffle_core.c bslz4/src/bitshuffle_core.h
|
|
bslz4/src/bitshuffle_internals.h
|
|
bslz4/src/bshuf_h5filter.c bslz4/src/bshuf_h5filter.h
|
|
bslz4/src/iochain.c bslz4/src/iochain.h
|
|
bslz4/src/lz4.c bslz4/src/lz4.h
|
|
)
|
|
|
|
set_target_properties(durin-plugin PROPERTIES VERSION 1.0.0)
|
|
|
|
TARGET_COMPILE_DEFINITIONS(durin-plugin PRIVATE
|
|
H5_USE_110_API
|
|
USE_BITSHUFFLE)
|
|
|
|
TARGET_LINK_LIBRARIES(durin-plugin PRIVATE hdf5-static)
|