11cmake_minimum_required (VERSION 3.12 )
22
3- project (HDF5_VOL_ASYNC VERSION 0.0.1 LANGUAGES C )
3+ project (HDF5_VOL_ASYNC VERSION 1.9.0 LANGUAGES C )
44
55set (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" ${CMAKE_MODULE_PATH} )
66
77set (CMAKE_POSITION_INDEPENDENT_CODE ON )
88
9- find_package (MPI REQUIRED )
10- find_package (ABT REQUIRED )
11- find_package (HDF5 REQUIRED COMPONENTS C )
9+ if (NOT HDF5_VOL_ASYNC_PACKAGE_SOURCE)
10+ find_package (MPI REQUIRED )
11+ find_package (ABT REQUIRED )
12+ find_package (HDF5 REQUIRED COMPONENTS C )
1213
13- include_directories (${MPI_INCLUDE_PATH} )
14- include_directories (${HDF5_INCLUDE_DIRS} )
14+ include_directories (${MPI_INCLUDE_PATH} )
15+ include_directories (${HDF5_INCLUDE_DIRS} )
16+ endif ()
1517
1618include (CTest )
1719enable_testing ()
@@ -32,14 +34,16 @@ if(NOT HDF5_VOL_ASYNC_INSTALL_TEST_DIR)
3234 set (HDF5_VOL_ASYNC_INSTALL_TEST_DIR ${CMAKE_INSTALL_PREFIX} /test)
3335endif ()
3436
35- include (CheckSymbolExists )
36- list (APPEND CMAKE_REQUIRED_INCLUDES ${HDF5_INCLUDE_DIRS} )
37- if (NOT HDF5_IS_PARALLEL)
38- check_symbol_exists (H5_HAVE_PARALLEL "H5pubconf.h" HDF5_HAVE_PARALLEL )
39- if (NOT HDF5_HAVE_PARALLEL)
40- message (FATAL_ERROR "HDF5 library needs to enable parallel support." )
37+ if (NOT HDF5_VOL_ASYNC_PACKAGE_SOURCE)
38+ include (CheckSymbolExists )
39+ list (APPEND CMAKE_REQUIRED_INCLUDES ${HDF5_INCLUDE_DIRS} )
40+ if (NOT HDF5_IS_PARALLEL)
41+ check_symbol_exists (H5_HAVE_PARALLEL "H5pubconf.h" HDF5_HAVE_PARALLEL )
42+ if (NOT HDF5_HAVE_PARALLEL)
43+ message (FATAL_ERROR "HDF5 library needs to enable parallel support." )
44+ endif ()
4145 endif ()
42- endif ()
46+ endif ()
4347
4448# Comment out until H5_IS_THREADSAFE is added as a CMake variable. Otherwise,
4549# this may fail when fetch content is used in VOL testing with HDF5 actions.
@@ -85,3 +89,47 @@ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)
8589#-----------------------------------------------------------------------------
8690include_directories (${CMAKE_CURRENT_SOURCE_DIR} /src )
8791add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR} /test )
92+
93+ #-----------------------------------------------------------------------------
94+ # CPack
95+ #-----------------------------------------------------------------------------
96+ set (CPACK_PACKAGE_NAME "${HDF5_VOL_ASYNC_PACKAGE_NAME} " )
97+ set (CPACK_PACKAGE_DESCRIPTION_FILE ${HDF5_VOL_ASYNC_SOURCE_DIR} /README.md)
98+ set (CPACK_RESOURCE_FILE_LICENSE ${HDF5_VOL_ASYNC_SOURCE_DIR} /LICENSE.txt)
99+ set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "${HDF5_VOL_ASYNC_PACKAGE_DESCRIPTION} " )
100+ set (CPACK_PACKAGE_VENDOR "${HDF5_VOL_ASYNC_PACKAGE_VENDOR} " )
101+ set (CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR} " )
102+ set (CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR} " )
103+ set (CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH} " )
104+ set (CPACK_SOURCE_PACKAGE_FILE_NAME ${HDF5_VOL_ASYNC_PACKAGE} -${PROJECT_VERSION} )
105+ set (CPACK_SOURCE_IGNORE_FILES
106+ # Files specific to version control
107+ "/\\\\ .git/"
108+ "/\\\\ .git$"
109+ "/\\\\ .gitattributes$"
110+ "/\\\\ .github/"
111+ "/\\\\ .gitignore$"
112+ "/\\\\ .gitmodules$"
113+
114+ # IDE files
115+ "/\\\\ .vscode/"
116+ "/\\\\ .settings/"
117+ "/\\\\ .autotools$"
118+ "/\\\\ .autotools$"
119+ "/\\\\ .project$"
120+ "/\\\\ .cproject$"
121+
122+ # Misc
123+ "/\\\\ .gitlab-ci.yml$"
124+
125+ # Build
126+ "/build/"
127+
128+ # Temporary files
129+ "\\\\ .swp$"
130+ "\\\\ .#"
131+ "/#"
132+ "~$"
133+ )
134+
135+ include (CPack )
0 commit comments