Newer
Older
cmake_minimum_required(VERSION 3.10)
project (H5PL C)
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#-----------------------------------------------------------------------------
# Basic H5PL stuff here
#-----------------------------------------------------------------------------
include (${H5PL_SOURCE_DIR}/config/cmake/HDFMacros.cmake)
include (${H5PL_SOURCE_DIR}/config/cmake/HDFPluginMacros.cmake)
SET_HDF_BUILD_TYPE()
set (H5PL_EXPORTED_TARGETS "")
BASIC_SETTINGS (${PL_PACKAGE_NAME})
set (H5PL_VERS_MAJOR "1")
set (H5PL_VERS_MINOR "10")
set (H5PL_VERS_RELEASE "6")
set (H5PL_OVERRIDE_VERSION "1.10.6")
set (H5PL_SOVERS_MAJOR 1)
set (H5PL_SOVERS_MINOR 0)
set (H5PL_SOVERS_INTERFACE 1)
set (H5PL_SOVERS_RELEASE 0)
math (EXPR H5PL_SOVERS_MAJOR ${H5PL_SOVERS_INTERFACE}-${H5PL_SOVERS_RELEASE})
set (H5PL_PACKAGE_VERSION "${H5PL_VERS_MAJOR}.${H5PL_VERS_MINOR}.${H5PL_VERS_RELEASE}")
set (H5PL_PACKAGE_VERSION_STRING "${H5PL_PACKAGE_VERSION}")
set (H5PL_PACKAGE_VERSION_MAJOR "${H5PL_VERS_MAJOR}")
set (H5PL_PACKAGE_VERSION_MINOR "${H5PL_VERS_MINOR}")
set (H5PL_PACKAGE_STRING "${H5PL_PACKAGE_NAME}")
set (H5PL_PACKAGE_TARNAME "${H5PL_PACKAGE_NAME}${HDF_PACKAGE_EXT}")
set (H5PL_PACKAGE_URL "https://support.hdfgroup.org/hdf5/")
set (H5PL_PACKAGE_BUGREPORT "help@hdfgroup.org")
#-----------------------------------------------------------------------------
# Include some macros for reusable code
#-----------------------------------------------------------------------------
include (${H5PL_RESOURCES_DIR}/H5PLMacros.cmake)
#-----------------------------------------------------------------------------
# HDF5 support
#-----------------------------------------------------------------------------
HDF5_SUPPORT (TRUE)
message (STATUS "HDF5 link libs: ${LINK_LIBS}")
#-----------------------------------------------------------------------------
# External plugin targets for the H5PL super project.
#-----------------------------------------------------------------------------
include (ExternalProject)
set (H5PL_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT TGZ)")
set_property (CACHE H5PL_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ)
# Bitshuffle filter
FILTER_OPTION (BSHUF)
# BLOSC filter
FILTER_OPTION (BLOSC)
# BZIP2 filter
FILTER_OPTION (BZIP2)
# JPEG filter
FILTER_OPTION (JPEG)
# LZ4 filter
FILTER_OPTION (LZ4)
# LZF filter
FILTER_OPTION (LZF)
if (WIN32 AND MSVC_VERSION GREATER 1600)
# MAFISC filter
FILTER_OPTION (MAFISC)
elseif (NOT WIN32)
FILTER_OPTION (MAFISC)
endif ()
# ZFP filter
FILTER_OPTION (ZFP)
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
option (H5PL_BUILD_TESTING "Build h5pl Unit Testing" OFF)
if (H5PL_BUILD_TESTING)
set (DART_TESTING_TIMEOUT 1200 CACHE STRING
"Timeout in seconds for each test (default 1200=20minutes)")
enable_testing ()
include (CTest)
include (${PROJECT_SOURCE_DIR}/CTestConfig.cmake)
configure_file (${${PLUGIN_PACKAGE_NAME}_RESOURCES_DIR}/CTestCustom.cmake ${PROJECT_BINARY_DIR}/CTestCustom.ctest @ONLY)
endif ()
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
option (H5PL_CPACK_ENABLE "Enable the CPACK include and components" ON)
INSTALL_SUPPORT (H5PL)