Compare commits
463 Commits
inactive/p
...
inactive/1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
346fe1a0bc | ||
|
|
4c8e3573a7 | ||
|
|
c43323a06d | ||
|
|
89b2d1c8ce | ||
|
|
c56b9846c5 | ||
|
|
b43c2520bf | ||
|
|
f8a4c39577 | ||
|
|
39537399a1 | ||
|
|
6d1c05b8d2 | ||
|
|
ef683f7666 | ||
|
|
194c3faf95 | ||
|
|
a4618f9649 | ||
|
|
5d954a0214 | ||
|
|
d42e543f17 | ||
|
|
7003d49287 | ||
|
|
4ad465827a | ||
|
|
00491923f1 | ||
|
|
ab654ee7da | ||
|
|
5a52a6fa15 | ||
|
|
d46ca49e16 | ||
|
|
8ab0727d54 | ||
|
|
380200f0ed | ||
|
|
7ee92d5805 | ||
|
|
c2a7449951 | ||
|
|
1a2df2a6c3 | ||
|
|
b5a4fd517b | ||
|
|
c59817f343 | ||
|
|
86add4853d | ||
|
|
d628d1d8c8 | ||
|
|
ab3591b9ec | ||
|
|
519685d05c | ||
|
|
7f616e0b8a | ||
|
|
1d87374f68 | ||
|
|
4dfcc225ba | ||
|
|
eb2476bc41 | ||
|
|
2de6faf82b | ||
|
|
4867de9631 | ||
|
|
1f934ae2c6 | ||
|
|
19ef25909e | ||
|
|
36149c8a66 | ||
|
|
6084b4d003 | ||
|
|
a07ce44bee | ||
|
|
6fa80c0147 | ||
|
|
2e7811922f | ||
|
|
3e30d01921 | ||
|
|
670c6c1389 | ||
|
|
76b4748e78 | ||
|
|
4feb210059 | ||
|
|
1fb34f7e8c | ||
|
|
ca1165f3ab | ||
|
|
7dfec79e31 | ||
|
|
f3546fb4b0 | ||
|
|
c6efe52cc9 | ||
|
|
af7dc05789 | ||
|
|
5894e19ad5 | ||
|
|
8c34530608 | ||
|
|
228ec80c9c | ||
|
|
ad3a510e61 | ||
|
|
7ef7506ad4 | ||
|
|
cc0a892704 | ||
|
|
df98700e02 | ||
|
|
a8443acaa7 | ||
|
|
285bb9713c | ||
|
|
2f3c34c649 | ||
|
|
1848184afe | ||
|
|
35b6085c60 | ||
|
|
8a864f91eb | ||
|
|
970dccd54b | ||
|
|
81f446d311 | ||
|
|
a372f76ea6 | ||
|
|
4a0a1784db | ||
|
|
68ed170fbc | ||
|
|
d628025b50 | ||
|
|
675be2a4a4 | ||
|
|
62dce9ab87 | ||
|
|
6f103565f9 | ||
|
|
2cb70b01ea | ||
|
|
b78b3ea95e | ||
|
|
b7d6f11182 | ||
|
|
0c6110e586 | ||
|
|
1353f9552e | ||
|
|
cd1838e063 | ||
|
|
ae0a8a197b | ||
|
|
afc010179c | ||
|
|
247cb2989f | ||
|
|
0712f746e9 | ||
|
|
a4b254a92f | ||
|
|
51c5f6b4b9 | ||
|
|
118cb6a3e2 | ||
|
|
7dc26ef073 | ||
|
|
498001342d | ||
|
|
2a4e26146d | ||
|
|
10317c7b5b | ||
|
|
b705528a4e | ||
|
|
be7382c2e2 | ||
|
|
4a04b01299 | ||
|
|
47f58dfb23 | ||
|
|
f2f5d29ad5 | ||
|
|
bb9aa4376a | ||
|
|
c3e0799071 | ||
|
|
eadc775260 | ||
|
|
d6036ce89f | ||
|
|
f4f8be1912 | ||
|
|
e32b2b08c9 | ||
|
|
35f48aac5b | ||
|
|
698dec56d1 | ||
|
|
94993e41ed | ||
|
|
0d1b43c79c | ||
|
|
0527ced1c7 | ||
|
|
dfedd86433 | ||
|
|
6721c0f131 | ||
|
|
c7c3147587 | ||
|
|
2e44998a70 | ||
|
|
a4cfd0bfd7 | ||
|
|
4e31361dad | ||
|
|
9f9485a17a | ||
|
|
530fab929b | ||
|
|
e65cf4914a | ||
|
|
50138c3153 | ||
|
|
199327b417 | ||
|
|
2a9bd0c431 | ||
|
|
e594811caf | ||
|
|
29fc6bcd77 | ||
|
|
c52df2f5a5 | ||
|
|
fef7d6b0fc | ||
|
|
e9541010ee | ||
|
|
a01981ee98 | ||
|
|
12a0998b04 | ||
|
|
fb4e5c0570 | ||
|
|
9063babaaa | ||
|
|
f8c8387261 | ||
|
|
5d024102ad | ||
|
|
12fc6bf955 | ||
|
|
ae94128b32 | ||
|
|
7fb50a9700 | ||
|
|
38c89fa5c0 | ||
|
|
02d03b4624 | ||
|
|
d99c9670e5 | ||
|
|
ec42c4e3e1 | ||
|
|
34473a5348 | ||
|
|
a09bcbcb07 | ||
|
|
49cf6b370f | ||
|
|
cfebcaa2a3 | ||
|
|
caa7875ee4 | ||
|
|
fec7c48a4b | ||
|
|
611ecb5db4 | ||
|
|
0e2d46de76 | ||
|
|
01baff97f6 | ||
|
|
d0abe6502a | ||
|
|
9e55ff1ace | ||
|
|
217d57d30d | ||
|
|
3ba3c59a7d | ||
|
|
f439608c0e | ||
|
|
e90d59a69f | ||
|
|
0658286687 | ||
|
|
5398c881d2 | ||
|
|
d26963b180 | ||
|
|
7367fc0c1b | ||
|
|
5c1d48bdcc | ||
|
|
29064dcb10 | ||
|
|
8eb86b5a24 | ||
|
|
5b50796529 | ||
|
|
b910ec2763 | ||
|
|
cdf9d5984b | ||
|
|
c817bcdf0d | ||
|
|
399edb7314 | ||
|
|
7880089c0b | ||
|
|
68ec03a098 | ||
|
|
89b5b64b5c | ||
|
|
2bd5c6d529 | ||
|
|
9f61f559d1 | ||
|
|
2880ef43eb | ||
|
|
f4138013db | ||
|
|
d5c0a54878 | ||
|
|
0250b3650f | ||
|
|
0bf3398a0d | ||
|
|
b4fcb6df55 | ||
|
|
1b2fc19a8f | ||
|
|
4d676248df | ||
|
|
f31c6a513c | ||
|
|
3476c7d13d | ||
|
|
e61b3a7de9 | ||
|
|
de3ba98868 | ||
|
|
1ba63f95d3 | ||
|
|
bda9855f13 | ||
|
|
110eabd3e5 | ||
|
|
1925af114e | ||
|
|
dadf2b5fd8 | ||
|
|
c9cf24506b | ||
|
|
4bb965d9ec | ||
|
|
31a4fe779a | ||
|
|
534e535823 | ||
|
|
b52def6b9a | ||
|
|
6e489435e9 | ||
|
|
4027b47396 | ||
|
|
a043211d9e | ||
|
|
46f63b0faa | ||
|
|
f12d2263d9 | ||
|
|
002ad193f3 | ||
|
|
55806ff1be | ||
|
|
13f64f251c | ||
|
|
9deed08185 | ||
|
|
688074781a | ||
|
|
b06fb9c536 | ||
|
|
91ec0f5276 | ||
|
|
98b2d7d8bb | ||
|
|
00f835f640 | ||
|
|
1a50622733 | ||
|
|
d378fad6ea | ||
|
|
46af130aae | ||
|
|
257e05e1b2 | ||
|
|
f7d530dd27 | ||
|
|
a21b778517 | ||
|
|
10e504fd4f | ||
|
|
489f6fb697 | ||
|
|
906479d397 | ||
|
|
d617b56aac | ||
|
|
cc8cc7f086 | ||
|
|
fcd34deec2 | ||
|
|
82dd54c26b | ||
|
|
150b73bb1a | ||
|
|
bd0481ffeb | ||
|
|
1379878b7a | ||
|
|
f891c38c6e | ||
|
|
44895c80ac | ||
|
|
e1d865a11d | ||
|
|
5b32111a26 | ||
|
|
794f759de6 | ||
|
|
8e5bdd64d9 | ||
|
|
70d23fb54b | ||
|
|
2713fb12b1 | ||
|
|
19e9cce732 | ||
|
|
600d44292b | ||
|
|
734744df94 | ||
|
|
277757fe9f | ||
|
|
da26a1802f | ||
|
|
3c6944b684 | ||
|
|
a8dc9793cb | ||
|
|
e46a974f78 | ||
|
|
7632af7c14 | ||
|
|
a843778759 | ||
|
|
17d5f51bed | ||
|
|
029491e877 | ||
|
|
d531e1b6f7 | ||
|
|
a88e78ace7 | ||
|
|
51edd286ac | ||
|
|
0ef5889862 | ||
|
|
74a3710a99 | ||
|
|
43bd13837d | ||
|
|
269224c73d | ||
|
|
c8912e3c47 | ||
|
|
e234913060 | ||
|
|
22bc8ba7bf | ||
|
|
5444ea3175 | ||
|
|
e6121500d9 | ||
|
|
0e5ac5fe2f | ||
|
|
bc4e1c2e54 | ||
|
|
3510221209 | ||
|
|
1cffc3ff0f | ||
|
|
88e514a6e5 | ||
|
|
c71556168c | ||
|
|
7155b037ed | ||
|
|
1f96bda4b7 | ||
|
|
21e73fd58d | ||
|
|
5d457dd379 | ||
|
|
8255e0f81b | ||
|
|
eea735a011 | ||
|
|
63ba86519b | ||
|
|
df1e4fbda0 | ||
|
|
125d5d4e7d | ||
|
|
456e22540f | ||
|
|
5fc251dc59 | ||
|
|
2b616c7c18 | ||
|
|
67db60c2c2 | ||
|
|
c00b686357 | ||
|
|
fe15b8a0b8 | ||
|
|
7445c7d61a | ||
|
|
501de7ec91 | ||
|
|
32d4f11c9c | ||
|
|
e4c4330385 | ||
|
|
37255e671f | ||
|
|
a9cb14740f | ||
|
|
3b9e13a1b8 | ||
|
|
79858bfde5 | ||
|
|
0a7424c7d0 | ||
|
|
cd15e7eaa2 | ||
|
|
ec72efcd4d | ||
|
|
54261d6c92 | ||
|
|
c269ecea41 | ||
|
|
c8bf336084 | ||
|
|
e79ea792df | ||
|
|
d33038cf0c | ||
|
|
25e3b32d12 | ||
|
|
91771bdf4d | ||
|
|
a1a79203b8 | ||
|
|
3044a61ac5 | ||
|
|
471917c638 | ||
|
|
c32dba2f99 | ||
|
|
81b2943b6f | ||
|
|
299a605661 | ||
|
|
ee6862d719 | ||
|
|
0b321904a3 | ||
|
|
b81adf00bc | ||
|
|
202d740328 | ||
|
|
b6e61e8310 | ||
|
|
ea2a969ce2 | ||
|
|
a9e9cc2918 | ||
|
|
bc35bf6b3e | ||
|
|
9c29c87128 | ||
|
|
8f103a935b | ||
|
|
873249b58b | ||
|
|
f5aafbc87a | ||
|
|
e5b9c70304 | ||
|
|
b708f4148a | ||
|
|
3110fd53c0 | ||
|
|
822f5f12d5 | ||
|
|
930818ca67 | ||
|
|
20712bef86 | ||
|
|
a033634b6a | ||
|
|
e1f4d0c5d2 | ||
|
|
d0a62ef975 | ||
|
|
86e489b6ab | ||
|
|
930d67649d | ||
|
|
2ee65646c3 | ||
|
|
99e0c1043e | ||
|
|
d8ec4df928 | ||
|
|
f4f2e83d22 | ||
|
|
ebc3d3eda5 | ||
|
|
9e466086f4 | ||
|
|
87fc66f41b | ||
|
|
6e66005441 | ||
|
|
282272a727 | ||
|
|
a00d6795ce | ||
|
|
4363609ef0 | ||
|
|
f96190845c | ||
|
|
4393a79e96 | ||
|
|
36d3515ad8 | ||
|
|
5e6baf8972 | ||
|
|
731ebbb93f | ||
|
|
ed16ca44b5 | ||
|
|
3537a81e35 | ||
|
|
c9b8f6b44b | ||
|
|
0b87689625 | ||
|
|
e7ac7c896d | ||
|
|
995d174047 | ||
|
|
844e1442e0 | ||
|
|
bad45f2eef | ||
|
|
836c3bcae2 | ||
|
|
aab40090f0 | ||
|
|
589845a3ce | ||
|
|
811abba1c7 | ||
|
|
820c51d648 | ||
|
|
1029540525 | ||
|
|
de067e27d4 | ||
|
|
3f0655a0a4 | ||
|
|
7a7ab1939d | ||
|
|
58a42e0039 | ||
|
|
b14dc67e19 | ||
|
|
a60f7d1dc6 | ||
|
|
09b74727d3 | ||
|
|
64f5cd75aa | ||
|
|
5c3b993e82 | ||
|
|
557406cee8 | ||
|
|
32719fffd9 | ||
|
|
f2d0a34045 | ||
|
|
b9511a1fc3 | ||
|
|
423b4ecd65 | ||
|
|
08c1bf7b3b | ||
|
|
2a3442872a | ||
|
|
da698a0720 | ||
|
|
f378513a67 | ||
|
|
0bc17f0e63 | ||
|
|
f827e1d045 | ||
|
|
89c1ce3c1f | ||
|
|
51b90ecad3 | ||
|
|
f7c115f42a | ||
|
|
78c4623235 | ||
|
|
51a5d112ad | ||
|
|
d7d5623399 | ||
|
|
d47ffdb828 | ||
|
|
afa166154f | ||
|
|
cc2ded2a16 | ||
|
|
bccf6e38a4 | ||
|
|
7a4025f259 | ||
|
|
d4298589fe | ||
|
|
0623b06b15 | ||
|
|
07c33d0eb8 | ||
|
|
3e7979902a | ||
|
|
668fd63279 | ||
|
|
b077040516 | ||
|
|
929675899f | ||
|
|
4f5bdadd50 | ||
|
|
9002612504 | ||
|
|
23b96a8dc8 | ||
|
|
e2423982a1 | ||
|
|
4b8047e4c3 | ||
|
|
dbeab5ca03 | ||
|
|
ed1bfe3733 | ||
|
|
57db75b9de | ||
|
|
4694634240 | ||
|
|
c9e737aca2 | ||
|
|
5c51cd4212 | ||
|
|
44507db95d | ||
|
|
476a6ecc5c | ||
|
|
edf4ff66b2 | ||
|
|
e205cb8266 | ||
|
|
5fce1be646 | ||
|
|
f9bfd5d9ad | ||
|
|
2c6dadbd13 | ||
|
|
732e996de7 | ||
|
|
bb436dbc61 | ||
|
|
2c5c115a61 | ||
|
|
2b193845d2 | ||
|
|
01016b1fec | ||
|
|
d3fedf9510 | ||
|
|
7de3caf110 | ||
|
|
bf76b30fb8 | ||
|
|
ebdd92af19 | ||
|
|
677bcbdfc8 | ||
|
|
0ebac51cd5 | ||
|
|
cb1daac228 | ||
|
|
386b5f7bf8 | ||
|
|
df934cd665 | ||
|
|
56d1d200b8 | ||
|
|
c992df8d8f | ||
|
|
35542e9de8 | ||
|
|
69c3bdc9e8 | ||
|
|
f9d2edc7ed | ||
|
|
622806b89d | ||
|
|
edeac9f067 | ||
|
|
f706bd0da1 | ||
|
|
710771e713 | ||
|
|
992a199f90 | ||
|
|
08e71a98e9 | ||
|
|
81f4245a7c | ||
|
|
d0362ce438 | ||
|
|
e57234b027 | ||
|
|
3e510f48a2 | ||
|
|
c058e5eb7e | ||
|
|
21a5db8d98 | ||
|
|
883f0a4eb8 | ||
|
|
9e3ee40a3b | ||
|
|
c3f4af256a | ||
|
|
076b77891a | ||
|
|
114a63a258 | ||
|
|
d79475c482 | ||
|
|
78d4fbddbd | ||
|
|
256f74f532 | ||
|
|
f42c00b5ec | ||
|
|
1268499234 | ||
|
|
44080eeabd | ||
|
|
4eccacf11c | ||
|
|
d99570506c | ||
|
|
fe8d5bcb7a | ||
|
|
03fe2e65e0 | ||
|
|
cd3362b696 | ||
|
|
73aa776893 | ||
|
|
8a24e84ac8 | ||
|
|
792b3352b9 | ||
|
|
c0dfec8913 | ||
|
|
2e0b958196 | ||
|
|
7636342d95 | ||
|
|
f89bdb7753 |
@@ -27,7 +27,15 @@ if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MAT
|
||||
set (TGZPATH ${HDF5_SOURCE_DIR})
|
||||
endif ()
|
||||
set (ZLIB_URL ${TGZPATH}/${ZLIB_TGZ_NAME})
|
||||
if (NOT EXISTS "${ZLIB_URL}")
|
||||
set (HDF5_ENABLE_Z_LIB_SUPPORT OFF CACHE BOOL "" FORCE)
|
||||
message (STATUS "Filter ZLIB file ${ZLIB_URL} not found")
|
||||
endif ()
|
||||
set (SZIP_URL ${TGZPATH}/${SZIP_TGZ_NAME})
|
||||
if (NOT EXISTS "${SZIP_URL}")
|
||||
set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "" FORCE)
|
||||
message (STATUS "Filter SZIP file ${SZIP_URL} not found")
|
||||
endif ()
|
||||
else ()
|
||||
set (ZLIB_USE_EXTERNAL 0)
|
||||
set (SZIP_USE_EXTERNAL 0)
|
||||
|
||||
@@ -33,7 +33,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
EXPORT ${HDF5_EXPORTED_TARGETS}
|
||||
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/hdf5
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
NAMESPACE ${HDF5_PACKAGE}::
|
||||
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
|
||||
COMPONENT configinstall
|
||||
)
|
||||
endif ()
|
||||
@@ -45,7 +45,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
export (
|
||||
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES} ${HDF5_UTILS_TO_EXPORT}
|
||||
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
|
||||
NAMESPACE ${HDF5_PACKAGE}::
|
||||
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -125,7 +125,7 @@ else ()
|
||||
endif ()
|
||||
configure_file (
|
||||
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
|
||||
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
|
||||
${HDF5_BINARY_DIR}/libhdf5.settings ESCAPE_QUOTES @ONLY
|
||||
)
|
||||
install (
|
||||
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
|
||||
@@ -134,7 +134,7 @@ install (
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure the HDF518_Examples.cmake file and the examples
|
||||
# Configure the HDF5_Examples.cmake file and the examples
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
|
||||
if (HDF5_PACK_EXAMPLES)
|
||||
@@ -215,6 +215,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
|
||||
if (HDF5_PACK_INSTALL_DOCS)
|
||||
set (release_files
|
||||
${release_files}
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Warnings.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
|
||||
${HDF5_SOURCE_DIR}/release_docs/INSTALL
|
||||
|
||||
111
CMakeLists.txt
111
CMakeLists.txt
@@ -10,7 +10,7 @@ project (HDF5 C)
|
||||
# set CMAKE_INSTALL_PREFIX to the required install path.
|
||||
# Make install can be used to install all components for system-wide use.
|
||||
#
|
||||
if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
||||
MESSAGE(FATAL_ERROR "\nERROR! ${PROJECT_NAME} DOES NOT SUPPORT IN SOURCE BUILDS!\n"
|
||||
"CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
" == CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}\n"
|
||||
@@ -46,6 +46,9 @@ endif ()
|
||||
# dependencies of the HDF5 libs may be 'incomplete', add additional
|
||||
# dependencies to this variable so that external projects pick them up
|
||||
#
|
||||
#option (HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." "")
|
||||
set (HDF5_EXTERNAL_LIB_PREFIX "" CACHE STRING "Use prefix for custom library naming.")
|
||||
mark_as_advanced (HDF5_EXTERNAL_LIB_PREFIX)
|
||||
# HDF5_EXTERNAL_LIB_PREFIX :
|
||||
# If the parent project needs to install hdf libraries, but avoid
|
||||
# name conflicts with system versions, then a prefix may be added
|
||||
@@ -311,7 +314,7 @@ set (HDF5_PACKAGE_NAME "HDF5")
|
||||
set (HDF5_PACKAGE_VERSION "${H5_VERS_MAJOR}.${H5_VERS_MINOR}.${H5_VERS_RELEASE}")
|
||||
set (HDF5_PACKAGE_VERSION_MAJOR "${H5_VERS_MAJOR}.${H5_VERS_MINOR}")
|
||||
set (HDF5_PACKAGE_VERSION_MINOR "${H5_VERS_RELEASE}")
|
||||
if (NOT "${H5_VERS_SUBRELEASE}" STREQUAL "")
|
||||
if (H5_VERS_SUBRELEASE)
|
||||
set (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}-${H5_VERS_SUBRELEASE}")
|
||||
else ()
|
||||
set (HDF5_PACKAGE_VERSION_STRING "${HDF5_PACKAGE_VERSION}")
|
||||
@@ -413,24 +416,29 @@ set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
|
||||
# Mac OS X Options
|
||||
#-----------------------------------------------------------------------------
|
||||
if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
|
||||
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
|
||||
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Build Shared and Static libs, default is both
|
||||
#-----------------------------------------------------------------------------
|
||||
option (ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF)
|
||||
set (H5_ENABLE_STATIC_LIB YES)
|
||||
if (ONLY_SHARED_LIBS)
|
||||
set (H5_ENABLE_STATIC_LIB NO)
|
||||
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
|
||||
endif ()
|
||||
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
|
||||
set (H5_ENABLE_SHARED_LIB NO)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (H5_ENABLE_SHARED_LIB YES)
|
||||
endif ()
|
||||
set (H5_ENABLE_STATIC_LIB YES)
|
||||
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Build Static executables
|
||||
#-----------------------------------------------------------------------------
|
||||
option (BUILD_STATIC_EXECS "Build Static Executabless" OFF)
|
||||
option (BUILD_STATIC_EXECS "Build Static Executables" OFF)
|
||||
if (BUILD_STATIC_EXECS)
|
||||
if (NOT WIN32)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
|
||||
@@ -443,9 +451,14 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
|
||||
if (HDF5_ENABLE_COVERAGE)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
|
||||
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g --coverage -O0 -fprofile-arcs -ftest-coverage")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
|
||||
link_libraries (gcov)
|
||||
else ()
|
||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -473,6 +486,15 @@ if (HDF5_MEMORY_ALLOC_SANITY_CHECK)
|
||||
set (H5_MEMORY_ALLOC_SANITY_CHECK 1)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to enable/disable using pread/pwrite for VFDs
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_PREADWRITE "Use pread/pwrite in sec2/log/core VFDs in place of read/write (when available)" ON)
|
||||
mark_as_advanced (HDF5_ENABLE_PREADWRITE)
|
||||
if (HDF5_ENABLE_PREADWRITE AND H5_HAVE_PREAD AND H5_HAVE_PWRITE)
|
||||
set (H5_HAVE_PREADWRITE 1)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to use deprecated public API symbols
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -543,11 +565,11 @@ else ()
|
||||
endif ()
|
||||
|
||||
include (${HDF_RESOURCES_DIR}/HDFCompilerFlags.cmake)
|
||||
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Enable MPI Parallel
|
||||
#-----------------------------------------------------------------------------
|
||||
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
|
||||
option (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
|
||||
if (HDF5_ENABLE_PARALLEL)
|
||||
find_package(MPI REQUIRED)
|
||||
@@ -555,12 +577,33 @@ if (HDF5_ENABLE_PARALLEL)
|
||||
set (H5_HAVE_PARALLEL 1)
|
||||
# MPI checks, only do these if MPI_C_FOUND is true, otherwise they always fail
|
||||
# and once set, they are cached as false and not regenerated
|
||||
set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}" )
|
||||
set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}")
|
||||
set (CMAKE_REQUIRED_INCLUDES "${MPI_C_INCLUDE_DIRS}")
|
||||
# Used by Fortran + MPI
|
||||
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
|
||||
|
||||
# Used by Parallel Compression feature
|
||||
set (PARALLEL_FILTERED_WRITES ON)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Mprobe "mpi.h" H5_HAVE_MPI_Mprobe)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Imrecv "mpi.h" H5_HAVE_MPI_Imrecv)
|
||||
if (NOT H5_HAVE_MPI_Mprobe OR NOT H5_HAVE_MPI_Imrecv)
|
||||
message (WARNING "The MPI_Mprobe and/or MPI_Imrecv functions could not be located.
|
||||
Parallel writes of filtered data will be disabled.")
|
||||
set (PARALLEL_FILTERED_WRITES OFF)
|
||||
endif ()
|
||||
|
||||
# Used by big I/O feature
|
||||
set (LARGE_PARALLEL_IO ON)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Get_elements_x "mpi.h" H5_HAVE_MPI_Get_elements_x)
|
||||
CHECK_SYMBOL_EXISTS (MPI_Type_size_x "mpi.h" H5_HAVE_MPI_Type_size_x)
|
||||
if (NOT H5_HAVE_MPI_Get_elements_x OR NOT H5_HAVE_MPI_Type_size_x)
|
||||
message (WARNING "The MPI_Get_elements_x and/or MPI_Type_size_x functions could not be located.
|
||||
Reading/Writing >2GB of data in a single parallel I/O operation will be disabled.")
|
||||
set (LARGE_PARALLEL_IO OFF)
|
||||
endif ()
|
||||
else ()
|
||||
message (STATUS "Parallel libraries not found")
|
||||
message (FATAL_ERROR "Parallel libraries not found")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -593,6 +636,16 @@ if (HDF5_USE_18_API_DEFAULT)
|
||||
set (DEFAULT_API_VERSION "v18")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to use 1.10.x API
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_USE_110_API_DEFAULT "Use the HDF5 1.10.x API by default" ON)
|
||||
set (H5_USE_110_API_DEFAULT 0)
|
||||
if (HDF5_USE_110_API_DEFAULT)
|
||||
set (H5_USE_110_API_DEFAULT 1)
|
||||
set (DEFAULT_API_VERSION "v110")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Include user macros
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -677,13 +730,17 @@ add_subdirectory (src)
|
||||
|
||||
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
|
||||
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
|
||||
add_dependencies (${HDF5_LIB_TARGET} ZLIB)
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_dependencies (${HDF5_LIB_TARGET} ZLIB)
|
||||
endif ()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_dependencies (${HDF5_LIBSH_TARGET} ZLIB)
|
||||
endif ()
|
||||
endif ()
|
||||
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
|
||||
add_dependencies (${HDF5_LIB_TARGET} SZIP)
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_dependencies (${HDF5_LIB_TARGET} SZIP)
|
||||
endif ()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_dependencies (${HDF5_LIBSH_TARGET} SZIP)
|
||||
endif ()
|
||||
@@ -696,10 +753,15 @@ endif ()
|
||||
option (BUILD_TESTING "Build HDF5 Unit Testing" ON)
|
||||
if (BUILD_TESTING)
|
||||
set (DART_TESTING_TIMEOUT 1200
|
||||
CACHE INTEGER
|
||||
CACHE STRING
|
||||
"Timeout in seconds for each test (default 1200=20minutes)"
|
||||
)
|
||||
|
||||
# Generate a list of timeouts based on DART_TESTING_TIMEOUT
|
||||
math (EXPR CTEST_SHORT_TIMEOUT "${DART_TESTING_TIMEOUT} / 2")
|
||||
math (EXPR CTEST_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 2")
|
||||
math (EXPR CTEST_VERY_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 3")
|
||||
|
||||
option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
|
||||
mark_as_advanced (HDF5_TEST_VFD)
|
||||
if (HDF5_TEST_VFD)
|
||||
@@ -770,25 +832,20 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
|
||||
if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
|
||||
option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
|
||||
if (HDF5_BUILD_FORTRAN)
|
||||
|
||||
option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON)
|
||||
|
||||
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
|
||||
|
||||
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
|
||||
# Building with PGI requires CMake 3.3 or greater because previous versions
|
||||
# of CMake add the wrong compiler flag for the PGI Fortran compiler.
|
||||
if ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "PGI" AND "${CMAKE_VERSION}" VERSION_LESS "3.3")
|
||||
if (CMAKE_Fortran_COMPILER_ID MATCHES "PGI" AND CMAKE_VERSION VERSION_LESS "3.3")
|
||||
message (FATAL_ERROR " **** PGI FORTRAN REQUIRES CMAKE VERSION 3.3 OR GREATER **** ")
|
||||
endif ()
|
||||
|
||||
include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
|
||||
set (LINK_Fortran_LIBS ${LINK_LIBS})
|
||||
|
||||
if (HDF5_ENABLE_F2003)
|
||||
if (NOT FORTRAN_HAVE_ISO_C_BINDING)
|
||||
set (HDF5_ENABLE_F2003 OFF)
|
||||
endif ()
|
||||
if (NOT H5_FORTRAN_HAVE_ISO_C_BINDING)
|
||||
message (FATAL_ERROR " **** Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, disable HDF5_BUILD_FORTRAN **** ")
|
||||
endif ()
|
||||
|
||||
# Parallel IO usage requires MPI to be Linked and Included
|
||||
@@ -864,4 +921,10 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Options for use by cross compiling and toolchains
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_USE_PREGEN "Use pre-generated Files" OFF)
|
||||
option (HDF5_BATCH_H5DETECT "Use a batch command for running h5detect" OFF)
|
||||
|
||||
include (CMakeInstallation.cmake)
|
||||
|
||||
29
COPYING
29
COPYING
@@ -3,7 +3,7 @@ HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
Copyright (c) 2006, The HDF Group.
|
||||
Copyright (c) 2006-2018, The HDF Group.
|
||||
|
||||
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
|
||||
Copyright (c) 1998-2006, The Board of Trustees of the University of Illinois.
|
||||
@@ -21,27 +21,16 @@ provided that the following conditions are met:
|
||||
this list of conditions, and the following disclaimer in the documentation
|
||||
and/or materials provided with the distribution.
|
||||
|
||||
3. In addition, redistributions of modified forms of the source or binary
|
||||
code must carry prominent notices stating that the original code was
|
||||
changed and the date of the change.
|
||||
|
||||
4. All publications or advertising materials mentioning features or use of
|
||||
this software are asked, but not required, to acknowledge that it was
|
||||
developed by The HDF Group and by the National Center for Supercomputing
|
||||
Applications at the University of Illinois at Urbana-Champaign and
|
||||
credit the contributors.
|
||||
|
||||
5. Neither the name of The HDF Group, the name of the University, nor the
|
||||
3. Neither the name of The HDF Group, the name of the University, nor the
|
||||
name of any Contributor may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission from
|
||||
The HDF Group, the University, or the Contributor, respectively.
|
||||
|
||||
DISCLAIMER:
|
||||
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS
|
||||
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In no
|
||||
event shall The HDF Group or the Contributors be liable for any damages
|
||||
suffered by the users arising out of the use of this software, even if
|
||||
advised of the possibility of such damage.
|
||||
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT SHALL THE HDF GROUP OR THE CONTRIBUTORS BE LIABLE FOR ANY DAMAGES SUFFERED BY THE USERS ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to The HDF Group, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -55,9 +44,7 @@ http://support.hdfgroup.org/ftp/HDF5/releases/COPYING_LBNL_HDF5.
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Contributors: National Center for Supercomputing Applications (NCSA) at
|
||||
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
|
||||
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
|
||||
and Digital Equipment Corporation (DEC).
|
||||
the University of Illinois, Fortner Software, Unidata Program Center (netCDF), The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), and Digital Equipment Corporation (DEC).
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
@@ -98,8 +85,8 @@ and/or accompanying materials:
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
HDF5 is available with the SZIP compression library but SZIP is not part
|
||||
of HDF5 and has separate copyright and license terms. See “Szip Compression
|
||||
in HDF Products” (https://support.hdfgroup.org/doc_resource/SZIP/) for further details.
|
||||
of HDF5 and has separate copyright and license terms. See SZIP Compression
|
||||
in HDF Products (www.hdfgroup.org/doc_resource/SZIP/) for further details.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -19,12 +19,23 @@ set (CTEST_PROJECT_NAME "HDF5")
|
||||
set (CTEST_NIGHTLY_START_TIME "18:00:00 CST")
|
||||
|
||||
set (CTEST_DROP_METHOD "http")
|
||||
if (CDASH_LOCAL)
|
||||
set (CTEST_DROP_SITE "cdash-internal.hdfgroup.org")
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5Trunk")
|
||||
if (CTEST_DROP_SITE_INIT)
|
||||
set (CTEST_DROP_SITE "${CTEST_DROP_SITE_INIT}")
|
||||
else ()
|
||||
set (CTEST_DROP_SITE "cdash.hdfgroup.org")
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5")
|
||||
if (CDASH_LOCAL)
|
||||
set (CTEST_DROP_SITE "cdash-internal.hdfgroup.org")
|
||||
else ()
|
||||
set (CTEST_DROP_SITE "cdash.hdfgroup.org")
|
||||
endif ()
|
||||
endif ()
|
||||
if (CTEST_DROP_LOCATION_INIT)
|
||||
set (CTEST_DROP_LOCATION "${CTEST_DROP_LOCATION_INIT}")
|
||||
else ()
|
||||
if (CDASH_LOCAL)
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5110")
|
||||
else ()
|
||||
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5")
|
||||
endif ()
|
||||
endif ()
|
||||
set (CTEST_DROP_SITE_CDASH TRUE)
|
||||
|
||||
@@ -34,9 +45,9 @@ set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=
|
||||
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
|
||||
set (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
|
||||
|
||||
set (CTEST_TEST_TIMEOUT 600 CACHE STRING
|
||||
set (CTEST_TEST_TIMEOUT 1200 CACHE STRING
|
||||
"Maximum time allowed before CTest will kill the test.")
|
||||
set (DART_TESTING_TIMEOUT 600 CACHE STRING
|
||||
set (DART_TESTING_TIMEOUT 1200 CACHE STRING
|
||||
"Maximum time allowed before CTest will kill the test." FORCE)
|
||||
|
||||
SET(CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING
|
||||
|
||||
154
MANIFEST
154
MANIFEST
@@ -71,12 +71,15 @@
|
||||
./bin/errors _DO_NOT_DISTRIBUTE_
|
||||
./bin/genparser
|
||||
./bin/gcov_script _DO_NOT_DISTRIBUTE_
|
||||
./bin/h5cc.in
|
||||
./bin/h5redeploy.in
|
||||
./bin/h5vers
|
||||
./bin/iostats
|
||||
./bin/locate_sw
|
||||
./bin/make_err
|
||||
./bin/make_overflow
|
||||
./bin/make_vers
|
||||
./bin/Makefile.am
|
||||
./bin/makehelp
|
||||
./bin/mkdirs
|
||||
./bin/newer
|
||||
@@ -92,6 +95,21 @@
|
||||
./bin/timekeeper _DO_NOT_DISTRIBUTE_
|
||||
./bin/trace
|
||||
./bin/yodconfigure
|
||||
./bin/batch/cori_ctestP.sl.in.cmake
|
||||
./bin/batch/cori_ctestS.sl.in.cmake
|
||||
./bin/batch/cori_knl_ctestP.sl.in.cmake
|
||||
./bin/batch/cori_knl_ctestS.sl.in.cmake
|
||||
./bin/batch/ctestP.lsf.in.cmake
|
||||
./bin/batch/ctestP.sl.in.cmake
|
||||
./bin/batch/ctestS.lsf.in.cmake
|
||||
./bin/batch/ctestS.sl.in.cmake
|
||||
./bin/batch/knl_ctestP.sl.in.cmake
|
||||
./bin/batch/knl_ctestS.sl.in.cmake
|
||||
./bin/batch/knl_H5detect.sl.in.cmake
|
||||
./bin/batch/ctest.qsub.in.cmake
|
||||
./bin/batch/ray_ctestP.lsf.in.cmake
|
||||
./bin/batch/ray_ctestS.lsf.in.cmake
|
||||
./bin/batch/raybsub
|
||||
./bin/pkgscrpts/h5rmflags _DO_NOT_DISTRIBUTE_
|
||||
./bin/pkgscrpts/makeHDF5BinaryTarfiles.pl _DO_NOT_DISTRIBUTE_
|
||||
./bin/pkgscrpts/makeInternalREADME.pl _DO_NOT_DISTRIBUTE_
|
||||
@@ -445,8 +463,11 @@
|
||||
./release_docs/INSTALL_CMake.txt
|
||||
./release_docs/INSTALL_Cygwin.txt
|
||||
./release_docs/INSTALL_parallel
|
||||
./release_docs/INSTALL_Warnings.txt
|
||||
./release_docs/INSTALL_Windows.txt
|
||||
./release_docs/RELEASE.txt
|
||||
./release_docs/README_HDF5_CMake
|
||||
./release_docs/README_HPC
|
||||
./release_docs/USING_HDF5_CMake.txt
|
||||
./release_docs/USING_HDF5_VS.txt
|
||||
|
||||
@@ -481,7 +502,6 @@
|
||||
./src/H5Apublic.h
|
||||
./src/H5AC.c
|
||||
./src/H5ACdbg.c
|
||||
./src/H5AClog.c
|
||||
./src/H5ACmodule.h
|
||||
./src/H5ACmpio.c
|
||||
./src/H5ACpkg.h
|
||||
@@ -494,7 +514,6 @@
|
||||
./src/H5Bmodule.h
|
||||
./src/H5Bpkg.h
|
||||
./src/H5Bprivate.h
|
||||
./src/H5Bpublic.h
|
||||
./src/H5B2.c
|
||||
./src/H5B2cache.c
|
||||
./src/H5B2dbg.c
|
||||
@@ -505,7 +524,6 @@
|
||||
./src/H5B2module.h
|
||||
./src/H5B2pkg.h
|
||||
./src/H5B2private.h
|
||||
./src/H5B2public.h
|
||||
./src/H5B2stat.c
|
||||
./src/H5B2test.c
|
||||
./src/H5C.c
|
||||
@@ -513,6 +531,9 @@
|
||||
./src/H5Cepoch.c
|
||||
./src/H5Cimage.c
|
||||
./src/H5Clog.c
|
||||
./src/H5Clog.h
|
||||
./src/H5Clog_json.c
|
||||
./src/H5Clog_trace.c
|
||||
./src/H5Cmodule.h
|
||||
./src/H5Cmpio.c
|
||||
./src/H5Cpkg.h
|
||||
@@ -649,7 +670,6 @@
|
||||
./src/H5FSmodule.h
|
||||
./src/H5FSpkg.h
|
||||
./src/H5FSprivate.h
|
||||
./src/H5FSpublic.h
|
||||
./src/H5FSsection.c
|
||||
./src/H5FSstat.c
|
||||
./src/H5FStest.c
|
||||
@@ -689,7 +709,6 @@
|
||||
./src/H5HFmodule.h
|
||||
./src/H5HFpkg.h
|
||||
./src/H5HFprivate.h
|
||||
./src/H5HFpublic.h
|
||||
./src/H5HFsection.c
|
||||
./src/H5HFspace.c
|
||||
./src/H5HFstat.c
|
||||
@@ -701,7 +720,6 @@
|
||||
./src/H5HGmodule.h
|
||||
./src/H5HGpkg.h
|
||||
./src/H5HGprivate.h
|
||||
./src/H5HGpublic.h
|
||||
./src/H5HGquery.c
|
||||
./src/H5HL.c
|
||||
./src/H5HLcache.c
|
||||
@@ -712,7 +730,6 @@
|
||||
./src/H5HLpkg.h
|
||||
./src/H5HLprfx.c
|
||||
./src/H5HLprivate.h
|
||||
./src/H5HLpublic.h
|
||||
./src/H5HP.c
|
||||
./src/H5HPprivate.h
|
||||
./src/H5I.c
|
||||
@@ -944,6 +961,7 @@
|
||||
./test/cross_read.c
|
||||
./test/dangle.c
|
||||
./test/deflate.h5
|
||||
./test/del_many_dense_attrs.c
|
||||
./test/direct_chunk.c
|
||||
./test/dsets.c
|
||||
./test/dt_arith.c
|
||||
@@ -1031,6 +1049,7 @@
|
||||
./test/le_extlink2.h5
|
||||
./test/lheap.c
|
||||
./test/links.c
|
||||
./test/corrupted_name_len.h5
|
||||
./test/mergemsg.h5
|
||||
./test/mf.c
|
||||
./test/mount.c
|
||||
@@ -1075,10 +1094,10 @@
|
||||
./test/tcheck_version.c
|
||||
./test/tconfig.c
|
||||
./test/tcoords.c
|
||||
./test/testabort_fail.sh.in
|
||||
./test/testcheck_version.sh.in
|
||||
./test/testerror.sh.in
|
||||
./test/testlinks_env.sh.in
|
||||
./test/test_filenotclosed.sh.in
|
||||
./test/test_filter_plugin.sh.in
|
||||
./test/testflushrefresh.sh.in
|
||||
./test/testframe.c
|
||||
@@ -1247,6 +1266,7 @@
|
||||
./testpar/t_cache_image.c
|
||||
./testpar/t_chunk_alloc.c
|
||||
./testpar/t_coll_chunk.c
|
||||
./testpar/t_coll_md_read.c
|
||||
./testpar/t_dset.c
|
||||
./testpar/t_file.c
|
||||
./testpar/t_file_image.c
|
||||
@@ -1266,6 +1286,7 @@
|
||||
./testpar/t_span_tree.c
|
||||
./testpar/t_init_term.c
|
||||
./testpar/testpar.h
|
||||
./testpar/testpflush.sh.in
|
||||
./testpar/testphdf5.c
|
||||
./testpar/testphdf5.h
|
||||
|
||||
@@ -1372,14 +1393,17 @@
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_err.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_non_chunked.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_d_file.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_d_file.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_d_file-d.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_dname.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_dname.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistfile.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl.err
|
||||
./tools/test/h5format_convert/testfiles/h5fc_help.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_all.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nooption.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_v_n_1d.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_nonexistfile.ddl
|
||||
./tools/test/h5format_convert/testfiles/h5fc_non_v3.h5
|
||||
./tools/test/h5format_convert/testfiles/h5fc_edge_v3.h5
|
||||
./tools/test/h5format_convert/testfiles/h5fc_err_level.h5
|
||||
@@ -1449,6 +1473,11 @@
|
||||
./tools/test/h5ls/vds_prefix/tvds-4.ls
|
||||
./tools/test/h5ls/vds_prefix/tvds-5.ls
|
||||
|
||||
# h5ls test error files
|
||||
./tools/test/h5ls/errfiles/nosuchfile.err
|
||||
./tools/test/h5ls/errfiles/textlinksrc-nodangle-1.err
|
||||
./tools/test/h5ls/errfiles/tgroup-1.err
|
||||
|
||||
# h5copy sources
|
||||
./tools/src/h5copy/Makefile.am
|
||||
./tools/src/h5copy/h5copy.c
|
||||
@@ -1485,11 +1514,9 @@
|
||||
./tools/lib/io_timer.h
|
||||
|
||||
./tools/src/misc/Makefile.am
|
||||
./tools/src/misc/h5cc.in
|
||||
./tools/src/misc/h5clear.c
|
||||
./tools/src/misc/h5debug.c
|
||||
./tools/src/misc/h5mkgrp.c
|
||||
./tools/src/misc/h5redeploy.in
|
||||
./tools/src/misc/h5repart.c
|
||||
./tools/test/misc/Makefile.am
|
||||
./tools/test/misc/h5repart_gentest.c
|
||||
@@ -1504,10 +1531,11 @@
|
||||
./tools/test/misc/testfiles/h5clear_less_after_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_less_before_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_missing_file.ddl
|
||||
./tools/test/misc/testfiles/h5clear_missing_file.err
|
||||
./tools/test/misc/testfiles/h5clear_noclose_after_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_noclose_before_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_no_mdc_image.ddl
|
||||
./tools/test/misc/testfiles/h5clear_open_fail.ddl
|
||||
./tools/test/misc/testfiles/h5clear_no_mdc_image.err
|
||||
./tools/test/misc/testfiles/h5clear_open_fail.err
|
||||
./tools/test/misc/testfiles/h5clear_status_noclose_after_size.ddl
|
||||
./tools/test/misc/testfiles/h5clear_usage.ddl
|
||||
./tools/test/misc/testfiles/h5clear_user_equal_after_size.ddl
|
||||
@@ -1561,10 +1589,6 @@
|
||||
./tools/test/h5stat/testh5stat.sh.in
|
||||
./tools/test/h5stat/testfiles/h5stat_dims1.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_dims2.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_dims.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_links.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_numattrs.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err2_numattrs.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_fill.h5
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_fill.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_layout.h5
|
||||
@@ -1602,12 +1626,19 @@
|
||||
./tools/test/h5stat/testfiles/h5stat_threshold.h5
|
||||
./tools/test/h5stat/testfiles/h5stat_tsohm.ddl
|
||||
./tools/test/h5stat/testfiles/h5stat_tsohm.h5
|
||||
./tools/test/h5stat/testfiles/h5stat_err_refcount.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_layout.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err_old_fill.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_dims.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_links.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err1_numattrs.err
|
||||
./tools/test/h5stat/testfiles/h5stat_err2_numattrs.err
|
||||
./tools/test/h5stat/testfiles/h5stat_notexist.err
|
||||
./tools/test/h5stat/testfiles/h5stat_nofile.err
|
||||
|
||||
# h5dump test files
|
||||
./tools/testfiles/charsets.h5
|
||||
./tools/testfiles/charsets.ddl
|
||||
./tools/testfiles/err_attr_dspace.h5
|
||||
./tools/testfiles/err_attr_dspace.ddl
|
||||
./tools/testfiles/family_file00000.h5
|
||||
./tools/testfiles/family_file00001.h5
|
||||
./tools/testfiles/family_file00002.h5
|
||||
@@ -1633,6 +1664,7 @@
|
||||
./tools/testfiles/h5dump-help.txt
|
||||
./tools/testfiles/non_existing.ddl
|
||||
./tools/testfiles/packedbits.ddl
|
||||
./tools/testfiles/t128bit_float.h5
|
||||
./tools/testfiles/taindices.h5
|
||||
./tools/testfiles/tall-1.ddl
|
||||
./tools/testfiles/tall-2.ddl
|
||||
@@ -1797,6 +1829,8 @@
|
||||
./tools/testfiles/tints4dims.h5
|
||||
./tools/testfiles/tintsattrs.ddl
|
||||
./tools/testfiles/tintsattrs.h5
|
||||
./tools/testfiles/tintsnodata.ddl
|
||||
./tools/testfiles/tintsnodata.h5
|
||||
./tools/testfiles/tlarge_objname.ddl
|
||||
./tools/testfiles/tlarge_objname.h5
|
||||
./tools/testfiles/tldouble.h5
|
||||
@@ -2261,7 +2295,6 @@
|
||||
./tools/test/h5diff/testfiles/h5diff_600.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_601.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_601_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_601_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_603.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_604.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_605.txt
|
||||
@@ -2368,21 +2401,12 @@
|
||||
./tools/test/h5diff/testfiles/h5diff_452.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_453.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_454.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_454_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_454_ERR.txt
|
||||
./tools/test/h5diff/testfiles/dangling_link.err
|
||||
./tools/test/h5diff/testfiles/h5diff_455.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_455_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_455_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_456.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_457.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_457_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_457_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_458.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_458_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_458_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_459.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_459_ERR.err
|
||||
./tools/test/h5diff/testfiles/h5diff_459_ERR.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_465.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_466.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_467.txt
|
||||
@@ -2472,6 +2496,7 @@
|
||||
./tools/test/h5diff/testfiles/tudfilter.h5
|
||||
./tools/test/h5diff/testfiles/tudfilter2.h5
|
||||
./tools/test/h5diff/testfiles/h5diff_ud.txt
|
||||
./tools/test/h5diff/testfiles/h5diff_udfail.err
|
||||
./tools/test/h5diff/testfiles/h5diff_udfail.txt
|
||||
./tools/test/h5diff/testfiles/diff_strings1.h5
|
||||
./tools/test/h5diff/testfiles/diff_strings2.h5
|
||||
@@ -2572,6 +2597,7 @@
|
||||
./tools/test/h5copy/testfiles/h5copy_extlinks_src.h5
|
||||
./tools/test/h5copy/testfiles/h5copy_extlinks_trg.h5
|
||||
./tools/test/h5copy/testfiles/h5copy_extlinks_src.out.ls
|
||||
./tools/test/h5copy/testfiles/h5copy_misc1.err
|
||||
./tools/test/h5copy/testfiles/h5copy_misc1.out
|
||||
./tools/test/h5copy/testfiles/h5copytst_new.h5
|
||||
./tools/test/h5copy/testfiles/h5copytst_new.out.ls
|
||||
@@ -2739,16 +2765,17 @@
|
||||
|
||||
# expected test output from testing h5watch
|
||||
#
|
||||
./hl/tools/testfiles/w-err-cmpd1.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd2.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd3.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd4.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd5.ddl
|
||||
./hl/tools/testfiles/w-err-dset1.ddl
|
||||
./hl/tools/testfiles/w-err-dset2.ddl
|
||||
./hl/tools/testfiles/w-err-dset-nomax.ddl
|
||||
./hl/tools/testfiles/w-err-dset-none.ddl
|
||||
./hl/tools/testfiles/w-err-file.ddl
|
||||
./hl/tools/testfiles/w-err-std.ddl
|
||||
./hl/tools/testfiles/w-err-cmpd1.err
|
||||
./hl/tools/testfiles/w-err-cmpd2.err
|
||||
./hl/tools/testfiles/w-err-cmpd3.err
|
||||
./hl/tools/testfiles/w-err-cmpd4.err
|
||||
./hl/tools/testfiles/w-err-cmpd5.err
|
||||
./hl/tools/testfiles/w-err-dset1.err
|
||||
./hl/tools/testfiles/w-err-dset2.err
|
||||
./hl/tools/testfiles/w-err-dset-nomax.err
|
||||
./hl/tools/testfiles/w-err-dset-none.err
|
||||
./hl/tools/testfiles/w-err-file.err
|
||||
./hl/tools/testfiles/w-err-poll0.ddl
|
||||
./hl/tools/testfiles/w-err-poll.ddl
|
||||
./hl/tools/testfiles/w-err-width.ddl
|
||||
@@ -2850,6 +2877,32 @@
|
||||
./java/src/jni/h5oImp.h
|
||||
./java/src/jni/h5pImp.c
|
||||
./java/src/jni/h5pImp.h
|
||||
./java/src/jni/h5pACPLImp.c
|
||||
./java/src/jni/h5pACPLImp.h
|
||||
./java/src/jni/h5pDAPLImp.c
|
||||
./java/src/jni/h5pDAPLImp.h
|
||||
./java/src/jni/h5pDCPLImp.c
|
||||
./java/src/jni/h5pDCPLImp.h
|
||||
./java/src/jni/h5pDXPLImp.c
|
||||
./java/src/jni/h5pDXPLImp.h
|
||||
./java/src/jni/h5pFAPLImp.c
|
||||
./java/src/jni/h5pFAPLImp.h
|
||||
./java/src/jni/h5pFCPLImp.c
|
||||
./java/src/jni/h5pFCPLImp.h
|
||||
./java/src/jni/h5pGAPLImp.c
|
||||
./java/src/jni/h5pGAPLImp.h
|
||||
./java/src/jni/h5pGCPLImp.c
|
||||
./java/src/jni/h5pGCPLImp.h
|
||||
./java/src/jni/h5pLAPLImp.c
|
||||
./java/src/jni/h5pLAPLImp.h
|
||||
./java/src/jni/h5pLCPLImp.c
|
||||
./java/src/jni/h5pLCPLImp.h
|
||||
./java/src/jni/h5pOCPLImp.c
|
||||
./java/src/jni/h5pOCPLImp.h
|
||||
./java/src/jni/h5pOCpyPLImp.c
|
||||
./java/src/jni/h5pOCpyPLImp.h
|
||||
./java/src/jni/h5pStrCPLImp.c
|
||||
./java/src/jni/h5pStrCPLImp.h
|
||||
./java/src/jni/h5plImp.c
|
||||
./java/src/jni/h5plImp.h
|
||||
./java/src/jni/h5rImp.c
|
||||
@@ -3144,14 +3197,17 @@
|
||||
./java/lib/ext/slf4j-simple-1.7.25.jar
|
||||
|
||||
# CMake-specific Files
|
||||
./config/toolchain/crayle.cmake
|
||||
./config/toolchain/GCC.cmake
|
||||
./config/toolchain/intel.cmake
|
||||
./config/toolchain/PGI.cmake
|
||||
|
||||
./config/cmake/cacheinit.cmake
|
||||
./config/cmake/CMakeFindJavaCommon.cmake
|
||||
./config/cmake/ConversionTests.c
|
||||
./config/cmake/ConfigureChecks.cmake
|
||||
./config/cmake/CPack.Info.plist.in
|
||||
./config/cmake/CTestCustom.cmake
|
||||
./config/cmake/FindHDFJAVA.cmake.in
|
||||
./config/cmake/FindJNI.cmake
|
||||
./config/cmake/H5cxx_config.h.in
|
||||
./config/cmake/H5pubconf.h.in
|
||||
./config/cmake/hdf5-config.cmake.in
|
||||
@@ -3173,6 +3229,7 @@
|
||||
./config/cmake/UseJavaSymlinks.cmake
|
||||
./config/cmake/userblockTest.cmake
|
||||
./config/cmake/vfdTest.cmake
|
||||
./config/cmake/wait_H5Tinit.cmake
|
||||
|
||||
./config/cmake_ext_mod/ConfigureChecks.cmake
|
||||
./config/cmake_ext_mod/CTestCustom.cmake
|
||||
@@ -3198,7 +3255,6 @@
|
||||
|
||||
# CMake-specific Examples Files
|
||||
./config/cmake/HDF5_Examples.cmake.in
|
||||
./config/cmake/HDF518_Examples.cmake.in
|
||||
./release_docs/USING_CMake_Examples.txt
|
||||
|
||||
./CMakeLists.txt
|
||||
@@ -3212,6 +3268,7 @@
|
||||
./c++/src/CMakeLists.txt
|
||||
./c++/test/CMakeLists.txt
|
||||
./c++/test/CMakeTests.cmake
|
||||
./c++/test/CMakeVFDTests.cmake
|
||||
./examples/CMakeLists.txt
|
||||
./examples/CMakeTests.cmake
|
||||
./examples/run-all-ex.sh
|
||||
@@ -3255,6 +3312,7 @@
|
||||
./test/ShellTests.cmake
|
||||
./testpar/CMakeLists.txt
|
||||
./testpar/CMakeTests.cmake
|
||||
./testpar/CMakeVFDTests.cmake
|
||||
./tools/CMakeLists.txt
|
||||
./tools/lib/CMakeLists.txt
|
||||
./tools/src/CMakeLists.txt
|
||||
@@ -3287,6 +3345,7 @@
|
||||
./tools/src/h5repack/CMakeLists.txt
|
||||
./tools/test/h5repack/CMakeLists.txt
|
||||
./tools/test/h5repack/CMakeTests.cmake
|
||||
./tools/test/h5repack/CMakeVFDTests.cmake
|
||||
./tools/src/h5stat/CMakeLists.txt
|
||||
./tools/test/h5stat/CMakeLists.txt
|
||||
./tools/test/h5stat/CMakeTests.cmake
|
||||
@@ -3306,6 +3365,12 @@
|
||||
./config/cmake/scripts/HDF5config.cmake
|
||||
./config/cmake/scripts/HDF5options.cmake
|
||||
|
||||
# CMake-specific HPC Scripts
|
||||
./config/cmake/scripts/HPC/sbatch-HDF5options.cmake
|
||||
./config/cmake/scripts/HPC/bsub-HDF5options.cmake
|
||||
./config/cmake/scripts/HPC/qsub-HDF5options.cmake
|
||||
./config/cmake/scripts/HPC/raybsub-HDF5options.cmake
|
||||
|
||||
# Files generated by autogen
|
||||
./aclocal.m4
|
||||
./bin/compile
|
||||
@@ -3319,6 +3384,7 @@
|
||||
./c++/examples/Makefile.in
|
||||
./c++/Makefile.in
|
||||
./configure
|
||||
./bin/Makefile.in
|
||||
./c++/src/Makefile.in
|
||||
./c++/test/Makefile.in
|
||||
./examples/Makefile.in
|
||||
|
||||
24
Makefile.am
24
Makefile.am
@@ -49,11 +49,6 @@ include $(top_srcdir)/config/commence.am
|
||||
|
||||
# Conditionals. These conditionals are defined during configure
|
||||
# Define each variable to empty if it is not used to placate pmake
|
||||
if BUILD_PARALLEL_CONDITIONAL
|
||||
TESTPARALLEL_DIR =testpar
|
||||
else
|
||||
TESTPARALLEL_DIR=
|
||||
endif
|
||||
if BUILD_CXX_CONDITIONAL
|
||||
CXX_DIR =c++
|
||||
else
|
||||
@@ -74,9 +69,24 @@ if BUILD_HDF5_HL_CONDITIONAL
|
||||
else
|
||||
HDF5_HL_DIR=
|
||||
endif
|
||||
if BUILD_TESTS_CONDITIONAL
|
||||
TESTSERIAL_DIR =test
|
||||
else
|
||||
TESTSERIAL_DIR=
|
||||
endif
|
||||
if BUILD_TESTS_PARALLEL_CONDITIONAL
|
||||
TESTPARALLEL_DIR =testpar
|
||||
else
|
||||
TESTPARALLEL_DIR=
|
||||
endif
|
||||
if BUILD_TOOLS_CONDITIONAL
|
||||
TOOLS_DIR =tools
|
||||
else
|
||||
TOOLS_DIR=
|
||||
endif
|
||||
|
||||
SUBDIRS = src test $(TESTPARALLEL_DIR) tools . $(CXX_DIR) $(FORTRAN_DIR) \
|
||||
$(JAVA_DIR) $(HDF5_HL_DIR)
|
||||
SUBDIRS = src $(TESTSERIAL_DIR) $(TESTPARALLEL_DIR) bin $(TOOLS_DIR) . \
|
||||
$(CXX_DIR) $(FORTRAN_DIR) $(JAVA_DIR) $(HDF5_HL_DIR)
|
||||
DIST_SUBDIRS = src test testpar tools . c++ fortran hl examples java
|
||||
|
||||
# Some files generated during configure that should be cleaned
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
HDF5 version 1.11.2 currently under development
|
||||
HDF5 version 1.10.6-snap1 currently under development
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
Please refer to the release_docs/INSTALL file for installation instructions.
|
||||
|
||||
57
bin/Makefile.am
Normal file
57
bin/Makefile.am
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# Copyright by the Board of Trustees of the University of Illinois.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
##
|
||||
## Makefile.am
|
||||
## Run automake to generate a Makefile.in from this file.
|
||||
#
|
||||
# HDF5 Library Makefile(.in)
|
||||
#
|
||||
|
||||
include $(top_srcdir)/config/commence.am
|
||||
|
||||
# Include src directory
|
||||
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
# These are our main targets
|
||||
bin_SCRIPTS=h5redeploy
|
||||
|
||||
# Tell automake to clean h5redeploy script
|
||||
CLEANFILES=h5redeploy
|
||||
|
||||
# These were generated by configure. Remove them only when distclean.
|
||||
DISTCLEANFILES=h5cc
|
||||
|
||||
# All programs rely on hdf5 library and h5tools library
|
||||
LDADD=$(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# How to build h5redeploy script
|
||||
h5redeploy: h5redeploy.in
|
||||
@cp $(srcdir)/$@.in $@
|
||||
|
||||
# h5cc needs custom install and uninstall rules, since it may be
|
||||
# named h5pcc if hdf5 is being built in parallel mode.
|
||||
if BUILD_PARALLEL_CONDITIONAL
|
||||
H5CC_NAME=h5pcc
|
||||
else
|
||||
H5CC_NAME=h5cc
|
||||
endif
|
||||
|
||||
$(DESTDIR)$(bindir):
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1;
|
||||
|
||||
install-exec-local: $(DESTDIR)$(bindir)
|
||||
@$(INSTALL) h5cc $(DESTDIR)$(bindir)/$(H5CC_NAME)
|
||||
uninstall-local:
|
||||
@$(RM) $(DESTDIR)$(bindir)/$(H5CC_NAME)
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
17
bin/batch/cori_ctestP.sl.in.cmake
Normal file
17
bin/batch/cori_ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C haswell
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestP
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
16
bin/batch/cori_ctestS.sl.in.cmake
Normal file
16
bin/batch/cori_ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C haswell
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
17
bin/batch/cori_knl_ctestP.sl.in.cmake
Normal file
17
bin/batch/cori_knl_ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C knl,quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestP
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
16
bin/batch/cori_knl_ctestS.sl.in.cmake
Normal file
16
bin/batch/cori_knl_ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -C knl,quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
21
bin/batch/ctest.qsub.in.cmake
Normal file
21
bin/batch/ctest.qsub.in.cmake
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash -l
|
||||
if [ $# -gt 0 ]; then
|
||||
SUMMARY_FILE=$1
|
||||
fi
|
||||
ACCOUNT_ID=@ACCOUNT_ID@
|
||||
|
||||
echo "Run parallel test command. Test output will be in build/${SUMMARY_FILE}"
|
||||
CTEST_CMD=`which ctest`
|
||||
|
||||
#SKIPTESTS <<KEYWORD:script inserts list of skips tests here -- don't remove>>
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
if [[ $SUMMARY_FILE == *"ctestS"* ]]; then
|
||||
CMD="${CTEST_CMD} . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
else
|
||||
CMD="${CTEST_CMD} . -R MPI_TEST_ ${SKIP_TESTS} -C Release -T test"
|
||||
fi
|
||||
|
||||
qsub -t 60 -n 1 -q debug-flat-quad -A ${ACCOUNT_ID} ${CMD} >& ${SUMMARY_FILE}
|
||||
|
||||
echo "Done running ctest parallel command."
|
||||
19
bin/batch/ctestP.lsf.in.cmake
Normal file
19
bin/batch/ctestP.lsf.in.cmake
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -nnodes 1 #number of nodes
|
||||
#BSUB -W 30 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestPerrors.txt #stderr
|
||||
#BSUB -o ctestPoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestP #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
##date; hostname
|
||||
##echo -n 'JobID is '; echo $LSB_JOBID
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run parallel test command. Test output will be in build/ctestP.out"
|
||||
ctest . -R 'TEST_PAR|PH5DIFF|PERFORM' -E t_cache_image -C Release -T test >& ctestP.out
|
||||
|
||||
echo "Done running ctest parallel command."
|
||||
16
bin/batch/ctestP.sl.in.cmake
Normal file
16
bin/batch/ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestP
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
18
bin/batch/ctestS.lsf.in.cmake
Normal file
18
bin/batch/ctestS.lsf.in.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -nnodes 1 #number of nodes
|
||||
#BSUB -W 29 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestSerrors.txt #stderr
|
||||
#BSUB -o ctestSoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestS #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run command. Test output will be in build/ctestS.out"
|
||||
ctest . -E 'TEST_PAR|PH5DIFF|PERFORM' -C Release -j 32 -T test >& ctestS.out
|
||||
|
||||
##$CMD >& ctestS.out
|
||||
echo "Done running command."
|
||||
|
||||
15
bin/batch/ctestS.sl.in.cmake
Normal file
15
bin/batch/ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
20
bin/batch/knl_H5detect.sl.in.cmake
Normal file
20
bin/batch/knl_H5detect.sl.in.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -p knl -C quad
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:10:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
#SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=knl_h5detect
|
||||
|
||||
|
||||
# Inputs: Build directory, output file name, executable file name (username/email if available).
|
||||
PROGNAME=H5detect
|
||||
OUTPUT=H5Tinit.c
|
||||
|
||||
CMD="@HDF5_BINARY_DIR@/bin/${PROGNAME} @HDF5_GENERATED_SOURCE_DIR@/${OUTPUT}"
|
||||
echo "Run $CMD"
|
||||
srun -n 1 $CMD
|
||||
echo "Done running $CMD"
|
||||
|
||||
18
bin/batch/knl_ctestP.sl.in.cmake
Normal file
18
bin/batch/knl_ctestP.sl.in.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -p knl -C quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
#run parallel tests except t_cache_image test
|
||||
CMD="ctest . -R MPI_TEST_ -E t_cache_image -C Release -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestP.out"
|
||||
$CMD >& ctestP.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
17
bin/batch/knl_ctestS.sl.in.cmake
Normal file
17
bin/batch/knl_ctestS.sl.in.cmake
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
#SBATCH -p knl -C quad,cache
|
||||
#SBATCH --nodes=1
|
||||
#SBATCH -t 00:30:00
|
||||
#SBATCH --mail-type=BEGIN,END,FAIL
|
||||
##SBATCH --mail-user=<username>@sandia.gov
|
||||
#SBATCH --export=ALL
|
||||
#SBATCH --job-name=h5_ctestS
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
CMD="ctest . -E MPI_TEST_ -C Release -j 32 -T test"
|
||||
|
||||
echo "Run $CMD. Test output will be in build/ctestS.out"
|
||||
$CMD >& ctestS.out
|
||||
echo "Done running $CMD"
|
||||
|
||||
20
bin/batch/ray_ctestP.lsf.in.cmake
Normal file
20
bin/batch/ray_ctestP.lsf.in.cmake
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -n 6 #number of nodes
|
||||
#BSUB -R "span[ptile=6]"
|
||||
#BSUB -W 30 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestPerrors.txt #stderr
|
||||
#BSUB -o ctestPoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestP #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
##date; hostname
|
||||
##echo -n 'JobID is '; echo $LSB_JOBID
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run parallel test command. Test output will be in build/ctestP.out"
|
||||
ctest . -R 'MPI_TEST_' -E t_cache_image -C Release -T test >& ctestP.out
|
||||
|
||||
echo "Done running ctest parallel command."
|
||||
18
bin/batch/ray_ctestS.lsf.in.cmake
Normal file
18
bin/batch/ray_ctestS.lsf.in.cmake
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/tcsh
|
||||
### LSF syntax
|
||||
#BSUB -n 1 #number of nodes
|
||||
#BSUB -W 29 #walltime in minutes
|
||||
#BSUB -G guests #account
|
||||
#BSUB -e ctestSerrors.txt #stderr
|
||||
#BSUB -o ctestSoutput.txt #stdout
|
||||
#BSUB -J hdf5_ctestS #job
|
||||
##BSUB -q pbatch #queue to use
|
||||
#BSUB -q pdebug
|
||||
|
||||
cd @HDF5_BINARY_DIR@
|
||||
echo "Run command. Test output will be in build/ctestS.out"
|
||||
ctest . -E 'MPI_TEST_' -C Release -j 32 -T test >& ctestS.out
|
||||
|
||||
##$CMD >& ctestS.out
|
||||
echo "Done running command."
|
||||
|
||||
7
bin/batch/raybsub
Executable file
7
bin/batch/raybsub
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/tcsh
|
||||
|
||||
# ray.llnl.gov requires a '<' with bsub for submitting .lsf batch jobs.
|
||||
# CMake is reluctant to pass the '<', so we put it in this script and use
|
||||
# the script to submit the bsub command on ray.
|
||||
|
||||
bsub < $1
|
||||
@@ -7,8 +7,8 @@ require 5.003;
|
||||
# is added (like support for 1.4, etc), the min_sup_idx parameter will
|
||||
# need to be decremented. - QAK)
|
||||
|
||||
# Max. library "index" (0 = v1.0, 1 = 1.2, etc)
|
||||
$max_idx = 5;
|
||||
# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, etc)
|
||||
$max_idx = 6;
|
||||
|
||||
# Min. supported previous library version "index" (0 = v1.0, 1 = 1.2, etc)
|
||||
$min_sup_idx = 3;
|
||||
@@ -478,7 +478,7 @@ for $file (@ARGV) {
|
||||
}
|
||||
}
|
||||
close SOURCE;
|
||||
|
||||
|
||||
# Create header files
|
||||
print "Generating '", $prefix, "H5version.h'\n";
|
||||
create_public($prefix);
|
||||
|
||||
110
bin/release
110
bin/release
@@ -55,13 +55,21 @@ for compressing the resulting tar archive (if none are given then
|
||||
|
||||
tar -- use tar and don't do any compressing.
|
||||
gzip -- use gzip with "-9" and append ".gz" to the output name.
|
||||
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
|
||||
zip -- convert all text files to DOS style and form a zip file for Windows use.
|
||||
cmake-tgz -- create a tar file using the gzip default level with a build-unix.sh
|
||||
command file and all other CMake files needed to build HDF5 source
|
||||
using CMake on unix machines.
|
||||
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
|
||||
zip -- convert all text files to DOS style and form a zip file for Windows use.
|
||||
cmake-zip -- convert all text files to DOS style and create a zip file inluding cmake
|
||||
scripts and .bat files to build HDF5 source using CMake on Windows.
|
||||
hpc-cmake-tgz
|
||||
-- create a tar file using the gzip default level with a build-unix.sh
|
||||
command file and all other CMake files needed to build HDF5 source
|
||||
using CMake on unix machines, with HDF5options.cmake files for serial
|
||||
and parallel builds on machines requiring batch jobs to run tests.
|
||||
The default is for parallel build, with serial only build by changing
|
||||
the HDF5options.cmake symlink to ser-HDF5options.cmake. More
|
||||
information is available in the README_HPC file.
|
||||
doc -- produce the latest doc tree in addition to the archive.
|
||||
|
||||
An md5 checksum is produced for each archive created and stored in the md5 file.
|
||||
@@ -225,7 +233,7 @@ tar2cmakezip()
|
||||
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmziptmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmziptmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.zip $cmziptmpsubdir
|
||||
cp $cmziptmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpsubdir
|
||||
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpsubdir
|
||||
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpsubdir
|
||||
@@ -256,7 +264,7 @@ tar2cmakezip()
|
||||
}
|
||||
|
||||
# Function name: tar2cmaketgz
|
||||
# Convert the release tarball to a Windows zipball with files to run CMake build.
|
||||
# Convert the release tarball to a gzipped tar file with files to run CMake build.
|
||||
#
|
||||
# Programmer: Larry Knox
|
||||
# Creation date: 2017-02-20
|
||||
@@ -320,7 +328,7 @@ tar2cmaketgz()
|
||||
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpsubdir
|
||||
@@ -330,6 +338,93 @@ tar2cmaketgz()
|
||||
rm -rf $cmgztmpdir
|
||||
}
|
||||
|
||||
# Function name: tar2hpccmaketgz
|
||||
# Convert the release tarball to a gzipped tarfile with files to run CMake build
|
||||
# and HDF5options.cmake files for parallel or serial only builds where build
|
||||
# tests are run on compute nodes using batch scripts.
|
||||
#
|
||||
# Programmer: Larry Knox
|
||||
# Creation date: 2019-01-28
|
||||
#
|
||||
# Modifications
|
||||
#
|
||||
# Steps:
|
||||
# 1. untar the tarball in a temporary directory;
|
||||
# Note: do this in a temporary directory to avoid changing
|
||||
# the original source directory which may be around.
|
||||
# 2. add build-unix.sh script.
|
||||
# 3. add SZIP.tar.gz, ZLib.tar.gz and cmake files to top level directory.
|
||||
# 4. create gzipped tar file with these contents:
|
||||
# build-unix.sh script
|
||||
# hdf5-<version> source code directory extracted from tar file
|
||||
# CTestScript.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
|
||||
# HDF5config.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
|
||||
# HDF5options.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
|
||||
# SZip.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
|
||||
# ZLib.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
|
||||
#
|
||||
# 5. For HPC-CMake tgz file the following are also needed in the top-level directory:
|
||||
# README_HPC copied from release_docs
|
||||
# ser-HDF5options.cmake copied from <hdf5 source code>/config/cmake/scripts/HPC
|
||||
# par-HDF5options.cmake copied from <hdf5 source code>/config/cmake/scripts/HPC
|
||||
# HDF5options.cmake symlink to par-HDF5options.cmake
|
||||
#
|
||||
|
||||
# Parameters:
|
||||
# $1 version
|
||||
# $2 release tarball
|
||||
# $3 output zipball file name
|
||||
#
|
||||
# Returns 0 if successful; 1 otherwise
|
||||
#
|
||||
# need function to create another temporary directory, extract the
|
||||
# $tmpdir/$HDF5_VERS.tar into it, create build-unix.sh,
|
||||
# add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
|
||||
# ZLib.tar.gz, HDF5 examples, and then tar.gz it.
|
||||
tar2hpccmaketgz()
|
||||
{
|
||||
if [ $# -ne 3 ]; then
|
||||
echo "usage: tar2hpccmaketgz <tarfilename> <tgzfilename>"
|
||||
return 1
|
||||
fi
|
||||
cmgztmpdir=/tmp/cmgztmpdir$$
|
||||
cmgztmpsubdir=$cmgztmpdir/HPC-CMake-$HDF5_VERS
|
||||
mkdir -p $cmgztmpsubdir
|
||||
version=$1
|
||||
tarfile=$2
|
||||
tgzfile=$3
|
||||
|
||||
# step 1: untar tarball in cmgztmpdir
|
||||
(cd $cmgztmpsubdir; tar xf -) < $tarfile
|
||||
# sanity check
|
||||
if [ ! -d $cmgztmpsubdir/$version ]; then
|
||||
echo "untar did not create $cmgztmpsubdir/$version source dir"
|
||||
# cleanup
|
||||
rm -rf $cmgztmpdir
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
# step 2: add build-unix.sh script
|
||||
(cd $cmgztmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
|
||||
|
||||
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
|
||||
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
|
||||
|
||||
cp $cmgztmpsubdir/$version/release_docs/README_HPC $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/ser-HDF5options.cmake $cmgztmpsubdir
|
||||
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/par-HDF5options.cmake $cmgztmpsubdir
|
||||
(cd $cmgztmpsubdir; ln -s par-HDF5options.cmake HDF5options.cmake)
|
||||
tar czf $DEST/HPC-CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
|
||||
|
||||
# cleanup
|
||||
rm -rf $cmgztmpdir
|
||||
}
|
||||
|
||||
# This command must be run at the top level of the hdf5 source directory.
|
||||
# Verify this requirement.
|
||||
if [ ! \( -f configure.ac -a -f bin/release \) ]; then
|
||||
@@ -514,6 +609,11 @@ for comp in $methods; do
|
||||
tar2cmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/CMake-$HDF5_VERS.tar.gz 1>&2
|
||||
(cd $DEST; md5sum CMake-$HDF5_VERS.tar.gz >> $MD5file)
|
||||
;;
|
||||
hpc-cmake-tgz)
|
||||
test "$verbose" && echo " Creating HPC-CMake tar.gz file..." 1>&2
|
||||
tar2hpccmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/HPC-CMake-$HDF5_VERS.tar.gz 1>&2
|
||||
(cd $DEST; md5sum HPC-CMake-$HDF5_VERS.tar.gz >> $MD5file)
|
||||
;;
|
||||
bzip2)
|
||||
test "$verbose" && echo " Running bzip2..." 1>&2
|
||||
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2
|
||||
|
||||
0
bin/runbkgprog
Executable file → Normal file
0
bin/runbkgprog
Executable file → Normal file
@@ -18,9 +18,15 @@
|
||||
|
||||
include $(top_srcdir)/config/commence.am
|
||||
|
||||
if BUILD_TESTS_CONDITIONAL
|
||||
TEST_DIR = test
|
||||
else
|
||||
TEST_DIR=
|
||||
endif
|
||||
|
||||
## Only recurse into subdirectories if C++ interface is enabled.
|
||||
if BUILD_CXX_CONDITIONAL
|
||||
SUBDIRS=src test
|
||||
SUBDIRS=src $(TEST_DIR)
|
||||
endif
|
||||
DIST_SUBDIRS = src test examples
|
||||
|
||||
|
||||
@@ -34,17 +34,27 @@ set (tutr_examples
|
||||
|
||||
foreach (example ${examples})
|
||||
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
|
||||
target_include_directories(cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
|
||||
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
target_include_directories (cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
|
||||
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
else ()
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} SHARED)
|
||||
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
endif ()
|
||||
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
|
||||
endforeach ()
|
||||
|
||||
foreach (example ${tutr_examples})
|
||||
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
|
||||
target_include_directories(cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
|
||||
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
target_include_directories (cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
|
||||
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
else ()
|
||||
TARGET_C_PROPERTIES (cpp_ex_${example} SHARED)
|
||||
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
|
||||
endif ()
|
||||
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
|
||||
endforeach ()
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
SDSextendible.h5
|
||||
Select.h5
|
||||
)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex-clear-objects")
|
||||
@@ -46,7 +46,7 @@
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
endif ()
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex_${example}")
|
||||
@@ -66,7 +66,7 @@
|
||||
h5tutr_groups.h5
|
||||
h5tutr_subset.h5
|
||||
)
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex_tutr-clear-objects PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex_tutr-clear-objects")
|
||||
@@ -86,7 +86,7 @@
|
||||
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
|
||||
)
|
||||
endif ()
|
||||
if (NOT "${last_test}" STREQUAL "")
|
||||
if (last_test)
|
||||
set_tests_properties (CPP_ex_${example} PROPERTIES DEPENDS ${last_test})
|
||||
endif ()
|
||||
set (last_test "CPP_ex_${example}")
|
||||
|
||||
@@ -32,7 +32,7 @@ EXIT_FAILURE=1
|
||||
|
||||
# Where the tool is installed.
|
||||
# default is relative path to installed location of the tools
|
||||
prefix="${prefix:-@prefix@}"
|
||||
prefix="${prefix:-../../..}"
|
||||
AR="@AR@"
|
||||
RANLIB="@RANLIB@"
|
||||
H5TOOL="h5c++" # The tool name
|
||||
|
||||
@@ -84,24 +84,26 @@ set (CPP_HDRS
|
||||
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SOURCES} ${CPP_HDRS})
|
||||
target_include_directories(${HDF5_CPP_LIB_TARGET}
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_CPP_LIB_TARGET}
|
||||
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
|
||||
)
|
||||
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_CPP_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC 0)
|
||||
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/cpp)
|
||||
set (install_targets ${HDF5_CPP_LIB_TARGET})
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SOURCES} ${CPP_HDRS})
|
||||
target_include_directories (${HDF5_CPP_LIB_TARGET}
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
target_compile_definitions(${HDF5_CPP_LIB_TARGET}
|
||||
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
|
||||
)
|
||||
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC)
|
||||
target_link_libraries (${HDF5_CPP_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
|
||||
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC 0)
|
||||
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/cpp)
|
||||
set (install_targets ${HDF5_CPP_LIB_TARGET})
|
||||
endif ()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_library (${HDF5_CPP_LIBSH_TARGET} SHARED ${CPP_SOURCES} ${CPP_HDRS})
|
||||
target_include_directories(${HDF5_CPP_LIBSH_TARGET}
|
||||
target_include_directories (${HDF5_CPP_LIBSH_TARGET}
|
||||
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
|
||||
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
@@ -136,7 +138,9 @@ if (HDF5_EXPORTED_TARGETS)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
|
||||
endif ()
|
||||
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_LIB_DIR} cpplibraries)
|
||||
endif ()
|
||||
|
||||
install (
|
||||
TARGETS
|
||||
@@ -163,7 +167,9 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
|
||||
|
||||
set (_PKG_CONFIG_LIBS_PRIVATE)
|
||||
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
|
||||
endif ()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
|
||||
endif ()
|
||||
|
||||
@@ -143,6 +143,7 @@ ArrayType& ArrayType::operator=(const ArrayType& rhs)
|
||||
// Function: ArrayType::decode
|
||||
///\brief Returns an ArrayType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -129,6 +129,7 @@ CompType::CompType(const H5Location& loc, const H5std_string& dtype_name) : Data
|
||||
// Function: CompType::decode
|
||||
///\brief Returns a CompType object via DataType* by decoding the
|
||||
/// binary object description of this datatype.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -53,8 +53,7 @@
|
||||
* <br />
|
||||
* \section install_sec Installation
|
||||
*
|
||||
* The HDF5 C++ API is included with the HDF5 source code and can
|
||||
* be obtained from
|
||||
* The HDF5 C++ API is included with the HDF5 source code.
|
||||
*
|
||||
* Please refer to the release_docs/INSTALL file under the top directory
|
||||
* of the HDF5 source code for information about installing, building,
|
||||
|
||||
@@ -281,6 +281,7 @@ hid_t DataType::p_decode() const
|
||||
// Function: DataType::decode
|
||||
///\brief Returns a DataType instance by decoding the binary object
|
||||
/// description of this datatype.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -301,6 +302,7 @@ DataType* DataType::decode() const
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: DataType::encode
|
||||
///\brief Creates a binary object description of this datatype.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -333,6 +335,7 @@ void DataType::encode()
|
||||
// Function: DataType::hasBinaryDesc
|
||||
///\brief Determines whether this datatype has a binary object
|
||||
/// description.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -253,6 +253,7 @@ void DSetCreatPropList::setSzip(unsigned int options_mask, unsigned int pixels_p
|
||||
// Function: DSetCreatPropList::setNbit
|
||||
///\brief Sets up for the use of the Nbit compression filter.
|
||||
///\exception H5::PropListIException
|
||||
///
|
||||
///\par Description
|
||||
/// The associate C function sets an Nbit compression filter,
|
||||
/// H5Z_FILTER_NBIT, for a dataset. For more information about
|
||||
|
||||
@@ -299,6 +299,7 @@ ssize_t DSetMemXferPropList::getDataTransform(char* exp, size_t buf_size) const
|
||||
// Function: DSetMemXferPropList::getDataTransform
|
||||
///\brief This is an overloaded member function, provided for convenience.
|
||||
/// It takes no parameter and returns a \c H5std_string for the expression.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// Programmer Binh-Minh Ribler - Mar, 2014
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -151,6 +151,7 @@ EnumType::EnumType(const H5Location& loc, const H5std_string& dtype_name) : Data
|
||||
// Function: EnumType::decode
|
||||
///\brief Returns an EnumType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -133,6 +133,7 @@ FloatType::FloatType(const H5Location& loc, const H5std_string& dtype_name) : At
|
||||
// Function: FloatType::decode
|
||||
///\brief Returns an FloatType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -66,6 +66,7 @@ Group::Group(const Group& original) : H5Object(), CommonFG(), id(original.id)
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: Group::closeObjId
|
||||
///\brief Closes an object, which was opened with Group::getObjId
|
||||
///
|
||||
///\exception H5::FileIException or H5::GroupIException
|
||||
// Programmer Binh-Minh Ribler - March, 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -132,6 +132,7 @@ IntType::IntType(const H5Location& loc, const H5std_string& dtype_name) : AtomTy
|
||||
// Function: IntType::decode
|
||||
///\brief Returns an IntType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -107,6 +107,7 @@ LinkAccPropList::LinkAccPropList(const hid_t plist_id) : PropList(plist_id) {}
|
||||
///\brief Set the number of soft or user-defined link traversals allowed
|
||||
/// before the library assumes it has found a cycle and aborts the
|
||||
/// traversal.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// Programmer Binh-Minh Ribler - March 1, 2017
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -124,6 +125,7 @@ void LinkAccPropList::setNumLinks(size_t nlinks) const
|
||||
// Function: LinkAccPropList::getNumLinks
|
||||
///\brief Gets the number of soft or user-defined links that can be
|
||||
/// traversed before a failure occurs.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// Programmer Binh-Minh Ribler - March 1, 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -12,9 +12,6 @@
|
||||
* help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
// Class LinkAccPropList represents the HDF5 file access property list and
|
||||
// inherits from DataType.
|
||||
|
||||
#ifndef __H5LinkAccPropList_H
|
||||
#define __H5LinkAccPropList_H
|
||||
|
||||
@@ -22,15 +19,15 @@ namespace H5 {
|
||||
|
||||
/*! \class LinkAccPropList
|
||||
\brief Class LinkAccPropList inherits from PropList and provides
|
||||
wrappers for the HDF5 file access property list.
|
||||
wrappers for the HDF5 link access property list.
|
||||
*/
|
||||
// Inheritance: PropList -> IdComponent
|
||||
class H5_DLLCPP LinkAccPropList : public PropList {
|
||||
public:
|
||||
///\brief Default file access property list.
|
||||
///\brief Default link access property list.
|
||||
static const LinkAccPropList& DEFAULT;
|
||||
|
||||
// Creates a file access property list.
|
||||
// Creates a link access property list.
|
||||
LinkAccPropList();
|
||||
|
||||
///\brief Returns this class name.
|
||||
@@ -39,7 +36,7 @@ class H5_DLLCPP LinkAccPropList : public PropList {
|
||||
// Copy constructor: same as the original LinkAccPropList.
|
||||
LinkAccPropList(const LinkAccPropList& original);
|
||||
|
||||
// Creates a copy of an existing file access property list
|
||||
// Creates a copy of an existing link access property list
|
||||
// using the property list id.
|
||||
LinkAccPropList (const hid_t plist_id);
|
||||
|
||||
|
||||
@@ -102,9 +102,50 @@ LinkCreatPropList::LinkCreatPropList(const LinkCreatPropList& original) : PropLi
|
||||
//--------------------------------------------------------------------------
|
||||
LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: LinkCreatPropList::setCreateIntermediateGroup
|
||||
///\brief Specifies in property list whether to create missing
|
||||
/// intermediate groups.
|
||||
///\param crt_intmd_group - IN: Flag specifying whether to create
|
||||
/// intermediate groups upon the creation of an object
|
||||
///\exception H5::PropListIException
|
||||
// April, 2019
|
||||
//--------------------------------------------------------------------------
|
||||
void LinkCreatPropList::setCreateIntermediateGroup(bool crt_intmd_group) const
|
||||
{
|
||||
herr_t ret_value = H5Pset_create_intermediate_group(id, (unsigned)crt_intmd_group);
|
||||
// Throw exception if H5Pset_create_intermediate_group returns failure
|
||||
if (ret_value < 0)
|
||||
{
|
||||
throw PropListIException("setCreateIntermediateGroup", "H5Pset_create_intermediate_group failed");
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: LinkCreatPropList::getCreateIntermediateGroup
|
||||
///\brief Determines whether property is set to enable creating missing
|
||||
/// intermediate groups.
|
||||
///\return true if creating intermediate groups is enabled, and false, otherwise
|
||||
///\exception H5::PropListIException
|
||||
// April, 2019
|
||||
//--------------------------------------------------------------------------
|
||||
bool LinkCreatPropList::getCreateIntermediateGroup() const
|
||||
{
|
||||
unsigned crt_intmd_group;
|
||||
herr_t ret_value = H5Pget_create_intermediate_group(id, &crt_intmd_group);
|
||||
// Throw exception if H5Pget_create_intermediate_group returns failure
|
||||
if (ret_value < 0)
|
||||
{
|
||||
throw PropListIException("getCreateIntermediateGroup", "H5Pget_create_intermediate_group failed");
|
||||
}
|
||||
|
||||
return((bool)crt_intmd_group);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: LinkCreatPropList::setCharEncoding
|
||||
///\brief Sets the character encoding of the string.
|
||||
///
|
||||
///\exception H5::PropListIException
|
||||
// March, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -121,6 +162,7 @@ void LinkCreatPropList::setCharEncoding(H5T_cset_t encoding) const
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: LinkCreatPropList::getCharEncoding
|
||||
///\brief Gets the character encoding of the string.
|
||||
///\return The character encoding
|
||||
///\exception H5::PropListIException
|
||||
// March, 2018
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -12,9 +12,6 @@
|
||||
* help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
// Class LinkCreatPropList represents the HDF5 file access property list and
|
||||
// inherits from DataType.
|
||||
|
||||
#ifndef __H5LinkCreatPropList_H
|
||||
#define __H5LinkCreatPropList_H
|
||||
|
||||
@@ -22,15 +19,15 @@ namespace H5 {
|
||||
|
||||
/*! \class LinkCreatPropList
|
||||
\brief Class LinkCreatPropList inherits from PropList and provides
|
||||
wrappers for the HDF5 file access property list.
|
||||
wrappers for the HDF5 link creation property list.
|
||||
*/
|
||||
// Inheritance: PropList -> IdComponent
|
||||
class H5_DLLCPP LinkCreatPropList : public PropList {
|
||||
public:
|
||||
///\brief Default file access property list.
|
||||
///\brief Default link creation property list.
|
||||
static const LinkCreatPropList& DEFAULT;
|
||||
|
||||
// Creates a file access property list.
|
||||
// Creates a link creation property list.
|
||||
LinkCreatPropList();
|
||||
|
||||
///\brief Returns this class name.
|
||||
@@ -39,10 +36,18 @@ class H5_DLLCPP LinkCreatPropList : public PropList {
|
||||
// Copy constructor: same as the original LinkCreatPropList.
|
||||
LinkCreatPropList(const LinkCreatPropList& original);
|
||||
|
||||
// Creates a copy of an existing file access property list
|
||||
// Creates a copy of an existing link creation property list
|
||||
// using the property list id.
|
||||
LinkCreatPropList (const hid_t plist_id);
|
||||
|
||||
// Specifies in property list whether to create missing
|
||||
// intermediate groups
|
||||
void setCreateIntermediateGroup(bool crt_intmd_group) const;
|
||||
|
||||
// Determines whether property is set to enable creating missing
|
||||
// intermediate groups
|
||||
bool getCreateIntermediateGroup() const;
|
||||
|
||||
// Sets the character encoding of the string.
|
||||
void setCharEncoding(H5T_cset_t encoding) const;
|
||||
|
||||
|
||||
@@ -1066,7 +1066,7 @@ void H5Location::link(const char *curr_name, const Group& new_loc,
|
||||
hid_t lcpl_id = lcpl.getId();
|
||||
hid_t lapl_id = lapl.getId();
|
||||
|
||||
ret_value = H5Lcreate_hard(getId(), curr_name, new_loc.getId(), new_name, H5P_DEFAULT, H5P_DEFAULT);
|
||||
ret_value = H5Lcreate_hard(getId(), curr_name, new_loc_id, new_name, lcpl_id, lapl_id);
|
||||
if (ret_value < 0)
|
||||
throwException("link", "creating link failed");
|
||||
}
|
||||
@@ -1102,14 +1102,13 @@ void H5Location::link(const H5std_string& curr_name, const Group& new_loc,
|
||||
/// H5Lcreate_hard APIs in the HDF5 C Reference Manual.
|
||||
// March 2018
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Location::link(const char *curr_name, const hid_t same_loc,
|
||||
const char *new_name, const LinkCreatPropList& lcpl, const LinkAccPropList& lapl) const
|
||||
void H5Location::link(const char *curr_name, const hid_t same_loc, const char *new_name, const LinkCreatPropList& lcpl, const LinkAccPropList& lapl) const
|
||||
{
|
||||
herr_t ret_value = -1;
|
||||
hid_t lcpl_id = lcpl.getId();
|
||||
hid_t lapl_id = lapl.getId();
|
||||
|
||||
ret_value = H5Lcreate_hard(getId(), curr_name, same_loc, new_name, H5P_DEFAULT, H5P_DEFAULT);
|
||||
ret_value = H5Lcreate_hard(getId(), curr_name, same_loc, new_name, lcpl_id, lapl_id);
|
||||
|
||||
if (ret_value < 0)
|
||||
throwException("link", "creating link failed");
|
||||
|
||||
@@ -40,9 +40,8 @@
|
||||
namespace H5 {
|
||||
|
||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||
// userAttrOpWrpr simply interfaces between the user's function and the
|
||||
// C library function H5Aiterate2; used to resolve the different prototype
|
||||
// problem. May be moved to Iterator later.
|
||||
// userAttrOpWrpr interfaces between the user's function and the
|
||||
// C library function H5Aiterate2
|
||||
extern "C" herr_t userAttrOpWrpr(hid_t loc_id, const char *attr_name,
|
||||
const H5A_info_t *ainfo, void *op_data)
|
||||
{
|
||||
@@ -52,6 +51,17 @@ extern "C" herr_t userAttrOpWrpr(hid_t loc_id, const char *attr_name,
|
||||
return 0;
|
||||
}
|
||||
|
||||
// userVisitOpWrpr interfaces between the user's function and the
|
||||
// C library function H5Ovisit2
|
||||
extern "C" herr_t userVisitOpWrpr(hid_t obj_id, const char *attr_name,
|
||||
const H5O_info_t *obj_info, void *op_data)
|
||||
{
|
||||
H5std_string s_attr_name = H5std_string(attr_name);
|
||||
UserData4Visit* myData = reinterpret_cast<UserData4Visit *> (op_data);
|
||||
int status = myData->op(*myData->obj, s_attr_name, obj_info, myData->opData);
|
||||
return status;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object default constructor (protected)
|
||||
// Programmer Binh-Minh Ribler - 2000
|
||||
@@ -197,8 +207,6 @@ Attribute H5Object::openAttribute(const unsigned int idx) const
|
||||
///\par Description
|
||||
/// The signature of user_op is
|
||||
/// void (*)(H5::H5Location&, H5std_string, void*).
|
||||
/// For information, please refer to the H5Aiterate2 API in
|
||||
/// the HDF5 C Reference Manual.
|
||||
// Programmer Binh-Minh Ribler - 2000
|
||||
//--------------------------------------------------------------------------
|
||||
int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_data)
|
||||
@@ -227,6 +235,61 @@ int H5Object::iterateAttrs(attr_operator_t user_op, unsigned *_idx, void *op_dat
|
||||
throw AttributeIException(inMemFunc("iterateAttrs"), "H5Aiterate2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::visit
|
||||
///\brief Recursively visits all HDF5 objects accessible from this object.
|
||||
///\param idx_type - IN: Type of index; valid values include:
|
||||
/// \li \c H5_INDEX_NAME
|
||||
/// \li \c H5_INDEX_CRT_ORDER
|
||||
///\param order - IN: Order in which index is traversed; valid values include:
|
||||
/// \li \c H5_ITER_DEC
|
||||
/// \li \c H5_ITER_INC
|
||||
/// \li \c H5_ITER_NATIVE
|
||||
///\param user_op - IN: Callback function passing data regarding the
|
||||
/// object to the calling application
|
||||
///\param *op_data - IN: User-defined pointer to data required by the
|
||||
/// application for its processing of the object
|
||||
///\param fields - IN: Flags specifying the fields to be retrieved
|
||||
/// to the callback op via the H5O_info_t argument.
|
||||
/// \li \c H5O_INFO_BASIC fileno, addr, type, and rc fields
|
||||
/// \li \c H5O_INFO_TIME atime, mtime, ctime, and btime fields
|
||||
/// \li \c H5O_INFO_NUM_ATTRS num_attrs field
|
||||
/// \li \c H5O_INFO_HDR hdr field
|
||||
/// \li \c H5O_INFO_META_SIZE meta_size field
|
||||
/// \li \c H5O_INFO_ALL H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS | H5O_INFO_HDR | H5O_INFO_META_SIZE
|
||||
///\return
|
||||
/// \li On success:
|
||||
/// \li the return value of the first operator that returns a positive value
|
||||
/// \li zero if all members were processed with no operator returning non-zero
|
||||
/// \li On failure:
|
||||
/// \li an exception Exception will be thrown if something went
|
||||
/// wrong within the library or the operator failed
|
||||
///\exception H5::Exception
|
||||
///\par Description
|
||||
/// For information, please refer to the H5Ovisit2 API in the HDF5
|
||||
/// C Reference Manual.
|
||||
// Programmer Binh-Minh Ribler - Feb, 2019
|
||||
//--------------------------------------------------------------------------
|
||||
void H5Object::visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields)
|
||||
{
|
||||
// Store the user's function and data
|
||||
UserData4Visit* userData = new UserData4Visit;
|
||||
userData->opData = op_data;
|
||||
userData->op = user_op;
|
||||
userData->obj = this;
|
||||
|
||||
// Call the C API passing in op wrapper and info
|
||||
herr_t ret_value = H5Ovisit2(getId(), idx_type, order, userVisitOpWrpr, static_cast<void *>(userData), fields);
|
||||
|
||||
// Release memory
|
||||
delete userData;
|
||||
|
||||
// Throw exception if H5Ovisit2 failed, which could be a failure in
|
||||
// the library or in the call back operator
|
||||
if (ret_value < 0)
|
||||
throw Exception(inMemFunc("visit"), "H5Ovisit2 failed");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Function: H5Object::objVersion
|
||||
///\brief Returns the header version of this HDF5 object.
|
||||
|
||||
@@ -40,16 +40,30 @@ namespace H5 {
|
||||
// Inheritance: H5Location -> IdComponent
|
||||
|
||||
// Define the operator function pointer for H5Aiterate().
|
||||
typedef void (*attr_operator_t)(H5Object& loc/*in*/,
|
||||
const H5std_string attr_name/*in*/,
|
||||
void *operator_data/*in,out*/);
|
||||
typedef void (*attr_operator_t)(H5Object& loc,
|
||||
const H5std_string attr_name,
|
||||
void *operator_data);
|
||||
|
||||
// Define the operator function pointer for H5Ovisit2().
|
||||
typedef int (*visit_operator_t)(H5Object& obj,
|
||||
const H5std_string attr_name,
|
||||
const H5O_info_t *oinfo,
|
||||
void *operator_data);
|
||||
|
||||
// User data for attribute iteration
|
||||
class UserData4Aiterate {
|
||||
public:
|
||||
attr_operator_t op;
|
||||
void* opData;
|
||||
H5Object* location;
|
||||
H5Object* location; // Consider changing to H5Location
|
||||
};
|
||||
|
||||
// User data for visit iteration
|
||||
class UserData4Visit {
|
||||
public:
|
||||
visit_operator_t op;
|
||||
void* opData;
|
||||
H5Object* obj;
|
||||
};
|
||||
|
||||
class H5_DLLCPP H5Object : public H5Location {
|
||||
@@ -71,6 +85,9 @@ class H5_DLLCPP H5Object : public H5Location {
|
||||
// Iterate user's function over the attributes of this object.
|
||||
int iterateAttrs(attr_operator_t user_op, unsigned* idx = NULL, void* op_data = NULL);
|
||||
|
||||
// Recursively visit elements reachable from this object.
|
||||
void visit(H5_index_t idx_type, H5_iter_order_t order, visit_operator_t user_op, void *op_data, unsigned int fields);
|
||||
|
||||
// Returns the object header version of an object
|
||||
unsigned objVersion() const;
|
||||
|
||||
@@ -98,6 +115,7 @@ class H5_DLLCPP H5Object : public H5Location {
|
||||
ssize_t getObjName(H5std_string& obj_name, size_t len = 0) const;
|
||||
H5std_string getObjName() const;
|
||||
|
||||
|
||||
#ifndef DOXYGEN_SHOULD_SKIP_THIS
|
||||
|
||||
protected:
|
||||
|
||||
@@ -186,6 +186,7 @@ StrType::StrType(const H5Location& loc, const H5std_string& dtype_name) : AtomTy
|
||||
// Function: StrType::decode
|
||||
///\brief Returns an StrType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -133,6 +133,7 @@ VarLenType::VarLenType(const H5Location& loc, const H5std_string& dtype_name) :
|
||||
// Function: VarLenType::decode
|
||||
///\brief Returns an VarLenType object via DataType* by decoding the
|
||||
/// binary object description of this type.
|
||||
///
|
||||
///\exception H5::DataTypeIException
|
||||
// Programmer Binh-Minh Ribler - Aug 2017
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME =
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = "1.11.2"
|
||||
PROJECT_NUMBER = "1.10.6-snap1, currently under development"
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -38,16 +38,17 @@ set (srcdir ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ONLY)
|
||||
|
||||
add_executable (cpp_testhdf5 ${CPP_TEST_SOURCES} )
|
||||
target_include_directories(cpp_testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
target_include_directories (cpp_testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
target_compile_definitions(cpp_testhdf5
|
||||
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
|
||||
)
|
||||
TARGET_C_PROPERTIES (cpp_testhdf5 STATIC)
|
||||
target_link_libraries (cpp_testhdf5 PRIVATE
|
||||
${HDF5_CPP_LIB_TARGET}
|
||||
${HDF5_LIB_TARGET}
|
||||
${HDF5_TEST_LIB_TARGET}
|
||||
)
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
TARGET_C_PROPERTIES (cpp_testhdf5 STATIC)
|
||||
target_link_libraries (cpp_testhdf5 PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
else ()
|
||||
TARGET_C_PROPERTIES (cpp_testhdf5 SHARED)
|
||||
target_link_libraries (cpp_testhdf5 PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${HDF5_TEST_LIBSH_TARGET})
|
||||
endif ()
|
||||
set_target_properties (cpp_testhdf5 PROPERTIES FOLDER test/cpp)
|
||||
|
||||
include (CMakeTests.cmake)
|
||||
|
||||
@@ -47,55 +47,12 @@ else ()
|
||||
endif ()
|
||||
set_tests_properties (CPP_testhdf5 PROPERTIES DEPENDS CPP_testhdf5-clear-objects)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### V F D T E S T S ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
||||
if (HDF5_TEST_VFD)
|
||||
|
||||
set (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
if (DIRECT_VFD)
|
||||
set (VFD_LIST ${VFD_LIST} direct)
|
||||
endif ()
|
||||
|
||||
macro (ADD_VFD_TEST vfdname resultcode)
|
||||
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdname}")
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tattr_basic.h5
|
||||
tattr_compound.h5
|
||||
tattr_dtype.h5
|
||||
tattr_multi.h5
|
||||
tattr_scalar.h5
|
||||
tfattrs.h5
|
||||
titerate.h5
|
||||
)
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=cpp_testhdf5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES TIMEOUT 30)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
foreach (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
endforeach ()
|
||||
|
||||
include (CMakeVFDTests.cmake)
|
||||
endif ()
|
||||
|
||||
65
c++/test/CMakeVFDTests.cmake
Normal file
65
c++/test/CMakeVFDTests.cmake
Normal file
@@ -0,0 +1,65 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
### T E S T I N G ###
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
set (VFD_LIST
|
||||
sec2
|
||||
stdio
|
||||
core
|
||||
split
|
||||
multi
|
||||
family
|
||||
)
|
||||
|
||||
if (DIRECT_VFD)
|
||||
set (VFD_LIST ${VFD_LIST} direct)
|
||||
endif ()
|
||||
|
||||
macro (ADD_VFD_TEST vfdname resultcode)
|
||||
if (NOT HDF5_ENABLE_USING_MEMCHECKER)
|
||||
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdname}")
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-E remove
|
||||
tattr_basic.h5
|
||||
tattr_compound.h5
|
||||
tattr_dtype.h5
|
||||
tattr_multi.h5
|
||||
tattr_scalar.h5
|
||||
tfattrs.h5
|
||||
titerate.h5
|
||||
)
|
||||
add_test (
|
||||
NAME CPP_VFD-${vfdname}-cpp_testhdf5
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_VFD:STRING=${vfdname}"
|
||||
-D "TEST_EXPECT=${resultcode}"
|
||||
-D "TEST_OUTPUT=cpp_testhdf5"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
|
||||
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
|
||||
)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES DEPENDS CPP_VFD-${vfdname}-cpp_testhdf5-clear-objects)
|
||||
set_tests_properties (CPP_VFD-${vfdname}-cpp_testhdf5 PROPERTIES TIMEOUT ${CTEST_SHORT_TIMEOUT})
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
# Run test with different Virtual File Driver
|
||||
foreach (vfd ${VFD_LIST})
|
||||
ADD_VFD_TEST (${vfd} 0)
|
||||
endforeach ()
|
||||
@@ -58,13 +58,13 @@ static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_create
|
||||
*
|
||||
* Purpose Attempts to create a dataset.
|
||||
* Purpose: Attempts to create a dataset.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* Friday, January 5, 2001
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -184,15 +184,15 @@ static herr_t test_create( H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_simple_io
|
||||
*
|
||||
* Purpose Tests simple I/O. That is, reading and writing a complete
|
||||
* Purpose: Tests simple I/O. That is, reading and writing a complete
|
||||
* multi-dimensional array without data type or data space
|
||||
* conversions, without compression, and stored contiguously.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* Friday, January 5, 2001
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -268,13 +268,13 @@ static herr_t test_simple_io( H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_datasize
|
||||
*
|
||||
* Purpose Tests DataSet::getInMemDataSize().
|
||||
* Purpose: Tests DataSet::getInMemDataSize().
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler
|
||||
* Programmer: Binh-Minh Ribler
|
||||
* Thursday, March 22, 2012
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -334,13 +334,13 @@ static herr_t test_datasize(FileAccPropList &fapl)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_tconv
|
||||
*
|
||||
* Purpose Test some simple data type conversion stuff.
|
||||
* Purpose: Test some simple data type conversion stuff.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* Friday, January 5, 2001
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -425,13 +425,13 @@ const H5Z_class2_t H5Z_BOGUS[1] = {{
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: bogus
|
||||
*
|
||||
* Purpose A bogus compression method that doesn't do anything.
|
||||
* Purpose: A bogus compression method that doesn't do anything.
|
||||
*
|
||||
* Return Success: Data chunk size
|
||||
* Return: Success: Data chunk size
|
||||
*
|
||||
* Failure: 0
|
||||
*
|
||||
* Programmer Robb Matzke
|
||||
* Programmer: Robb Matzke
|
||||
* Tuesday, April 21, 1998
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -447,16 +447,16 @@ static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_compression
|
||||
*
|
||||
* Purpose Tests dataset compression. If compression is requested when
|
||||
* Purpose: Tests dataset compression. If compression is requested when
|
||||
* it hasn't been compiled into the library (such as when
|
||||
* updating an existing compressed dataset) then data is sent to
|
||||
* the file uncompressed but no errors are returned.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* Friday, January 5, 2001
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -730,13 +730,13 @@ static herr_t test_compression(H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_nbit_methods
|
||||
*
|
||||
* Purpose Tests setting nbit compression methods.
|
||||
* Purpose: Tests setting nbit compression methods.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler
|
||||
* Programmer: Binh-Minh Ribler
|
||||
* Friday, April 22, 2016
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@@ -847,16 +847,16 @@ static herr_t test_nbit_compression(H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_multiopen
|
||||
*
|
||||
* Purpose Tests that a bug no longer exists. If a dataset is opened
|
||||
* Purpose: Tests that a bug no longer exists. If a dataset is opened
|
||||
* twice and one of the handles is used to extend the dataset,
|
||||
* then the other handle should return the new size when
|
||||
* queried.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* Saturday, February 17, 2001
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -929,13 +929,13 @@ static herr_t test_multiopen (H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_types
|
||||
*
|
||||
* Purpose Test various types - should be moved to dtypes.cpp
|
||||
* Purpose: Test various types - should be moved to dtypes.cpp
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* February 17, 2001
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -1118,9 +1118,9 @@ static herr_t test_types(H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_getObjinfo
|
||||
*
|
||||
* Purpose Tests getObjinfo()
|
||||
* Purpose: Tests getObjinfo()
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
* Failure: -1
|
||||
*
|
||||
* July, 2018
|
||||
@@ -1178,10 +1178,10 @@ static herr_t test_getinfo(H5File& file)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_chunk_cache
|
||||
*
|
||||
* Purpose Tests setting rdcc info on a DAPL, and interaction
|
||||
* Purpose: Tests setting rdcc info on a DAPL, and interaction
|
||||
* with the corresponding properties in the file structure.
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
* Failure: number of errors
|
||||
*
|
||||
* July 2018
|
||||
@@ -1290,13 +1290,13 @@ static herr_t test_chunk_cache(FileAccPropList fapl)
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_virtual
|
||||
*
|
||||
* Purpose Tests fixed, unlimited, and printf selections in the same
|
||||
* Purpose: Tests fixed, unlimited, and printf selections in the same
|
||||
* VDS
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
* Failure: number of errors
|
||||
*
|
||||
* Programmer Binh-Minh Ribler
|
||||
* Programmer: Binh-Minh Ribler
|
||||
* Friday, March 10, 2017
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@@ -1368,13 +1368,13 @@ static herr_t test_virtual()
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_dset
|
||||
*
|
||||
* Purpose Tests the dataset interface (H5D)
|
||||
* Purpose: Tests the dataset interface (H5D)
|
||||
*
|
||||
* Return Success: 0
|
||||
* Return: Success: 0
|
||||
*
|
||||
* Failure: -1
|
||||
*
|
||||
* Programmer Binh-Minh Ribler (using C version)
|
||||
* Programmer: Binh-Minh Ribler (using C version)
|
||||
* Friday, January 5, 2001
|
||||
*
|
||||
* Modifications:
|
||||
@@ -1438,11 +1438,11 @@ void test_dset()
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: cleanup_dsets
|
||||
*
|
||||
* Purpose Cleanup temporary test files
|
||||
* Purpose: Cleanup temporary test files
|
||||
*
|
||||
* Return None
|
||||
* Return: None
|
||||
*
|
||||
* Programmer (use C version)
|
||||
* Programmer: (use C version)
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
extern "C"
|
||||
|
||||
@@ -286,7 +286,7 @@ H5::DataType getArr()
|
||||
*dims = 5;
|
||||
H5::ArrayType ret;
|
||||
ret = H5::ArrayType(H5::PredType::NATIVE_INT, 1, dims);
|
||||
delete[] dims;
|
||||
delete dims;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,288 +31,27 @@ using namespace H5;
|
||||
#include "h5test.h"
|
||||
#include "h5cpputil.h" // C++ utilility header file
|
||||
|
||||
// A lot of the definition inherited from C test links.c is left here until
|
||||
// the H5L API is implemented and tests are completed - BMR 10/19/2009
|
||||
/*
|
||||
* This file needs to access private information from the H5G package.
|
||||
* This file also needs to access the group testing code.
|
||||
*/
|
||||
//#define H5G_FRIEND
|
||||
//#define H5G_TESTING
|
||||
|
||||
//#include "h5test.h"
|
||||
//#include "H5Gpkg.h" /* Groups */
|
||||
//#include "H5Iprivate.h" /* IDs */
|
||||
//#include "H5Lprivate.h" /* Links */
|
||||
|
||||
/* File for external link test. Created with gen_udlinks.c */
|
||||
#define LINKED_FILE "be_extlink2.h5"
|
||||
|
||||
#if 0
|
||||
const char *FILENAME[] = {
|
||||
"links0",
|
||||
"links1",
|
||||
"links2",
|
||||
"links3",
|
||||
"links4a", /* 4 */
|
||||
"links4b", /* 5 */
|
||||
"links4c", /* 6 */
|
||||
"links4d", /* 7 */
|
||||
"links5", /* 8 */
|
||||
"links6", /* 9 */
|
||||
"links7", /* 10 */
|
||||
"links8", /* 11 */
|
||||
"extlinks0", /* 12: main files */
|
||||
"tmp/extlinks0", /* 13: */
|
||||
"extlinks1", /* 14: target files */
|
||||
"tmp/extlinks1", /* 15: */
|
||||
"extlinks2", /* 16: */
|
||||
"tmp/extlinks2", /* 17: */
|
||||
"extlinks3", /* 18: */
|
||||
"tmp/extlinks3", /* 19: */
|
||||
"extlinks4", /* 20: */
|
||||
"tmp/extlinks4", /* 21: */
|
||||
"extlinks5", /* 22: */
|
||||
"tmp/extlinks6", /* 23: */
|
||||
"extlinks7", /* 24: */
|
||||
"tmp/extlinks7", /* 25: */
|
||||
"tmp/extlinks8", /* 26: */
|
||||
"extlinks9", /* 27: */
|
||||
"tmp/extlinks9", /* 28: */
|
||||
"extlinks10", /* 29: */ /* TESTS for windows */
|
||||
"tmp/extlinks10", /* 30: */
|
||||
"tmp/extlinks11", /* 31: */
|
||||
"tmp/extlinks12", /* 32: */
|
||||
"extlinks13", /* 33: */
|
||||
"tmp/extlinks13", /* 34: */
|
||||
"tmp/extlinks14", /* 35: */
|
||||
"tmp/extlinks15", /* 36: */
|
||||
"extlinks16A", /* 37: */ /* TESTS for H5P_set_elink_fapl */
|
||||
"extlinks16B", /* 38: */
|
||||
"extlinks17", /* 39: */
|
||||
"extlinks18A", /* 40: */
|
||||
"extlinks18B", /* 41: */
|
||||
"extlinks19A", /* 42: */
|
||||
"extlinks19B", /* 43: */
|
||||
"extlinks20", /* 44: */
|
||||
NULL
|
||||
};
|
||||
|
||||
#endif // 0
|
||||
|
||||
#define TMPDIR "tmp"
|
||||
|
||||
#define FAMILY_SIZE 1024
|
||||
#define CORE_INCREMENT 1024
|
||||
#define NUM400 400
|
||||
|
||||
/* do not do check_all_closed() for "ext*" files and "tmp/ext*" */
|
||||
#define EXTSTOP 12
|
||||
|
||||
#define LINK_BUF_SIZE 1024
|
||||
#define NAME_BUF_SIZE 1024
|
||||
#define MAX_NAME_LEN ((64*1024)+1024)
|
||||
|
||||
/* Link type IDs */
|
||||
#define UD_HARD_TYPE 201
|
||||
#define UD_CB_TYPE H5L_TYPE_MAX
|
||||
#define UD_PLIST_TYPE 128
|
||||
#define UD_CBFAIL_TYPE UD_PLIST_TYPE
|
||||
#define UD_ERROR_TYPE 189
|
||||
#define UD_BAD_TYPE1 H5L_TYPE_HARD
|
||||
#define UD_BAD_TYPE2 (H5L_TYPE_UD_MIN - 5)
|
||||
#define UD_BAD_VERS (H5L_LINK_CLASS_T_VERS + 1)
|
||||
|
||||
#define DEST_PROP_NAME "destination_group"
|
||||
#define REREG_TARGET_NAME "rereg_target"
|
||||
|
||||
#define UD_CB_LINK_NAME "ud_callback_link"
|
||||
#define NEW_UD_CB_LINK_NAME "ud_callback_link2"
|
||||
#define UD_CB_TARGET "ud_target"
|
||||
#define UD_CB_TARGET_LEN 10
|
||||
|
||||
#define LE_FILENAME "le_extlink1.h5"
|
||||
#define BE_FILENAME "be_extlink1.h5"
|
||||
|
||||
#define ELINK_CB_FAM_SIZE (hsize_t) 100
|
||||
|
||||
#define H5L_DIM1 100
|
||||
#define H5L_DIM2 100
|
||||
|
||||
/* Creation order macros */
|
||||
#define CORDER_SOFT_GROUP_NAME "corder_soft_group"
|
||||
#define CORDER_NLINKS 18
|
||||
|
||||
/* Timestamp macros */
|
||||
#define TIMESTAMP_GROUP_1 "timestamp1"
|
||||
#define TIMESTAMP_GROUP_2 "timestamp2"
|
||||
|
||||
/* Link iteration struct */
|
||||
typedef struct {
|
||||
H5_iter_order_t order; /* Direction of iteration */
|
||||
unsigned ncalled; /* # of times callback is entered */
|
||||
unsigned nskipped; /* # of links skipped */
|
||||
int stop; /* # of iterations to stop after */
|
||||
int64_t curr; /* Current creation order value */
|
||||
size_t max_visit; /* Size of "visited link" flag array */
|
||||
hbool_t *visited; /* Pointer to array of "visited link" flags */
|
||||
} link_iter_info_t;
|
||||
|
||||
#if 0
|
||||
/* Link visit structs */
|
||||
typedef struct {
|
||||
const char *path; /* Path to link */
|
||||
H5L_type_t type; /* Type of link */
|
||||
} link_visit_t;
|
||||
static const link_visit_t lvisit0[] = {
|
||||
{"Dataset_zero", H5L_TYPE_HARD},
|
||||
{"Group1", H5L_TYPE_HARD},
|
||||
{"Group1/Dataset_one", H5L_TYPE_HARD},
|
||||
{"Group1/Group2", H5L_TYPE_HARD},
|
||||
{"Group1/Group2/Dataset_two", H5L_TYPE_HARD},
|
||||
{"Group1/Group2/Type_two", H5L_TYPE_HARD},
|
||||
{"Group1/Group2/hard_zero", H5L_TYPE_HARD},
|
||||
{"Group1/Type_one", H5L_TYPE_HARD},
|
||||
{"Group1/hard_one", H5L_TYPE_HARD},
|
||||
{"Type_zero", H5L_TYPE_HARD},
|
||||
{"ext_dangle", H5L_TYPE_EXTERNAL},
|
||||
{"ext_one", H5L_TYPE_EXTERNAL},
|
||||
{"hard_one", H5L_TYPE_HARD},
|
||||
{"hard_two", H5L_TYPE_HARD},
|
||||
{"hard_zero", H5L_TYPE_HARD},
|
||||
{"soft_dangle", H5L_TYPE_SOFT},
|
||||
{"soft_one", H5L_TYPE_SOFT},
|
||||
{"soft_two", H5L_TYPE_SOFT}
|
||||
};
|
||||
static const link_visit_t lvisit1[] = {
|
||||
{"Dataset_one", H5L_TYPE_HARD},
|
||||
{"Group2", H5L_TYPE_HARD},
|
||||
{"Group2/Dataset_two", H5L_TYPE_HARD},
|
||||
{"Group2/Type_two", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/Dataset_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/Group1", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/Type_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/ext_dangle", H5L_TYPE_EXTERNAL},
|
||||
{"Group2/hard_zero/ext_one", H5L_TYPE_EXTERNAL},
|
||||
{"Group2/hard_zero/hard_one", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/hard_two", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/hard_zero", H5L_TYPE_HARD},
|
||||
{"Group2/hard_zero/soft_dangle", H5L_TYPE_SOFT},
|
||||
{"Group2/hard_zero/soft_one", H5L_TYPE_SOFT},
|
||||
{"Group2/hard_zero/soft_two", H5L_TYPE_SOFT},
|
||||
{"Type_one", H5L_TYPE_HARD},
|
||||
{"hard_one", H5L_TYPE_HARD}
|
||||
};
|
||||
static const link_visit_t lvisit2[] = {
|
||||
{"Dataset_two", H5L_TYPE_HARD},
|
||||
{"Type_two", H5L_TYPE_HARD},
|
||||
{"hard_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/Dataset_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/Dataset_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/Group2", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/Type_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/Group1/hard_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/Type_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/ext_dangle", H5L_TYPE_EXTERNAL},
|
||||
{"hard_zero/ext_one", H5L_TYPE_EXTERNAL},
|
||||
{"hard_zero/hard_one", H5L_TYPE_HARD},
|
||||
{"hard_zero/hard_two", H5L_TYPE_HARD},
|
||||
{"hard_zero/hard_zero", H5L_TYPE_HARD},
|
||||
{"hard_zero/soft_dangle", H5L_TYPE_SOFT},
|
||||
{"hard_zero/soft_one", H5L_TYPE_SOFT},
|
||||
{"hard_zero/soft_two", H5L_TYPE_SOFT}
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned idx; /* Index in link visit structure */
|
||||
const link_visit_t *info; /* Pointer to the link visit structure to use */
|
||||
} lvisit_ud_t;
|
||||
|
||||
|
||||
/* Object visit structs */
|
||||
// Object visit structs
|
||||
typedef struct {
|
||||
const char *path; /* Path to object */
|
||||
H5O_type_t type; /* Type of object */
|
||||
} obj_visit_t;
|
||||
static const obj_visit_t ovisit0_old[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group1", H5O_TYPE_GROUP},
|
||||
{"Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2", H5O_TYPE_GROUP},
|
||||
{"Group1/Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit0_new[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group1", H5O_TYPE_GROUP},
|
||||
{"Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2", H5O_TYPE_GROUP},
|
||||
{"Group1/Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group1/Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit1_old[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group2", H5O_TYPE_GROUP},
|
||||
{"Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group2/hard_zero", H5O_TYPE_GROUP},
|
||||
{"Group2/hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group2/hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_one", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit1_new[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_one", H5O_TYPE_DATASET},
|
||||
{"Group2", H5O_TYPE_GROUP},
|
||||
{"Group2/Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Group2/Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Group2/hard_zero", H5O_TYPE_GROUP},
|
||||
{"Group2/hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"Group2/hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"Type_one", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit2_old[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
static const obj_visit_t ovisit2_new[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Dataset_two", H5O_TYPE_DATASET},
|
||||
{"Type_two", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Dataset_zero", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1", H5O_TYPE_GROUP},
|
||||
{"hard_zero/Group1/Dataset_one", H5O_TYPE_DATASET},
|
||||
{"hard_zero/Group1/Type_one", H5O_TYPE_NAMED_DATATYPE},
|
||||
{"hard_zero/Type_zero", H5O_TYPE_NAMED_DATATYPE}
|
||||
};
|
||||
|
||||
// User data for callback function
|
||||
typedef struct {
|
||||
unsigned idx; /* Index in object visit structure */
|
||||
const obj_visit_t *info; /* Pointer to the object visit structure to use */
|
||||
} ovisit_ud_t;
|
||||
#endif
|
||||
|
||||
static const char *FILENAME[] = {
|
||||
"link0",
|
||||
"link1.h5",
|
||||
"link2.h5",
|
||||
"visit",
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -841,6 +580,140 @@ static void test_num_links(hid_t fapl_id, hbool_t new_format)
|
||||
}
|
||||
} // test_num_links
|
||||
|
||||
|
||||
// Data for visit on the file
|
||||
static const obj_visit_t file_visit[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Data", H5O_TYPE_GROUP},
|
||||
{"Data/Compressed_Data", H5O_TYPE_DATASET},
|
||||
{"Data/Float_Data", H5O_TYPE_DATASET},
|
||||
};
|
||||
|
||||
// Data for visit on the group
|
||||
static const obj_visit_t group_visit[] = {
|
||||
{".", H5O_TYPE_GROUP},
|
||||
{"Compressed_Data", H5O_TYPE_DATASET},
|
||||
{"Float_Data", H5O_TYPE_DATASET},
|
||||
};
|
||||
|
||||
const H5std_string FILE_NAME("tvisit.h5");
|
||||
const H5std_string GROUP_NAME("/Data");
|
||||
const H5std_string DSET1_NAME("/Data/Compressed_Data");
|
||||
const H5std_string DSET2_NAME("/Data/Float_Data");
|
||||
const int RANK = 2;
|
||||
const int DIM1 = 2;
|
||||
|
||||
// Operator function
|
||||
static int visit_obj_cb(H5Object& obj, const H5std_string name, const H5O_info_t *oinfo, void *_op_data)
|
||||
{
|
||||
ovisit_ud_t *op_data = static_cast <ovisit_ud_t *>(_op_data);
|
||||
|
||||
// Check for correct object information
|
||||
if(strcmp(op_data->info[op_data->idx].path, name.c_str())) return(H5_ITER_ERROR);
|
||||
if(op_data->info[op_data->idx].type != oinfo->type) return(H5_ITER_ERROR);
|
||||
|
||||
// Advance to next location
|
||||
op_data->idx++;
|
||||
|
||||
return(H5_ITER_CONT);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_visit
|
||||
*
|
||||
* Purpose Test H5Object::visit
|
||||
*
|
||||
* Return None
|
||||
*
|
||||
* February 8, 2019
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
static void test_visit(hid_t fapl_id, hbool_t new_format)
|
||||
{
|
||||
hsize_t dims[2];
|
||||
hsize_t cdims[2];
|
||||
char filename[NAME_BUF_SIZE];
|
||||
|
||||
if(new_format)
|
||||
SUBTEST("H5Object::visit (w/new group format)")
|
||||
else
|
||||
SUBTEST("H5Object::visit")
|
||||
|
||||
try
|
||||
{
|
||||
// Use the file access template id to create a file access prop. list
|
||||
FileAccPropList fapl(fapl_id);
|
||||
|
||||
// Build the hdf5 file name and create the file
|
||||
h5_fixname(FILENAME[3], fapl_id, filename, sizeof filename);
|
||||
H5File *file = new H5File(filename, H5F_ACC_TRUNC, FileCreatPropList::DEFAULT, fapl);
|
||||
|
||||
// Create a group
|
||||
Group* group = new Group(file->createGroup(GROUP_NAME));
|
||||
|
||||
// Create a chunked/compressed dataset within this group specified by path
|
||||
dims[0] = 20;
|
||||
dims[1] = 2;
|
||||
cdims[0] = 2;
|
||||
cdims[1] = 2;
|
||||
DataSpace *dataspace = new DataSpace(RANK, dims); // create new dspace
|
||||
DSetCreatPropList ds_creatplist; // create dataset creation prop list
|
||||
ds_creatplist.setChunk(2, cdims); // then modify it for compression
|
||||
ds_creatplist.setDeflate(6);
|
||||
|
||||
DataSet* dataset = new DataSet(file->createDataSet(DSET1_NAME,
|
||||
PredType::NATIVE_INT, *dataspace, ds_creatplist));
|
||||
|
||||
delete dataset;
|
||||
delete dataspace;
|
||||
|
||||
// Create another dataset
|
||||
dims[0] = 5;
|
||||
dims[1] = 2;
|
||||
dataspace = new DataSpace(RANK, dims); // create second dspace
|
||||
dataset = new DataSet(file->createDataSet(DSET2_NAME,
|
||||
PredType::NATIVE_FLOAT, *dataspace));
|
||||
|
||||
// Close everything
|
||||
delete dataset;
|
||||
delete dataspace;
|
||||
delete group;
|
||||
delete file;
|
||||
|
||||
// Reopen the file and group in the file.
|
||||
file = new H5File(filename, H5F_ACC_RDWR);
|
||||
group = new Group(file->openGroup("Data"));
|
||||
|
||||
// Open the group
|
||||
dataset = new DataSet(group->openDataSet(DSET2_NAME));
|
||||
delete dataset;
|
||||
|
||||
// Visit objects in the file
|
||||
ovisit_ud_t udata; /* User-data for visiting */
|
||||
udata.idx = 0;
|
||||
udata.info = file_visit;
|
||||
|
||||
file->visit(H5_INDEX_NAME, H5_ITER_INC, visit_obj_cb, &udata, H5O_INFO_BASIC);
|
||||
|
||||
// Visit objects in the group
|
||||
udata.idx = 0;
|
||||
udata.info = group_visit;
|
||||
|
||||
group->visit(H5_INDEX_NAME, H5_ITER_INC, visit_obj_cb, &udata, H5O_INFO_BASIC);
|
||||
|
||||
// Close the group and file.
|
||||
delete group;
|
||||
delete file;
|
||||
|
||||
PASSED();
|
||||
} // end of try block
|
||||
catch (Exception& E)
|
||||
{
|
||||
cerr << "in catch" << endl;
|
||||
issue_fail_msg("test_visit()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
} // test_visit()
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_links
|
||||
@@ -857,13 +730,9 @@ void test_links()
|
||||
{
|
||||
hid_t fapl_id, fapl2_id; /* File access property lists */
|
||||
unsigned new_format; /* Whether to use the new format or not */
|
||||
const char *envval;
|
||||
|
||||
envval = HDgetenv("HDF5_DRIVER");
|
||||
if(envval == NULL)
|
||||
envval = "nomatch";
|
||||
|
||||
fapl_id = h5_fileaccess();
|
||||
if((fapl_id = h5_fileaccess()) < 0)
|
||||
throw Exception("test_links", "Unable to get file access property list");
|
||||
|
||||
// Output message about test being performed
|
||||
MESSAGE(5, ("Testing Various Links\n"));
|
||||
@@ -896,24 +765,18 @@ void test_links()
|
||||
test_move(my_fapl_id, new_format);
|
||||
test_copy(my_fapl_id, new_format);
|
||||
test_lcpl(my_fapl_id, new_format);
|
||||
test_visit(my_fapl_id, new_format);
|
||||
} /* end for */
|
||||
|
||||
/* Close 2nd FAPL */
|
||||
H5Pclose(fapl2_id);
|
||||
|
||||
h5_clean_files(FILENAME, fapl_id);
|
||||
|
||||
/* Test that external links can be used after a library reset. MUST be
|
||||
* called last so the reset doesn't interfere with the property lists. This
|
||||
* routine will delete its own file. */
|
||||
/* nerrors += external_reset_register() < 0 ? 1 : 0;
|
||||
*/
|
||||
}
|
||||
catch (Exception& E)
|
||||
{
|
||||
issue_fail_msg("test_links()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -931,7 +794,3 @@ void cleanup_links()
|
||||
HDremove(FILENAME[0]);
|
||||
HDremove(FILENAME[1]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -609,10 +609,121 @@ static void test_getobjectinfo_same_file()
|
||||
catch (Exception& E)
|
||||
{
|
||||
cerr << " in Exception " << E.getCFuncName() << "detail: " << E.getCDetailMsg() << endl;
|
||||
issue_fail_msg("test_file_name()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
issue_fail_msg("test_getobjectinfo_same_file()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
|
||||
} // test_h5o_getinfo_same_file
|
||||
} // test_getobjectinfo_same_file
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_intermediate_groups
|
||||
*
|
||||
* Purpose Test that intermediate groups are created as specified by
|
||||
* the property setting.
|
||||
*
|
||||
* Return None
|
||||
*
|
||||
* April, 2019
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
const H5std_string FILE_INTERGRPS("tobject_intergrps.h5");
|
||||
const H5std_string GROUP10NAME("/group10");
|
||||
const H5std_string GROUP11NAME("/group10/group11");
|
||||
const H5std_string GROUP12NAME("/group10/group11/group12");
|
||||
const H5std_string GROUP13NAME("/group10/group11/group12/group13");
|
||||
const H5std_string GROUP14NAME("/group10/group11/group12/group13/group14");
|
||||
const H5std_string GROUP14FROM13NAME("group14");
|
||||
const H5std_string GROUP20NAME("/group20");
|
||||
const H5std_string GROUP21NAME("/group20/group21");
|
||||
const H5std_string GROUP22NAME("group21/group22");
|
||||
const H5std_string GROUP22FULLNAME("/group20/group21/group22");
|
||||
static void test_intermediate_groups()
|
||||
{
|
||||
// Output message about test being performed
|
||||
SUBTEST("Group::set/getCreateIntermediateGroup");
|
||||
|
||||
try {
|
||||
// Create a new HDF5 file
|
||||
H5File file(FILE_INTERGRPS, H5F_ACC_TRUNC);
|
||||
|
||||
// Create a link create property list and set the "create
|
||||
// intermediate groups" flag
|
||||
LinkCreatPropList lcpl;
|
||||
lcpl.setCreateIntermediateGroup(true);
|
||||
|
||||
// Verify value of create missing groups flag
|
||||
bool crt_int_grps = lcpl.getCreateIntermediateGroup();
|
||||
verify_val(crt_int_grps, true, "LinkCreatPropList::getCreateIntermediateGroup", __LINE__, __FILE__);
|
||||
|
||||
// Create GROUP12NAME with creating missing groups
|
||||
Group grp12(file.createGroup(GROUP12NAME, lcpl));
|
||||
|
||||
// Missing groups: GROUP10NAME and GROUP11NAME
|
||||
|
||||
// Create GROUP14NAME without the use of link create plist, should
|
||||
// fail because group GROUP13NAME is missing
|
||||
try {
|
||||
Group grp14_nopl(file.createGroup(GROUP14NAME));
|
||||
} catch (FileIException& expected1) {} // Failure is ignored
|
||||
|
||||
// Create GROUP14NAME with the flag to create missing groups set
|
||||
// to FALSE, should fail because group GROUP13NAME is missing
|
||||
|
||||
// Reset flag to not create missing groups
|
||||
lcpl.setCreateIntermediateGroup(false);
|
||||
|
||||
// Verify value of create missing groups flag
|
||||
crt_int_grps = lcpl.getCreateIntermediateGroup();
|
||||
verify_val(crt_int_grps, false, "LinkCreatPropList::getCreateIntermediateGroup", __LINE__, __FILE__);
|
||||
|
||||
try {
|
||||
Group grp14_false(file.createGroup(GROUP14NAME, lcpl));
|
||||
} catch (FileIException& expected2) {} // Failure is ignored
|
||||
|
||||
// Set the flag to create missing groups set to TRUE
|
||||
lcpl.setCreateIntermediateGroup(true);
|
||||
crt_int_grps = lcpl.getCreateIntermediateGroup();
|
||||
verify_val(crt_int_grps, true, "LinkCreatPropList::getCreateIntermediateGroup", __LINE__, __FILE__);
|
||||
|
||||
|
||||
// Create GROUP14NAME with the use of link create plist
|
||||
Group grp14(file.createGroup(GROUP14NAME, lcpl));
|
||||
|
||||
// Missing groups: GROUP13NAME
|
||||
|
||||
// Create group GROUP20NAME
|
||||
Group grp20(file.createGroup(GROUP20NAME));
|
||||
|
||||
// Create group GROUP22NAME with missing group GROUP21NAME
|
||||
Group grp22(grp20.createGroup(GROUP22NAME, lcpl));
|
||||
|
||||
// Close groups and file
|
||||
grp12.close();
|
||||
grp14.close();
|
||||
grp20.close();
|
||||
grp22.close();
|
||||
file.close();
|
||||
|
||||
// Reopen the file
|
||||
file.openFile(FILE_INTERGRPS, H5F_ACC_RDWR);
|
||||
|
||||
// Open the missing groups and various combinations
|
||||
Group grp10(file.openGroup(GROUP10NAME));
|
||||
Group grp11(file.openGroup(GROUP11NAME));
|
||||
Group grp13(file.openGroup(GROUP13NAME));
|
||||
Group grp14from13(grp13.openGroup(GROUP14FROM13NAME));
|
||||
Group grp21(file.openGroup(GROUP21NAME));
|
||||
Group grp22fromfile(file.openGroup(GROUP22FULLNAME));
|
||||
|
||||
PASSED();
|
||||
} // end of try block
|
||||
// catch all other exceptions
|
||||
catch (Exception& E)
|
||||
{
|
||||
cerr << " in Exception " << E.getCFuncName() << "detail: " << E.getCDetailMsg() << endl;
|
||||
issue_fail_msg("test_intermediate_groups()", __LINE__, __FILE__, E.getCDetailMsg());
|
||||
}
|
||||
|
||||
} // test_intermediate_groups
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: test_object
|
||||
@@ -631,12 +742,13 @@ void test_object()
|
||||
// Output message about test being performed
|
||||
MESSAGE(5, ("Testing Object Functions\n"));
|
||||
|
||||
test_get_objname(); // Test get object name from groups/datasets
|
||||
test_existance(); // Test check for object existance
|
||||
test_get_objname_ontypes(); // Test get object name from types
|
||||
test_get_objtype(); // Test get object type
|
||||
test_open_object_header(); // Test object header functions (H5O)
|
||||
test_getobjectinfo_same_file(); // Test object info in same file
|
||||
test_get_objname(); // Test get object name from groups/datasets
|
||||
test_existance(); // Test check for object existance
|
||||
test_get_objname_ontypes(); // Test get object name from types
|
||||
test_get_objtype(); // Test get object type
|
||||
test_open_object_header(); // Test object header functions (H5O)
|
||||
test_getobjectinfo_same_file(); // Test object info in same file
|
||||
test_intermediate_groups(); // Test intermediate group property
|
||||
|
||||
} // test_object
|
||||
|
||||
|
||||
@@ -41,16 +41,20 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
H5TEST-err_compat #uses runTest.cmake
|
||||
H5TEST-links_env #uses runTest.cmake
|
||||
H5TEST-testlibinfo #uses grepTest.cmake
|
||||
H5TEST-clear-testhdf5-objects
|
||||
#########
|
||||
H5TEST-clear-objects
|
||||
H5TEST-clear-cache-objects
|
||||
H5TEST-clear-cache_api-objects
|
||||
H5TEST-clear-cache_image-objects
|
||||
H5TEST-clear-cache_tagging-objects
|
||||
H5TEST-clear-del_many_dense_attrs-objects
|
||||
H5TEST-clear-err_compat-objects
|
||||
H5TEST-clear-error_test-objects
|
||||
H5TEST-clear-filenotclosed-objects
|
||||
H5TEST-clear-flush-objects
|
||||
H5TEST-clear-links_env-objects
|
||||
H5TEST-clear-testflushrefresh-objects
|
||||
H5TEST-clear-testhdf5-objects
|
||||
H5TEST-clear-ttsafe-objects
|
||||
PERFORM_h5perform-clear-objects
|
||||
HL_TOOLS-clear-objects
|
||||
@@ -60,11 +64,19 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
CPP_testhdf5-clear-objects
|
||||
######### tools/h5clear #########
|
||||
H5CLEAR-clearall-objects
|
||||
H5CLEAR-copy_h5clear_fsm_persist_equal.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_greater.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_less.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_noclose.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_user_equal.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_user_greater.h5
|
||||
H5CLEAR-copy_h5clear_fsm_persist_user_less.h5
|
||||
H5CLEAR-copy_h5clear_log_v3.h5
|
||||
H5CLEAR-copy_h5clear_mdc_image.h5
|
||||
H5CLEAR-copy_h5clear_sec2_v0.h5
|
||||
H5CLEAR-copy_h5clear_sec2_v2.h5
|
||||
H5CLEAR-copy_h5clear_sec2_v3.h5
|
||||
H5CLEAR-copy_h5clear_status_noclear.h5
|
||||
H5CLEAR-copy_latest_h5clear_log_v3.h5
|
||||
H5CLEAR-copy_latest_h5clear_sec2_v3.h5
|
||||
H5CLEAR-copy_mod_h5clear_mdc_image.h5
|
||||
@@ -82,6 +94,7 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
H5DUMP_PACKED_BITS-clearall-objects
|
||||
H5DUMP-XML-clearall-objects
|
||||
H5DUMP_VDS-clearall-objects
|
||||
H5DUMP-t128bit_float #uses grepTest.cmake
|
||||
######### tools/h5format_convert #########
|
||||
H5FC-clearall-objects
|
||||
######### tools/h5import #########
|
||||
@@ -307,6 +320,11 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||
H5REPACK_VERIFY_LAYOUT_ALL-layout_short_switches #uses grepTest.cmake
|
||||
H5REPACK-plugin
|
||||
H5REPACK_CMP-plugin_zero
|
||||
#########
|
||||
ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-latest_latest_invalid-clear-objects
|
||||
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_0-clear-objects
|
||||
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_2-clear-objects
|
||||
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_3-clear-objects
|
||||
######### tools/h5stat #########
|
||||
H5STAT-clearall-objects
|
||||
######### tools/misc #########
|
||||
|
||||
@@ -28,15 +28,6 @@ if (HDF5_STRICT_FORMAT_CHECKS)
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_STRICT_FORMAT_CHECKS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option for --enable-metadata-trace-file
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_METADATA_TRACE_FILE "Enable metadata trace file collection" OFF)
|
||||
if (HDF5_METADATA_TRACE_FILE)
|
||||
set (${HDF_PREFIX}_METADATA_TRACE_FILE 1)
|
||||
endif ()
|
||||
MARK_AS_ADVANCED (HDF5_METADATA_TRACE_FILE)
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Decide whether the data accuracy has higher priority during data
|
||||
# conversions. If not, some hard conversions will still be prefered even
|
||||
@@ -167,12 +158,17 @@ endif ()
|
||||
# Check if C has __float128 extension
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
CHECK_TYPE_SIZE("__float128" SIZEOF___FLOAT128)
|
||||
if (${HAVE_SIZEOF___FLOAT128})
|
||||
CHECK_TYPE_SIZE("__float128" ${HDF_PREFIX}_SIZEOF___FLOAT128)
|
||||
if (${${HDF_PREFIX}_SIZEOF___FLOAT128})
|
||||
set (${HDF_PREFIX}_HAVE_FLOAT128 1)
|
||||
else ()
|
||||
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
|
||||
set (SIZEOF___FLOAT128 0)
|
||||
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
|
||||
endif ()
|
||||
|
||||
CHECK_TYPE_SIZE("_Quad" ${HDF_PREFIX}_SIZEOF__QUAD)
|
||||
if (NOT ${${HDF_PREFIX}_SIZEOF__QUAD})
|
||||
set (${HDF_PREFIX}_SIZEOF__QUAD 0)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -251,6 +247,11 @@ H5ConversionTests (${HDF_PREFIX}_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctl
|
||||
#
|
||||
H5ConversionTests (${HDF_PREFIX}_LLONG_TO_LDOUBLE_CORRECT "Checking IF correctly converting (unsigned) long long to long double values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Set the flag to indicate that the machine can accurately convert
|
||||
# some long double values
|
||||
#
|
||||
H5ConversionTests (${HDF_PREFIX}_DISABLE_SOME_LDOUBLE_CONV "Checking IF the cpu is power9 and cannot correctly converting long double values")
|
||||
# ----------------------------------------------------------------------
|
||||
# Check if pointer alignments are enforced
|
||||
#
|
||||
H5ConversionTests (${HDF_PREFIX}_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restrictions are strictly enforced")
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* If you do not have access to either file, you may request a copy from *
|
||||
* help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
+
|
||||
|
||||
#if defined(__has_attribute)
|
||||
#if __has_attribute(no_sanitize)
|
||||
#define HDF_NO_UBSAN __attribute__((no_sanitize("undefined")))
|
||||
@@ -287,3 +287,27 @@ main ()
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef H5_DISABLE_SOME_LDOUBLE_CONV_TEST
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int HDF_NO_UBSAN main(void)
|
||||
{
|
||||
FILE *fp;
|
||||
char cpu[64];
|
||||
|
||||
fp = popen("uname -m", "r");
|
||||
|
||||
fgets(cpu, sizeof(cpu)-1, fp);
|
||||
|
||||
pclose(fp);
|
||||
|
||||
if(strncmp(cpu, "ppc64le", 7) == 0)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#
|
||||
# To be used by projects that make use of CMakeified hdf-java
|
||||
#
|
||||
|
||||
#
|
||||
# Find the HDFJAVA includes and get all installed hdf-java library settings from
|
||||
# HDFJAVA-config.cmake file : Requires a CMake compatible hdf-java-@HDFJAVA_PACKAGE_VERSION@ or later
|
||||
# for this feature to work. The following vars are set if hdf-java is found.
|
||||
#
|
||||
# HDFJAVA_FOUND - True if found, otherwise all other vars are undefined
|
||||
# HDFJAVA_VERSION_STRING - full version (e.g. @HDFJAVA_PACKAGE_VERSION@)
|
||||
# HDFJAVA_VERSION_MAJOR - major part of version (e.g. @HDFJAVA_PACKAGE_VERSION_MAJOR@)
|
||||
# HDFJAVA_VERSION_MINOR - minor part (e.g. @HDFJAVA_PACKAGE_VERSION_MINOR@)
|
||||
#
|
||||
# Target names that are valid (depending on enabled options)
|
||||
# will be the following
|
||||
#
|
||||
#
|
||||
# To aid in finding HDFJAVA as part of a subproject set
|
||||
# HDFJAVA_ROOT_DIR_HINT to the location where @HDFJAVA_PACKAGE@@HDF_PACKAGE_EXT@-config.cmake lies
|
||||
|
||||
INCLUDE (SelectLibraryConfigurations)
|
||||
INCLUDE (FindPackageHandleStandardArgs)
|
||||
|
||||
# The HINTS option should only be used for values computed from the system.
|
||||
set (_HDFJAVA_HINTS
|
||||
$ENV{HOME}/.local
|
||||
$ENV{HDFJAVA_ROOT}
|
||||
$ENV{HDFJAVA_ROOT_DIR_HINT}
|
||||
)
|
||||
# Hard-coded guesses should still go in PATHS. This ensures that the user
|
||||
# environment can always override hard guesses.
|
||||
set (_HDFJAVA_PATHS
|
||||
$ENV{HOME}/.local
|
||||
$ENV{HDFJAVA_ROOT}
|
||||
$ENV{HDFJAVA_ROOT_DIR_HINT}
|
||||
/usr/lib/@HDFJAVA_PACKAGE@
|
||||
/usr/share/@HDFJAVA_PACKAGE@
|
||||
/usr/local/@HDFJAVA_PACKAGE@
|
||||
/usr/local/@HDFJAVA_PACKAGE@/share
|
||||
)
|
||||
|
||||
FIND_PATH (HDFJAVA_ROOT_DIR "@HDFJAVA_PACKAGE@@HDF_PACKAGE_EXT@-config.cmake"
|
||||
HINTS ${_HDFJAVA_HINTS}
|
||||
PATHS ${_HDFJAVA_PATHS}
|
||||
PATH_SUFFIXES
|
||||
cmake/@HDFJAVA_PACKAGE@
|
||||
lib/cmake/@HDFJAVA_PACKAGE@
|
||||
share/cmake/@HDFJAVA_PACKAGE@
|
||||
)
|
||||
|
||||
FIND_PATH (HDFJAVA_LIBRARY "jarhdf5-@HDFJAVA_PACKAGE_VERSION@.jar"
|
||||
HINTS ${_HDFJAVA_HINTS}
|
||||
PATHS ${_HDFJAVA_PATHS}
|
||||
PATH_SUFFIXES
|
||||
lib
|
||||
)
|
||||
|
||||
if (HDFJAVA_ROOT_DIR)
|
||||
set (HDFJAVA_FOUND "YES")
|
||||
INCLUDE (${HDFJAVA_ROOT_DIR}/@HDFJAVA_PACKAGE@@HDF_PACKAGE_EXT@-config.cmake)
|
||||
set (HDFJAVA_LIBRARIES "${HDFJAVA_LIBRARY}")
|
||||
set (HDFJAVA_INCLUDE_DIRS
|
||||
${HDFJAVA_LIBRARY}/jarhdf-@HDFJAVA_PACKAGE_VERSION@.jar
|
||||
${HDFJAVA_LIBRARY}/jarhdf5-@HDFJAVA_PACKAGE_VERSION@.jar
|
||||
)
|
||||
|
||||
endif ()
|
||||
@@ -1,347 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# FindJNI
|
||||
# -------
|
||||
#
|
||||
# Find JNI java libraries.
|
||||
#
|
||||
# This module finds if Java is installed and determines where the
|
||||
# include files and libraries are. It also determines what the name of
|
||||
# the library is. The caller may set variable JAVA_HOME to specify a
|
||||
# Java installation prefix explicitly.
|
||||
#
|
||||
# This module sets the following result variables:
|
||||
#
|
||||
# ::
|
||||
#
|
||||
# JNI_INCLUDE_DIRS = the include dirs to use
|
||||
# JNI_LIBRARIES = the libraries to use
|
||||
# JNI_FOUND = TRUE if JNI headers and libraries were found.
|
||||
# JAVA_AWT_LIBRARY = the path to the jawt library
|
||||
# JAVA_JVM_LIBRARY = the path to the jvm library
|
||||
# JAVA_INCLUDE_PATH = the include path to jni.h
|
||||
# JAVA_INCLUDE_PATH2 = the include path to jni_md.h
|
||||
# JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
|
||||
|
||||
# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var}
|
||||
macro(java_append_library_directories _var)
|
||||
# Determine java arch-specific library subdir
|
||||
# Mostly based on openjdk/jdk/make/common/shared/Platform.gmk as of openjdk
|
||||
# 1.6.0_18 + icedtea patches. However, it would be much better to base the
|
||||
# guess on the first part of the GNU config.guess platform triplet.
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||
if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "x86_64-linux-gnux32")
|
||||
set(_java_libarch "x32" "amd64" "i386")
|
||||
else()
|
||||
set(_java_libarch "amd64" "i386")
|
||||
endif()
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
|
||||
set(_java_libarch "i386")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
|
||||
set(_java_libarch "alpha")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
||||
# Subdir is "arm" for both big-endian (arm) and little-endian (armel).
|
||||
set(_java_libarch "arm" "aarch32")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
|
||||
# mips* machines are bi-endian mostly so processor does not tell
|
||||
# endianess of the underlying system.
|
||||
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb" "mips64" "mips64el" "mipsn32" "mipsn32el")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
|
||||
set(_java_libarch "ppc64" "ppc64le")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
|
||||
set(_java_libarch "ppc64" "ppc")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
|
||||
set(_java_libarch "ppc" "ppc64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
|
||||
# Both flavours can run on the same processor
|
||||
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
|
||||
set(_java_libarch "parisc" "parisc64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
|
||||
# s390 binaries can run on s390x machines
|
||||
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
|
||||
set(_java_libarch "sh")
|
||||
else()
|
||||
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
|
||||
# Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or
|
||||
# system is non-Linux (where the code above has not been well tested)
|
||||
if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
|
||||
list(APPEND _java_libarch "i386" "amd64" "ppc")
|
||||
endif()
|
||||
|
||||
# Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer
|
||||
# current value to a hardcoded list. Remove possible duplicates.
|
||||
list(REMOVE_DUPLICATES _java_libarch)
|
||||
|
||||
foreach(_path ${ARGN})
|
||||
if(_path MATCHES "{libarch}")
|
||||
foreach(_libarch ${_java_libarch})
|
||||
string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
|
||||
if(EXISTS ${_newpath})
|
||||
list(APPEND ${_var} "${_newpath}")
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
if(EXISTS ${_path})
|
||||
list(APPEND ${_var} "${_path}")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
#include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindJavaCommon.cmake)
|
||||
INCLUDE (CMakeFindJavaCommon)
|
||||
|
||||
# Save CMAKE_FIND_FRAMEWORK
|
||||
if(DEFINED CMAKE_FIND_FRAMEWORK)
|
||||
set(_JNI_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
|
||||
else()
|
||||
unset(_JNI_CMAKE_FIND_FRAMEWORK)
|
||||
endif()
|
||||
|
||||
if(_JAVA_HOME_EXPLICIT)
|
||||
set(CMAKE_FIND_FRAMEWORK NEVER)
|
||||
endif()
|
||||
|
||||
set(JAVA_AWT_LIBRARY_DIRECTORIES)
|
||||
if(_JAVA_HOME)
|
||||
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
|
||||
${_JAVA_HOME}/jre/lib/{libarch}
|
||||
${_JAVA_HOME}/jre/lib
|
||||
${_JAVA_HOME}/lib/{libarch}
|
||||
${_JAVA_HOME}/lib
|
||||
${_JAVA_HOME}
|
||||
)
|
||||
endif()
|
||||
get_filename_component(java_install_version
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
|
||||
|
||||
list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
|
||||
)
|
||||
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
|
||||
/usr/java/lib
|
||||
/usr/java/jre/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib/jvm/java/lib
|
||||
/usr/lib64/jvm/java/lib
|
||||
/usr/lib/java/jre/lib/{libarch}
|
||||
/usr/lib64/java/jre/lib/{libarch}
|
||||
/usr/lib/jvm/jre/lib/{libarch}
|
||||
/usr/local/lib/java/jre/lib/{libarch}
|
||||
/usr/local/share/java/jre/lib/{libarch}
|
||||
/usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
|
||||
/usr/lib/j2sdk1.5-sun/jre/lib/{libarch}
|
||||
/opt/sun-jdk-1.5.0.04/jre/lib/{libarch}
|
||||
/usr/lib/jvm/java-6-sun/jre/lib/{libarch}
|
||||
/usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
|
||||
/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch} # can this one be removed according to #8821 ? Alex
|
||||
/usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
|
||||
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch} # fedora
|
||||
# Debian specific paths for default JVM
|
||||
/usr/lib/jvm/default-java/jre/lib/{libarch}
|
||||
/usr/lib/jvm/default-java/jre/lib
|
||||
/usr/lib/jvm/default-java/lib
|
||||
# Arch Linux specific paths for default JVM
|
||||
/usr/lib/jvm/default/jre/lib/{libarch}
|
||||
/usr/lib/jvm/default/lib/{libarch}
|
||||
# Ubuntu specific paths for default JVM
|
||||
/usr/lib/jvm/java-8-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
|
||||
/usr/lib/jvm/java-7-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
|
||||
/usr/lib/jvm/java-6-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
|
||||
# OpenBSD specific paths for default JVM
|
||||
/usr/local/jdk-1.7.0/jre/lib/{libarch}
|
||||
/usr/local/jre-1.7.0/lib/{libarch}
|
||||
/usr/local/jdk-1.6.0/jre/lib/{libarch}
|
||||
/usr/local/jre-1.6.0/lib/{libarch}
|
||||
# SuSE specific paths for default JVM
|
||||
/usr/lib64/jvm/java/jre/lib/{libarch}
|
||||
/usr/lib64/jvm/jre/lib/{libarch}
|
||||
)
|
||||
|
||||
set(JAVA_JVM_LIBRARY_DIRECTORIES)
|
||||
foreach(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
|
||||
list(APPEND JAVA_JVM_LIBRARY_DIRECTORIES
|
||||
"${dir}"
|
||||
"${dir}/client"
|
||||
"${dir}/server"
|
||||
# IBM SDK, Java Technology Edition, specific paths
|
||||
"${dir}/j9vm"
|
||||
"${dir}/default"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
set(JAVA_AWT_INCLUDE_DIRECTORIES)
|
||||
if(_JAVA_HOME)
|
||||
list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES ${_JAVA_HOME}/include)
|
||||
endif()
|
||||
list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
|
||||
)
|
||||
|
||||
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
|
||||
${_JAVA_HOME}/include
|
||||
/usr/include
|
||||
/usr/java/include
|
||||
/usr/local/include
|
||||
/usr/lib/java/include
|
||||
/usr/lib64/java/include
|
||||
/usr/local/lib/java/include
|
||||
/usr/lib/jvm/java/include
|
||||
/usr/lib/jvm/java-6-sun/include
|
||||
/usr/lib/jvm/java-1.5.0-sun/include
|
||||
/usr/lib/jvm/java-6-sun-1.6.0.00/include # can this one be removed according to #8821 ? Alex
|
||||
/usr/lib/jvm/java-6-openjdk/include
|
||||
/usr/lib/jvm/java-7-openjdk/include
|
||||
/usr/lib64/jvm/java-7-openjdk/include
|
||||
/usr/lib64/jvm/java-7-openjdk-amd64/include
|
||||
/usr/lib/jvm/java-8-openjdk-{libarch}/include # ubuntu 15.10
|
||||
/usr/lib/jvm/java-7-openjdk-{libarch}/include # ubuntu 15.10
|
||||
/usr/lib/jvm/java-6-openjdk-{libarch}/include # ubuntu 15.10
|
||||
/usr/local/share/java/include
|
||||
/usr/lib/j2sdk1.4-sun/include
|
||||
/usr/lib/j2sdk1.5-sun/include
|
||||
/opt/sun-jdk-1.5.0.04/include
|
||||
# Debian specific path for default JVM
|
||||
/usr/lib/jvm/default-java/include
|
||||
# Arch specific path for default JVM
|
||||
/usr/lib/jvm/default/include
|
||||
# OpenBSD specific path for default JVM
|
||||
/usr/local/jdk-1.7.0/include
|
||||
/usr/local/jdk-1.6.0/include
|
||||
# SuSE specific paths for default JVM
|
||||
/usr/lib64/jvm/java/include
|
||||
)
|
||||
|
||||
foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
|
||||
get_filename_component(jpath "${JAVA_PROG}" PATH)
|
||||
foreach(JAVA_INC_PATH ../include ../java/include ../share/java/include)
|
||||
if(EXISTS ${jpath}/${JAVA_INC_PATH})
|
||||
list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES "${jpath}/${JAVA_INC_PATH}")
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(JAVA_LIB_PATH
|
||||
../lib ../jre/lib ../jre/lib/i386
|
||||
../java/lib ../java/jre/lib ../java/jre/lib/i386
|
||||
../share/java/lib ../share/java/jre/lib ../share/java/jre/lib/i386)
|
||||
if(EXISTS ${jpath}/${JAVA_LIB_PATH})
|
||||
list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES "${jpath}/${JAVA_LIB_PATH}")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
if(APPLE)
|
||||
if(CMAKE_FIND_FRAMEWORK STREQUAL "ONLY")
|
||||
set(_JNI_SEARCHES FRAMEWORK)
|
||||
elseif(CMAKE_FIND_FRAMEWORK STREQUAL "NEVER")
|
||||
set(_JNI_SEARCHES NORMAL)
|
||||
elseif(CMAKE_FIND_FRAMEWORK STREQUAL "LAST")
|
||||
set(_JNI_SEARCHES NORMAL FRAMEWORK)
|
||||
else()
|
||||
set(_JNI_SEARCHES FRAMEWORK NORMAL)
|
||||
endif()
|
||||
set(_JNI_FRAMEWORK_JVM NAMES JavaVM)
|
||||
set(_JNI_FRAMEWORK_JAWT "${_JNI_FRAMEWORK_JVM}")
|
||||
else()
|
||||
set(_JNI_SEARCHES NORMAL)
|
||||
endif()
|
||||
|
||||
set(_JNI_NORMAL_JVM
|
||||
NAMES jvm
|
||||
PATHS ${JAVA_JVM_LIBRARY_DIRECTORIES}
|
||||
)
|
||||
|
||||
set(_JNI_NORMAL_JAWT
|
||||
NAMES jawt
|
||||
PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
|
||||
)
|
||||
|
||||
foreach(search ${_JNI_SEARCHES})
|
||||
find_library(JAVA_JVM_LIBRARY ${_JNI_${search}_JVM})
|
||||
find_library(JAVA_AWT_LIBRARY ${_JNI_${search}_JAWT})
|
||||
if(JAVA_JVM_LIBRARY)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_JNI_SEARCHES)
|
||||
unset(_JNI_FRAMEWORK_JVM)
|
||||
unset(_JNI_FRAMEWORK_JAWT)
|
||||
unset(_JNI_NORMAL_JVM)
|
||||
unset(_JNI_NORMAL_JAWT)
|
||||
|
||||
# Find headers matching the library.
|
||||
if("${JAVA_JVM_LIBRARY};${JAVA_AWT_LIBRARY};" MATCHES "(/JavaVM.framework|-framework JavaVM);")
|
||||
set(CMAKE_FIND_FRAMEWORK ONLY)
|
||||
else()
|
||||
set(CMAKE_FIND_FRAMEWORK NEVER)
|
||||
endif()
|
||||
|
||||
# add in the include path
|
||||
find_path(JAVA_INCLUDE_PATH jni.h
|
||||
${JAVA_AWT_INCLUDE_DIRECTORIES}
|
||||
)
|
||||
|
||||
find_path(JAVA_INCLUDE_PATH2 NAMES jni_md.h jniport.h
|
||||
PATHS
|
||||
${JAVA_INCLUDE_PATH}
|
||||
${JAVA_INCLUDE_PATH}/darwin
|
||||
${JAVA_INCLUDE_PATH}/win32
|
||||
${JAVA_INCLUDE_PATH}/linux
|
||||
${JAVA_INCLUDE_PATH}/freebsd
|
||||
${JAVA_INCLUDE_PATH}/openbsd
|
||||
${JAVA_INCLUDE_PATH}/solaris
|
||||
${JAVA_INCLUDE_PATH}/hp-ux
|
||||
${JAVA_INCLUDE_PATH}/alpha
|
||||
${JAVA_INCLUDE_PATH}/aix
|
||||
)
|
||||
|
||||
find_path(JAVA_AWT_INCLUDE_PATH jawt.h
|
||||
${JAVA_INCLUDE_PATH}
|
||||
)
|
||||
|
||||
# Restore CMAKE_FIND_FRAMEWORK
|
||||
if(DEFINED _JNI_CMAKE_FIND_FRAMEWORK)
|
||||
set(CMAKE_FIND_FRAMEWORK ${_JNI_CMAKE_FIND_FRAMEWORK})
|
||||
unset(_JNI_CMAKE_FIND_FRAMEWORK)
|
||||
else()
|
||||
unset(CMAKE_FIND_FRAMEWORK)
|
||||
endif()
|
||||
|
||||
#include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
INCLUDE (FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI DEFAULT_MSG JAVA_AWT_LIBRARY
|
||||
JAVA_JVM_LIBRARY
|
||||
JAVA_INCLUDE_PATH
|
||||
JAVA_INCLUDE_PATH2
|
||||
JAVA_AWT_INCLUDE_PATH)
|
||||
|
||||
mark_as_advanced(
|
||||
JAVA_AWT_LIBRARY
|
||||
JAVA_JVM_LIBRARY
|
||||
JAVA_AWT_INCLUDE_PATH
|
||||
JAVA_INCLUDE_PATH
|
||||
JAVA_INCLUDE_PATH2
|
||||
)
|
||||
|
||||
set(JNI_LIBRARIES
|
||||
${JAVA_AWT_LIBRARY}
|
||||
${JAVA_JVM_LIBRARY}
|
||||
)
|
||||
|
||||
set(JNI_INCLUDE_DIRS
|
||||
${JAVA_INCLUDE_PATH}
|
||||
${JAVA_INCLUDE_PATH2}
|
||||
${JAVA_AWT_INCLUDE_PATH}
|
||||
)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#cmakedefine H5_AC_APPLE_UNIVERSAL_BUILD @H5_AC_APPLE_UNIVERSAL_BUILD@
|
||||
|
||||
/* Define if C++ compiler recognizes offsetof */
|
||||
#cmakedefine H5_CXX_HAVE_OFFSETOF @H5_CXX_HAVE_OFFSETOF@
|
||||
#cmakedefine H5_CXX_HAVE_OFFSETOF @CXX_HAVE_OFFSETOF@
|
||||
|
||||
/* Define the default plugins path to compile */
|
||||
#cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@"
|
||||
@@ -74,7 +74,7 @@
|
||||
#define H5_Fortran_COMPILER_ID @CMAKE_Fortran_COMPILER_ID@
|
||||
|
||||
/* Define valid Fortran INTEGER KINDs */
|
||||
#cmakedefine H5_H5CONFIG_F_IKIND @H5_HH5_H5CONFIG_F_NUM_RKIND5CONFIG_F_IKIND@
|
||||
#cmakedefine H5_H5CONFIG_F_IKIND @H5_H5CONFIG_F_IKIND@
|
||||
|
||||
/* Define number of valid Fortran INTEGER KINDs */
|
||||
#cmakedefine H5_H5CONFIG_F_NUM_IKIND @H5_H5CONFIG_F_NUM_IKIND@
|
||||
@@ -161,24 +161,12 @@
|
||||
/* Define to 1 if you have the `fseeko' function. */
|
||||
#cmakedefine H5_HAVE_FSEEKO @H5_HAVE_FSEEKO@
|
||||
|
||||
/* Define to 1 if you have the `fseeko64' function. */
|
||||
#cmakedefine H5_HAVE_FSEEKO64 @H5_HAVE_FSEEKO64@
|
||||
|
||||
/* Define to 1 if you have the `fstat64' function. */
|
||||
#cmakedefine H5_HAVE_FSTAT64 @H5_HAVE_FSTAT64@
|
||||
|
||||
/* Define to 1 if you have the `ftello' function. */
|
||||
#cmakedefine H5_HAVE_FTELLO @H5_HAVE_FTELLO@
|
||||
|
||||
/* Define to 1 if you have the `ftello64' function. */
|
||||
#cmakedefine H5_HAVE_FTELLO64 @H5_HAVE_FTELLO64@
|
||||
|
||||
/* Define to 1 if you have the `ftruncate64' function. */
|
||||
#cmakedefine H5_HAVE_FTRUNCATE64 @H5_HAVE_FTRUNCATE64@
|
||||
|
||||
/* Define if the compiler understands the __FUNCTION__ keyword */
|
||||
#cmakedefine H5_HAVE_FUNCTION @H5_HAVE_FUNCTION@
|
||||
|
||||
/* Determine if INTEGER*16 is available */
|
||||
#cmakedefine H5_HAVE_Fortran_INTEGER_SIZEOF_16 @H5_HAVE_Fortran_INTEGER_SIZEOF_16@
|
||||
|
||||
/* Define to 1 if you have the `GetConsoleScreenBufferInfo' function. */
|
||||
#cmakedefine H5_HAVE_GETCONSOLESCREENBUFFERINFO @H5_HAVE_GETCONSOLESCREENBUFFERINFO@
|
||||
|
||||
@@ -270,15 +258,18 @@
|
||||
/* Define to 1 if you have the <mpe.h> header file. */
|
||||
#cmakedefine H5_HAVE_MPE_H @H5_HAVE_MPE_H@
|
||||
|
||||
/* Define if `MPI_Comm_c2f' and `MPI_Comm_f2c' exists */
|
||||
/* Define if MPI_Comm_c2f and MPI_Comm_f2c exists */
|
||||
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Comm @H5_HAVE_MPI_MULTI_LANG_Comm@
|
||||
|
||||
/* Define if `MPI_Info_c2f' and `MPI_Info_f2c' exists */
|
||||
/* Define if MPI_Info_c2f and MPI_Info_f2c exists */
|
||||
#cmakedefine H5_HAVE_MPI_MULTI_LANG_Info @H5_HAVE_MPI_MULTI_LANG_Info@
|
||||
|
||||
/* Define if we have parallel support */
|
||||
#cmakedefine H5_HAVE_PARALLEL @H5_HAVE_PARALLEL@
|
||||
|
||||
/* Define if both pread and pwrite exist. */
|
||||
#cmakedefine H5_HAVE_PREADWRITE @H5_HAVE_PREADWRITE@
|
||||
|
||||
/* Define to 1 if you have the <pthread.h> header file. */
|
||||
#cmakedefine H5_HAVE_PTHREAD_H @H5_HAVE_PTHREAD_H@
|
||||
|
||||
@@ -348,22 +339,22 @@
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#cmakedefine H5_HAVE_STRDUP @H5_HAVE_STRDUP@
|
||||
|
||||
/* Define to 1 if you have the `strtoll' function. */
|
||||
#cmakedefine H5_HAVE_STRTOLL @H5_HAVE_STRTOLL@
|
||||
|
||||
/* Define to 1 if you have the `strtoull' function. */
|
||||
#cmakedefine H5_HAVE_STRTOULL @H5_HAVE_STRTOULL@
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#cmakedefine H5_HAVE_STRINGS_H @H5_HAVE_STRINGS_H@
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#cmakedefine H5_HAVE_STRING_H @H5_HAVE_STRING_H@
|
||||
|
||||
/* Define if `struct text_info' is defined */
|
||||
/* Define to 1 if you have the `strtoll' function. */
|
||||
#cmakedefine H5_HAVE_STRTOLL @H5_HAVE_STRTOLL@
|
||||
|
||||
/* Define to 1 if you have the `strtoull' function. */
|
||||
#cmakedefine H5_HAVE_STRTOULL @H5_HAVE_STRTOULL@
|
||||
|
||||
/* Define if struct text_info is defined */
|
||||
#cmakedefine H5_HAVE_STRUCT_TEXT_INFO @H5_HAVE_STRUCT_TEXT_INFO@
|
||||
|
||||
/* Define if `struct videoconfig' is defined */
|
||||
/* Define if struct videoconfig is defined */
|
||||
#cmakedefine H5_HAVE_STRUCT_VIDEOCONFIG @H5_HAVE_STRUCT_VIDEOCONFIG@
|
||||
|
||||
/* Define to 1 if you have the `symlink' function. */
|
||||
@@ -402,7 +393,7 @@
|
||||
/* Define if we have thread safe support */
|
||||
#cmakedefine H5_HAVE_THREADSAFE @H5_HAVE_THREADSAFE@
|
||||
|
||||
/* Define if `timezone' is a global variable */
|
||||
/* Define if timezone is a global variable */
|
||||
#cmakedefine H5_HAVE_TIMEZONE @H5_HAVE_TIMEZONE@
|
||||
|
||||
/* Define if the ioctl TIOCGETD is defined */
|
||||
@@ -414,7 +405,7 @@
|
||||
/* Define to 1 if you have the `tmpfile' function. */
|
||||
#cmakedefine H5_HAVE_TMPFILE @H5_HAVE_TMPFILE@
|
||||
|
||||
/* Define if `tm_gmtoff' is a member of `struct tm' */
|
||||
/* Define if tm_gmtoff is a member of struct tm */
|
||||
#cmakedefine H5_HAVE_TM_GMTOFF @H5_HAVE_TM_GMTOFF@
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
@@ -435,7 +426,7 @@
|
||||
/* Define if your system has window style path name. */
|
||||
#cmakedefine H5_HAVE_WINDOW_PATH @H5_HAVE_WINDOW_PATH@
|
||||
|
||||
/* Define to 1 if you have the <winsock.h> header file. */
|
||||
/* Define to 1 if you have the <winsock2.h> header file. */
|
||||
#cmakedefine H5_HAVE_WINSOCK2_H @H5_HAVE_WINSOCK2_H@
|
||||
|
||||
/* Define to 1 if you have the <zlib.h> header file. */
|
||||
@@ -453,7 +444,7 @@
|
||||
/* Define if the compiler understands __inline__ */
|
||||
#cmakedefine H5_HAVE___INLINE__ @H5_HAVE___INLINE__@
|
||||
|
||||
/* Define if HDF5's high-level library headers should be included in hdf5.h */
|
||||
/* Define if the high-level library headers should be included in hdf5.h */
|
||||
#cmakedefine H5_INCLUDE_HL @H5_INCLUDE_HL@
|
||||
|
||||
/* Define if your system can convert long double to (unsigned) long long
|
||||
@@ -472,15 +463,15 @@
|
||||
with special algorithm. */
|
||||
#cmakedefine H5_LONG_TO_LDOUBLE_SPECIAL @H5_LONG_TO_LDOUBLE_SPECIAL@
|
||||
|
||||
/* Define if your system is power6 and cannot convert some long double values. */
|
||||
#cmakedefine H5_DISABLE_SOME_LDOUBLE_CONV @H5_DISABLE_SOME_LDOUBLE_CONV@
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#cmakedefine H5_LT_OBJDIR @H5_LT_OBJDIR@
|
||||
|
||||
/* Define to enable internal memory allocation sanity checking. */
|
||||
/* #cmakedefine H5_MEMORY_ALLOC_SANITY_CHECK @H5_MEMORY_ALLOC_SANITY_CHECK@ ** Define in CMakeLists.txt */
|
||||
|
||||
/* Define if the metadata trace file code is to be compiled in */
|
||||
#cmakedefine H5_METADATA_TRACE_FILE @H5_METADATA_TRACE_FILE@
|
||||
|
||||
/* Define if we can violate pointer alignment restrictions */
|
||||
#cmakedefine H5_NO_ALIGNMENT_RESTRICTIONS @H5_NO_ALIGNMENT_RESTRICTIONS@
|
||||
|
||||
@@ -614,6 +605,9 @@
|
||||
/* The size of `short', as computed by sizeof. */
|
||||
#cmakedefine H5_SIZEOF_SHORT @H5_SIZEOF_SHORT@
|
||||
|
||||
/* The size of `time_t', as computed by sizeof. */
|
||||
#cmakedefine H5_SIZEOF_TIME_T @H5_SIZEOF_TIME_T@
|
||||
|
||||
/* The size of `uint16_t', as computed by sizeof. */
|
||||
#cmakedefine H5_SIZEOF_UINT16_T @H5_SIZEOF_UINT16_T@
|
||||
|
||||
@@ -681,6 +675,9 @@
|
||||
/* Define using v1.8 public API symbols by default */
|
||||
#cmakedefine H5_USE_18_API_DEFAULT @H5_USE_18_API_DEFAULT@
|
||||
|
||||
/* Define using v1.10 public API symbols by default */
|
||||
#cmakedefine H5_USE_110_API_DEFAULT @H5_USE_110_API_DEFAULT@
|
||||
|
||||
/* Define if a memory checking tool will be used on the library, to cause
|
||||
library to be very picky about memory operations and also disable the
|
||||
internal free list manager code. */
|
||||
|
||||
@@ -1,106 +0,0 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
###############################################################################################################
|
||||
# This script will build and run the examples from a folder
|
||||
# Execute from a command line:
|
||||
# ctest -S HDF518_Examples.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
###############################################################################################################
|
||||
|
||||
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
if("@CMAKE_GENERATOR_TOOLSET@")
|
||||
set(CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
||||
endif()
|
||||
set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
|
||||
|
||||
# handle input parameters to script.
|
||||
#INSTALLDIR - HDF5-1.8 root folder
|
||||
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5Examples
|
||||
if(DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
# to variables with the respective names set to the respective values
|
||||
string(REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
|
||||
foreach(current_var ${script_args})
|
||||
if("${current_var}" MATCHES "^([^=]+)=(.+)$")
|
||||
set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
###################################################################
|
||||
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
|
||||
set(CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
if(NOT DEFINED CTEST_CONFIGURATION_TYPE)
|
||||
set(CTEST_CONFIGURATION_TYPE "Release")
|
||||
endif()
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=${CTEST_CONFIGURATION_TYPE}")
|
||||
##################################################################
|
||||
|
||||
if(NOT DEFINED INSTALLDIR)
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set(CTEST_SOURCE_NAME "HDF5Examples")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED HDF_LOCAL)
|
||||
set(CDASH_LOCAL "NO")
|
||||
else()
|
||||
set(CDASH_LOCAL "YES")
|
||||
endif()
|
||||
if(NOT DEFINED CTEST_SITE)
|
||||
set(CTEST_SITE "local")
|
||||
endif()
|
||||
if(NOT DEFINED CTEST_BUILD_NAME)
|
||||
set(CTEST_BUILD_NAME "examples")
|
||||
endif()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
|
||||
#TAR_SOURCE - name of tarfile
|
||||
#if(NOT DEFINED TAR_SOURCE)
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.2.1-Source")
|
||||
#endif()
|
||||
|
||||
###############################################################################################################
|
||||
if(WIN32)
|
||||
set(SITE_OS_NAME "Windows")
|
||||
set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake")
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else()
|
||||
set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake")
|
||||
set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
|
||||
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
|
||||
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif()
|
||||
if(${CDASH_LOCAL})
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCDASH_LOCAL:BOOL=ON")
|
||||
endif()
|
||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
||||
|
||||
###############################################################################################################
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
###############################################################################################################
|
||||
|
||||
if(WIN32)
|
||||
include(${CTEST_SCRIPT_DIRECTORY}\\HDF5_Examples_options.cmake)
|
||||
include(${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
|
||||
else()
|
||||
include(${CTEST_SCRIPT_DIRECTORY}/HDF5_Examples_options.cmake)
|
||||
include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
endif()
|
||||
@@ -15,6 +15,8 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage)
|
||||
# SOVERSION passed in ARGN when shared
|
||||
if (${libtype} MATCHES "SHARED")
|
||||
set (PACKAGE_SOVERSION ${HDF5_${libpackage}_PACKAGE_SOVERSION})
|
||||
set (PACKAGE_COMPATIBILITY ${H5_${libpackage}_SOVERS_INTERFACE}.0.0)
|
||||
set (PACKAGE_CURRENT ${H5_${libpackage}_SOVERS_INTERFACE}.${H5_${libpackage}_SOVERS_MINOR}.0)
|
||||
if (WIN32)
|
||||
set (LIBHDF_VERSION ${HDF5_PACKAGE_VERSION_MAJOR})
|
||||
else ()
|
||||
@@ -26,6 +28,11 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage)
|
||||
else ()
|
||||
set_target_properties (${libtarget} PROPERTIES SOVERSION ${LIBHDF_VERSION})
|
||||
endif ()
|
||||
if (CMAKE_C_OSX_CURRENT_VERSION_FLAG)
|
||||
set_property(TARGET ${libtarget} APPEND PROPERTY
|
||||
LINK_FLAGS "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}${PACKAGE_CURRENT} ${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}${PACKAGE_COMPATIBILITY}"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
HDF_SET_LIB_OPTIONS (${libtarget} ${LIB_OUT_NAME} ${libtype})
|
||||
|
||||
@@ -33,9 +40,6 @@ macro (H5_SET_LIB_OPTIONS libtarget libname libtype libpackage)
|
||||
if (APPLE)
|
||||
option (HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF)
|
||||
if (HDF5_BUILD_WITH_INSTALL_NAME)
|
||||
set_property(TARGET ${libtarget} APPEND PROPERTY
|
||||
LINK_FLAGS "-current_version ${HDF5_PACKAGE_VERSION} -compatibility_version ${HDF5_PACKAGE_VERSION}"
|
||||
)
|
||||
set_target_properties (${libtarget} PROPERTIES
|
||||
INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib"
|
||||
BUILD_WITH_INSTALL_RPATH ${HDF5_BUILD_WITH_INSTALL_NAME}
|
||||
|
||||
@@ -18,82 +18,56 @@ ENABLE_LANGUAGE (Fortran)
|
||||
set (HDF_PREFIX "H5")
|
||||
include (CheckFortranFunctionExists)
|
||||
|
||||
## Check for non-standard extenstion quadmath.h
|
||||
|
||||
CHECK_INCLUDE_FILES(quadmath.h C_HAVE_QUADMATH)
|
||||
|
||||
if (${C_HAVE_QUADMATH})
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH 1)
|
||||
else ()
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH 0)
|
||||
endif ()
|
||||
|
||||
# The provided CMake Fortran macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (FORTRAN_RUN FUNCTION CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR RETURN)
|
||||
#
|
||||
# if (NOT DEFINED ${RUN_RESULT_VAR})
|
||||
message (STATUS "Detecting Fortran ${FUNCTION}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
macro (FORTRAN_RUN FUNCTION_NAME SOURCE_CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR1 RETURN_VAR)
|
||||
message (STATUS "Detecting Fortran ${FUNCTION_NAME}")
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
"${CODE}"
|
||||
"${SOURCE_CODE}"
|
||||
)
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
)
|
||||
|
||||
set(${RETURN} ${OUTPUT})
|
||||
|
||||
#message ( "Test result1 ${RETURN} ")
|
||||
#message ( "Test result3 ${RESULT} ")
|
||||
#message ( "Test result2 ${CMAKE_MATCH_0} ")
|
||||
#message ( "Test result4 ${CMAKE_MATCH_1} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test result2 ${COMPILE_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test result1 ${RUN_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${COMPILE_RESULT_VAR})
|
||||
set(${RETURN_VAR} ${RUN_RESULT_VAR})
|
||||
if (${RUN_RESULT_VAR} MATCHES 0)
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - OK")
|
||||
message (STATUS "Testing Fortran ${FUNCTION_NAME} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n"
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists passed\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing Fortran ${FUNCTION} - Fail")
|
||||
message (STATUS "Testing Fortran ${FUNCTION_NAME} - Fail")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
"Determining if the Fortran ${FUNCTION_NAME} exists failed: ${RUN_RESULT_VAR}\n"
|
||||
)
|
||||
endif ()
|
||||
else ()
|
||||
message (STATUS "Compiling Fortran ${FUNCTION_NAME} - Fail")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the Fortran ${FUNCTION_NAME} compiles failed: ${COMPILE_RESULT_VAR}\n"
|
||||
)
|
||||
set(${RETURN_VAR} ${COMPILE_RESULT_VAR})
|
||||
endif ()
|
||||
# endif ()
|
||||
endmacro ()
|
||||
|
||||
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
|
||||
macro (READ_SOURCE START END RETURN)
|
||||
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" CODE)
|
||||
string (REGEX MATCH "${START}[\\\t\\\n\\\r[].+]*${END}" CODE ${CODE})
|
||||
set (RETURN "${CODE}")
|
||||
macro (READ_SOURCE SOURCE_START SOURCE_END RETURN_VAR)
|
||||
file (READ "${HDF5_SOURCE_DIR}/m4/aclocal_fc.f90" SOURCE_MASTER)
|
||||
string (REGEX MATCH "${SOURCE_START}[\\\t\\\n\\\r[].+]*${SOURCE_END}" SOURCE_CODE ${SOURCE_MASTER})
|
||||
set (RETURN_VAR "${SOURCE_CODE}")
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check to see C_LONG_DOUBLE is available
|
||||
|
||||
READ_SOURCE("PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" "END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" CODE)
|
||||
READ_SOURCE("PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" "END PROGRAM PROG_FC_HAVE_C_LONG_DOUBLE" SOURCE_CODE)
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${CODE}"
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_HAVE_C_LONG_DOUBLE
|
||||
)
|
||||
|
||||
@@ -105,9 +79,9 @@ endif ()
|
||||
|
||||
# Check to see C_LONG_DOUBLE is different from C_DOUBLE
|
||||
|
||||
READ_SOURCE("MODULE type_mod" "END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE" CODE)
|
||||
READ_SOURCE("MODULE type_mod" "END PROGRAM PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE" SOURCE_CODE)
|
||||
CHECK_FORTRAN_FEATURE(c_long_double
|
||||
"${CODE}"
|
||||
"${SOURCE_CODE}"
|
||||
FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
|
||||
)
|
||||
if (${FORTRAN_C_LONG_DOUBLE_IS_UNIQUE})
|
||||
@@ -133,12 +107,12 @@ endif ()
|
||||
# Determine the available KINDs for REALs and INTEGERs
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" CODE)
|
||||
READ_SOURCE ("PROGRAM FC_AVAIL_KINDS" "END PROGRAM FC_AVAIL_KINDS" SOURCE_CODE)
|
||||
FORTRAN_RUN ("REAL and INTEGER KINDs"
|
||||
"${CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT
|
||||
"${SOURCE_CODE}"
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- valid integer kinds (comma seperated list)
|
||||
@@ -197,15 +171,18 @@ foreach (KIND ${VAR} )
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
INTEGER (KIND=${KIND}) a
|
||||
WRITE(*,'(I0)') ${FC_SIZEOF_A}
|
||||
OPEN(8,FILE='pac_validIntKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
)
|
||||
FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC}
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT1
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validIntKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_int_sizeof "${pack_int_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
@@ -241,20 +218,23 @@ foreach (KIND ${VAR} )
|
||||
USE ISO_C_BINDING
|
||||
IMPLICIT NONE
|
||||
REAL (KIND=${KIND}) a
|
||||
WRITE(*,'(I0)') ${FC_SIZEOF_A}
|
||||
OPEN(8,FILE='pac_validRealKinds.out',FORM='formatted')
|
||||
WRITE(8,'(I0)') ${FC_SIZEOF_A}
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
)
|
||||
FORTRAN_RUN ("REAL KIND SIZEOF" ${PROG_SRC}
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT1
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT1
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_validRealKinds.out" PROG_OUTPUT1)
|
||||
string (REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
|
||||
set (pack_real_sizeof "${pack_real_sizeof} ${PROG_OUTPUT1},")
|
||||
endforeach ()
|
||||
|
||||
if (pack_int_sizeof STREQUAL "")
|
||||
if (pack_real_sizeof STREQUAL "")
|
||||
message (FATAL_ERROR "Failed to find available REAL KINDs for Fortran")
|
||||
endif ()
|
||||
|
||||
@@ -288,18 +268,21 @@ FORTRAN_RUN ("SIZEOF NATIVE KINDs"
|
||||
INTEGER a
|
||||
REAL b
|
||||
DOUBLE PRECISION c
|
||||
WRITE(*,*) ${FC_SIZEOF_A}
|
||||
WRITE(*,*) kind(a)
|
||||
WRITE(*,*) ${FC_SIZEOF_B}
|
||||
WRITE(*,*) kind(b)
|
||||
WRITE(*,*) ${FC_SIZEOF_C}
|
||||
WRITE(*,*) kind(c)
|
||||
OPEN(8,FILE='pac_sizeof_native_kinds.out',FORM='formatted')
|
||||
WRITE(8,*) ${FC_SIZEOF_A}
|
||||
WRITE(8,*) kind(a)
|
||||
WRITE(8,*) ${FC_SIZEOF_B}
|
||||
WRITE(8,*) kind(b)
|
||||
WRITE(8,*) ${FC_SIZEOF_C}
|
||||
WRITE(8,*) kind(c)
|
||||
CLOSE(8)
|
||||
END
|
||||
"
|
||||
XX
|
||||
YY
|
||||
PROG_OUTPUT
|
||||
)
|
||||
XX
|
||||
YY
|
||||
PROG_RESULT
|
||||
)
|
||||
file (READ "${CMAKE_BINARY_DIR}/pac_sizeof_native_kinds.out" PROG_OUTPUT)
|
||||
# dnl The output from the above program will be:
|
||||
# dnl -- LINE 1 -- sizeof INTEGER
|
||||
# dnl -- LINE 2 -- kind of INTEGER
|
||||
@@ -341,8 +324,8 @@ endif ()
|
||||
set (${HDF_PREFIX}_FORTRAN_SIZEOF_LONG_DOUBLE ${${HDF_PREFIX}_SIZEOF_LONG_DOUBLE})
|
||||
|
||||
# remove the invalid kind from the list
|
||||
if (NOT(${SIZEOF___FLOAT128} EQUAL 0))
|
||||
if (NOT(${SIZEOF___FLOAT128} EQUAL ${max_real_fortran_sizeof})
|
||||
if (NOT(${${HDF_PREFIX}_SIZEOF___FLOAT128} EQUAL 0))
|
||||
if (NOT(${${HDF_PREFIX}_SIZEOF___FLOAT128} EQUAL ${max_real_fortran_sizeof})
|
||||
AND NOT(${${HDF_PREFIX}_FORTRAN_SIZEOF_LONG_DOUBLE} EQUAL ${max_real_fortran_sizeof})
|
||||
# account for the fact that the C compiler can have 16-byte __float128 and the fortran compiler only has 8-byte doubles,
|
||||
# so we don't want to remove the 8-byte fortran doubles.
|
||||
@@ -372,50 +355,50 @@ ENABLE_LANGUAGE (C)
|
||||
# The provided CMake C macros don't provide a general compile/run function
|
||||
# so this one is used.
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (C_RUN FUNCTION CODE RETURN)
|
||||
message (STATUS "Detecting C ${FUNCTION}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR)
|
||||
message (STATUS "Detecting C ${FUNCTION_NAME}")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
file (WRITE
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
${CODE}
|
||||
${SOURCE_CODE}
|
||||
)
|
||||
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
RUN_OUTPUT_VARIABLE OUTPUT_VAR
|
||||
)
|
||||
|
||||
set (${RETURN} ${OUTPUT})
|
||||
set (${RETURN_VAR} ${OUTPUT_VAR})
|
||||
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message ( "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ")
|
||||
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message (STATUS "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
|
||||
#message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
#message (STATUS "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ")
|
||||
#message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${COMPILE_RESULT_VAR})
|
||||
if (${RUN_RESULT_VAR} MATCHES 1)
|
||||
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION}")
|
||||
message (STATUS "Testing C ${FUNCTION} - OK")
|
||||
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
|
||||
message (STATUS "Testing C ${FUNCTION_NAME} - OK")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||
"Determining if the C ${FUNCTION} exists passed with the following output:\n"
|
||||
"${OUTPUT}\n\n"
|
||||
"Determining if the C ${FUNCTION_NAME} exists passed with the following output:\n"
|
||||
"${OUTPUT_VAR}\n\n"
|
||||
)
|
||||
else ()
|
||||
message (STATUS "Testing C ${FUNCTION} - Fail")
|
||||
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION}")
|
||||
message (STATUS "Testing C ${FUNCTION_NAME} - Fail")
|
||||
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Determining if the C ${FUNCTION} exists failed with the following output:\n"
|
||||
"${OUTPUT}\n\n")
|
||||
"Determining if the C ${FUNCTION_NAME} exists failed with the following output:\n"
|
||||
"${OUTPUT_VAR}\n\n")
|
||||
endif ()
|
||||
else ()
|
||||
message (FATAL_ERROR "Compilation of C ${FUNCTION} - Failed")
|
||||
message (FATAL_ERROR "Compilation of C ${FUNCTION_NAME} - Failed")
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -423,9 +406,9 @@ set (PROG_SRC
|
||||
"
|
||||
#include <float.h>
|
||||
#include <stdio.h>
|
||||
#define CHECK_FLOAT128 ${SIZEOF___FLOAT128}
|
||||
#define CHECK_FLOAT128 ${${HDF_PREFIX}_SIZEOF___FLOAT128}
|
||||
#if CHECK_FLOAT128!=0
|
||||
# if ${${HDF_PREFIX}_HAVE_QUADMATH}!=0
|
||||
# if ${${HDF_PREFIX}_HAVE_QUADMATH_H}!=0
|
||||
#include <quadmath.h>
|
||||
# endif
|
||||
# ifdef FLT128_DIG
|
||||
@@ -460,9 +443,9 @@ string (REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
|
||||
list (GET PROG_OUTPUT 0 LDBL_DIG)
|
||||
list (GET PROG_OUTPUT 1 FLT128_DIG)
|
||||
|
||||
if (SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
|
||||
if (${HDF_PREFIX}_SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
|
||||
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
|
||||
set (SIZEOF___FLOAT128 0)
|
||||
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
|
||||
set (${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${LDBL_DIG})
|
||||
else ()
|
||||
set(${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${FLT128_DIG})
|
||||
|
||||
@@ -48,7 +48,11 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=${
|
||||
##################################################################
|
||||
|
||||
if(NOT DEFINED INSTALLDIR)
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
if(WIN32)
|
||||
set(INSTALLDIR "C:/Program Files/HDF_Group/@HDF5_PACKAGE_NAME@/@HDF5_PACKAGE_VERSION@")
|
||||
else()
|
||||
set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CTEST_SOURCE_NAME)
|
||||
@@ -70,7 +74,7 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDN
|
||||
|
||||
#TAR_SOURCE - name of tarfile
|
||||
#if(NOT DEFINED TAR_SOURCE)
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.5-Source")
|
||||
# set(CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.13-Source")
|
||||
#endif()
|
||||
|
||||
###############################################################################################################
|
||||
|
||||
@@ -9,20 +9,22 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_C_STANDARD_REQUIRED TRUE)
|
||||
|
||||
message (STATUS "Warnings Configuration:")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C99_STANDARD_COMPILE_OPTION} ${CMAKE_C_FLAGS}")
|
||||
#-----------------------------------------------------------------------------
|
||||
# Compiler specific flags : Shouldn't there be compiler tests for these
|
||||
#-----------------------------------------------------------------------------
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
|
||||
if (NOT CYGWIN)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
||||
endif ()
|
||||
if (${HDF_CFG_NAME} MATCHES "Debug")
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Og -ftrapv -fno-common")
|
||||
endif ()
|
||||
else ()
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstdarg-opt")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -34,7 +36,7 @@ if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_LOADED)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og -ftrapv -fno-common")
|
||||
endif ()
|
||||
else ()
|
||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstdarg-opt")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -45,6 +47,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF)
|
||||
if (HDF5_DISABLE_COMPILER_WARNINGS)
|
||||
message (STATUS "....Compiler warnings are suppressed")
|
||||
# MSVC uses /w to suppress warnings. It also complains if another
|
||||
# warning level is given, so remove it.
|
||||
if (MSVC)
|
||||
@@ -79,83 +82,80 @@ endif ()
|
||||
# break into groups (from the config/gnu-flags file)
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (CMAKE_C_FLAGS_5 "${CMAKE_C_FLAGS_5} -Wcast-qual")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs")
|
||||
else ()
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -erroff=%none -DBSD_COMP")
|
||||
else ()
|
||||
# General flags
|
||||
#
|
||||
# Note that some of the flags listed here really should be developer
|
||||
# flags (listed in a separate variable, below) but we put them here
|
||||
# because they are not raised by the current code and we'd like to
|
||||
# know if they do start showing up.
|
||||
#
|
||||
# NOTE: Don't add -Wpadded here since we can't/won't fix the (many)
|
||||
# warnings that are emitted. If you need it, add it at configure time.
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wcheck -Wall")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wcomment -Wdeprecated -Wmain -Wmissing-declarations -Wmissing-prototypes -Wp64 -Wpointer-arith")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wreturn-type -Wstrict-prototypes -Wuninitialized")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wunknown-pragmas -Wunused-function -Wunused-variable")
|
||||
# this is just a failsafe
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -finline-functions")
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wextra-tokens -Wformat -Wformat-security -Wic-pointer -Wshadow")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wsign-compare -Wtrigraphs -Wwrite-strings")
|
||||
endif()
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic -Wall -Wextra")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wbad-function-cast -Wc++-compat -Wcast-align")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wcast-qual -Wconversion -Wdeclaration-after-statement -Wdisabled-optimization -Wfloat-equal")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-declarations -Wmissing-include-dirs")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-arith")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wredundant-decls -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wundef -Wunused-macros -Wunsafe-loop-optimizations -Wwrite-strings")
|
||||
# gcc automatically inlines based on the optimization level
|
||||
# this is just a failsafe
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -finline-functions")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to allow the user to enable developer warnings
|
||||
# Developer warnings (suggestions from gcc, not code problems)
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_DEV_WARNINGS "Enable HDF5 developer group warnings" OFF)
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Winline -Waggregate-return")
|
||||
message (STATUS "....HDF5 developer group warnings are enabled")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Winline -Wreorder -Wport -Wstrict-aliasing")
|
||||
elseif (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Winline -Waggregate-return -Wmissing-format-attribute -Wmissing-noreturn")
|
||||
endif ()
|
||||
else ()
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter -Wno-inline -Wno-aggregate-return")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
set (H5_CFLAGS0 "${H5_CFLAGS0} -Wno-inline -Wno-aggregate-return -Wno-missing-format-attribute -Wno-missing-noreturn")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Append warning flags
|
||||
# Don't use the '-Wtraditional' flag, we're way past having K&R C code
|
||||
# set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional")
|
||||
# Don't use the '-Wtraditional-conversion' flag, there's too many warnings
|
||||
# from GCC's assert macro
|
||||
# set (H5_CFLAGS "${H5_CFLAGS} -Wtraditional-conversion")
|
||||
|
||||
# Append warning flags from gcc-3* case
|
||||
# (don't use -Wpadded flag for normal builds, many of the warnings its
|
||||
# issuing can't be fixed and they are making it hard to detect other,
|
||||
# more important warnings)
|
||||
#set (H5_CFLAGS "${H5_CFLAGS} -Wfloat-equal -Wmissing-format-attribute -Wpadded")
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wfloat-equal -Wmissing-format-attribute")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
# Append warning flags that only gcc 4.3+ knows about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wlogical-op -Wlarger-than=2048 -Wvla")
|
||||
|
||||
# Append warning flags from gcc-3.2* case
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wpacked -Wdisabled-optimization")
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wmissing-noreturn")
|
||||
else ()
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wno-missing-noreturn")
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
|
||||
endif ()
|
||||
|
||||
# Enable more format checking flags, beyond the basic -Wformat included
|
||||
# in -Wall
|
||||
set (H5_CFLAGS1_5 "${H5_CFLAGS1_5} -Wformat=2")
|
||||
|
||||
# Append warning flags from gcc-3.3* case
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wendif-labels")
|
||||
|
||||
# Append warning flags from gcc-3.4* case
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch")
|
||||
|
||||
# Append more extra warning flags that only gcc4.0+ know about
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wvariadic-macros -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.1+ know about
|
||||
set (H5_CFLAGS2_5 "${H5_CFLAGS2_5} -Wunsafe-loop-optimizations")
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wc++-compat")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.2+ know about
|
||||
set (H5_CFLAGS2_5 "${H5_CFLAGS2_5} -Wstrict-overflow")
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wno-strict-overflow")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.3+ know about
|
||||
#
|
||||
# Technically, variable-length arrays are part of the C99 standard, but
|
||||
# we should approach them a bit cautiously... -QAK
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wlogical-op -Wlarger-than=2048 -Wvla")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.4+ know about
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat")
|
||||
|
||||
# Append more extra warning flags that only gcc 4.5+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
|
||||
set (H5_CFLAGS2_5 "${H5_CFLAGS2_5} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wjump-misses-init -Wunsuffixed-float-constants")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
|
||||
set (H5_CFLAGS1 "${H5_CFLAGS1} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.6+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdouble-promotion -Wtrampolines")
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=const")
|
||||
@@ -164,14 +164,8 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# The "unreachable code" warning appears to be reliable now...
|
||||
# (this warning was removed in gcc 4.5+)
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wunreachable-code")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.7+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wstack-usage=8192 -Wvector-operation-performance")
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
|
||||
@@ -181,7 +175,7 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.8+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wsuggest-attribute=format")
|
||||
else ()
|
||||
@@ -190,19 +184,17 @@ if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 4.9+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdate-time -Wopenmp-simd")
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set (H5_CFLAGS2 "${H5_CFLAGS2} -Wdate-time")
|
||||
endif ()
|
||||
|
||||
# (There was no release of gcc 5.0)
|
||||
|
||||
# Append more extra warning flags that only gcc 5.1+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
|
||||
set (H5_CFLAGS3 "${H5_CFLAGS3} -Warray-bounds=2 -Wc99-c11-compat")
|
||||
endif ()
|
||||
|
||||
# Append more extra warning flags that only gcc 6.x+ know about
|
||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 6.0)
|
||||
set (H5_CFLAGS4 "${H5_CFLAGS4} -Wnull-dereference -Wunused-const-variable -Wduplicated-cond -Whsa")
|
||||
endif ()
|
||||
|
||||
@@ -213,6 +205,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF)
|
||||
if (HDF5_ENABLE_ALL_WARNINGS)
|
||||
message (STATUS "....All Warnings are enabled")
|
||||
if (MSVC)
|
||||
if (HDF5_ENABLE_DEV_WARNINGS)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
@@ -231,7 +224,7 @@ if (HDF5_ENABLE_ALL_WARNINGS)
|
||||
endif ()
|
||||
else ()
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS0} ${H5_CFLAGS1} ${H5_CFLAGS2}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -241,6 +234,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPZERO_WARNINGS "Enable group zero warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPZERO_WARNINGS)
|
||||
message (STATUS "....Group Zero warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W1")
|
||||
@@ -250,7 +244,7 @@ if (HDF5_ENABLE_GROUPZERO_WARNINGS)
|
||||
endif ()
|
||||
else ()
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS0}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -260,6 +254,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPONE_WARNINGS "Enable group one warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPONE_WARNINGS)
|
||||
message (STATUS "....Group One warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W2")
|
||||
@@ -277,6 +272,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPTWO_WARNINGS "Enable group two warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPTWO_WARNINGS)
|
||||
message (STATUS "....Group Two warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3")
|
||||
@@ -294,6 +290,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPTHREE_WARNINGS "Enable group three warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPTHREE_WARNINGS)
|
||||
message (STATUS "....Group Three warnings are enabled")
|
||||
if (MSVC)
|
||||
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
|
||||
@@ -311,6 +308,7 @@ endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
option (HDF5_ENABLE_GROUPFOUR_WARNINGS "Enable group four warnings" OFF)
|
||||
if (HDF5_ENABLE_GROUPFOUR_WARNINGS)
|
||||
message (STATUS "....Group Four warnings are enabled")
|
||||
if (NOT MSVC)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS4}")
|
||||
endif ()
|
||||
|
||||
@@ -34,9 +34,9 @@ utility should be installed.
|
||||
To test the installation with the examples;
|
||||
Create a directory to run the examples.
|
||||
Copy HDF5Examples folder to this directory.
|
||||
Copy CTestScript.cmake to this directory.
|
||||
Copy HDF5_Examples.cmake to this directory.
|
||||
Copy HDF5_Examples_options.cmake to this directory.
|
||||
Copy CTestScript.cmake to this directory.
|
||||
The default source folder is defined as "HDF5Examples". It can be changed
|
||||
with the CTEST_SOURCE_NAME script option.
|
||||
The default installation folder is defined as "@CMAKE_INSTALL_PREFIX@".
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,17 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# UseJavaClassFilelist
|
||||
# --------------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# This script create a list of compiled Java class files to be added to
|
||||
# a jar file. This avoids including cmake files which get created in
|
||||
# the binary directory.
|
||||
#[=======================================================================[.rst:
|
||||
UseJavaClassFilelist
|
||||
--------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
This script create a list of compiled Java class files to be added to
|
||||
a jar file. This avoids including cmake files which get created in
|
||||
the binary directory.
|
||||
#]=======================================================================]
|
||||
|
||||
if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
|
||||
if (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# UseJavaSymlinks
|
||||
# ---------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# Helper script for UseJava.cmake
|
||||
#[=======================================================================[.rst:
|
||||
UseJavaSymlinks
|
||||
---------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Helper script for UseJava.cmake
|
||||
#]=======================================================================]
|
||||
|
||||
if (UNIX AND _JAVA_TARGET_OUTPUT_LINK)
|
||||
if (_JAVA_TARGET_OUTPUT_NAME)
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
########################################################
|
||||
|
||||
# To use this option, copy both the macro and option code
|
||||
# into the root UserMacros.cmake file.
|
||||
# into the root UserMacros.cmake file. Then enable the option,
|
||||
# using the command line add "-DBUILD_STATIC_CRT_LIBS:BOOL=ON"
|
||||
# OR add an include to the root UserMacros.cmake file:
|
||||
# INCLUDE(path_to_file/WINDOWS_MT.cmake)
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Framework
|
||||
|
||||
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
|
||||
|
||||
set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE)
|
||||
|
||||
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
|
||||
|
||||
set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE)
|
||||
|
||||
@@ -21,38 +21,38 @@
|
||||
|
||||
set (PACKAGE_VERSION "@HDF5_VERSION_STRING@")
|
||||
|
||||
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else ()
|
||||
if ("${PACKAGE_FIND_VERSION_MAJOR}" STREQUAL "@H5_VERS_MAJOR@")
|
||||
else()
|
||||
if("@H5_VERS_MAJOR@.@H5_VERS_MINOR@" MATCHES "^([0-9]+)\\.([0-9]+)")
|
||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
set(CVF_VERSION_MINOR "${CMAKE_MATCH_2}")
|
||||
else()
|
||||
set(CVF_VERSION_MAJOR "@HDF5_VERSION_STRING@")
|
||||
set(CVF_VERSION_MINOR "")
|
||||
endif()
|
||||
|
||||
# exact match for version @H5_VERS_MAJOR@.@H5_VERS_MINOR@
|
||||
if ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@H5_VERS_MINOR@")
|
||||
if((PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR) AND
|
||||
(PACKAGE_FIND_VERSION_MINOR STREQUAL CVF_VERSION_MINOR))
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
|
||||
# compatible with any version @H5_VERS_MAJOR@.@H5_VERS_MINOR@.x
|
||||
set (PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@H5_VERS_RELEASE@")
|
||||
set (PACKAGE_VERSION_EXACT TRUE)
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_TWEAK}" STREQUAL "@H5_VERS_SUBRELEASE@")
|
||||
# not using this yet
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set (PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "")
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "")
|
||||
return()
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||
if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "@CMAKE_SIZEOF_VOID_P@")
|
||||
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@CMAKE_SIZEOF_VOID_P@")
|
||||
math(EXPR installedBits "@CMAKE_SIZEOF_VOID_P@ * 8")
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
@@ -38,13 +38,17 @@ set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_JAVA @HDF5_BUILD_JAVA@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @H5_ENABLE_SHARED_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS @H5_ENABLE_STATIC_LIB@)
|
||||
set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
|
||||
set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@)
|
||||
set (${HDF5_PACKAGE_NAME}_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
|
||||
set (${HDF5_PACKAGE_NAME}_DEFAULT_API_VERSION "@DEFAULT_API_VERSION@")
|
||||
set (${HDF5_PACKAGE_NAME}_PARALLEL_FILTERED_WRITES "@PARALLEL_FILTERED_WRITES@")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Dependencies
|
||||
@@ -105,10 +109,10 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@)
|
||||
# project which has already built hdf5 as a subproject
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT TARGET "@HDF5_PACKAGE@")
|
||||
if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
|
||||
if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
|
||||
include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
|
||||
endif ()
|
||||
if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip")
|
||||
if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
|
||||
include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
|
||||
endif ()
|
||||
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
|
||||
@@ -116,22 +120,28 @@ endif ()
|
||||
|
||||
# Handle default component(static) :
|
||||
if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
if (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS)
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL static)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_static_C true)
|
||||
else ()
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL shared)
|
||||
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_shared_C true)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# Handle requested components:
|
||||
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
if (${comp} STREQUAL "shared")
|
||||
if (comp STREQUAL "shared")
|
||||
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
||||
|
||||
if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
|
||||
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@/shared")
|
||||
endif ()
|
||||
elseif (${comp} STREQUAL "static")
|
||||
elseif (comp STREQUAL "static")
|
||||
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
|
||||
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
|
||||
|
||||
@@ -143,32 +153,32 @@ endforeach ()
|
||||
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
|
||||
set (hdf5_comp2)
|
||||
if (${comp} STREQUAL "C")
|
||||
if (comp STREQUAL "C")
|
||||
set (hdf5_comp "hdf5")
|
||||
elseif (${comp} STREQUAL "CXX")
|
||||
elseif (comp STREQUAL "CXX")
|
||||
set (hdf5_comp "hdf5_cpp")
|
||||
elseif (${comp} STREQUAL "HL")
|
||||
elseif (comp STREQUAL "HL")
|
||||
set (hdf5_comp "hdf5_hl")
|
||||
elseif (${comp} STREQUAL "CXX_HL")
|
||||
elseif (comp STREQUAL "CXX_HL")
|
||||
set (hdf5_comp "hdf5_hl_cpp")
|
||||
elseif (${comp} STREQUAL "Java")
|
||||
elseif (comp STREQUAL "Java")
|
||||
set (hdf5_comp "hdf5_java")
|
||||
elseif (${comp} STREQUAL "Tools")
|
||||
elseif (comp STREQUAL "Tools")
|
||||
set (hdf5_comp "hdf5_tools")
|
||||
elseif (${comp} STREQUAL "Fortran")
|
||||
elseif (comp STREQUAL "Fortran")
|
||||
set (hdf5_comp2 "hdf5_f90cstub")
|
||||
set (hdf5_comp "hdf5_fortran")
|
||||
elseif (${comp} STREQUAL "Fortran_HL")
|
||||
elseif (comp STREQUAL "Fortran_HL")
|
||||
set (hdf5_comp2 "hdf5_hl_f90cstub")
|
||||
set (hdf5_comp "hdf5_hl_fortran")
|
||||
endif ()
|
||||
if (${comp} STREQUAL "Java")
|
||||
if (comp STREQUAL "Java")
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
|
||||
else ()
|
||||
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}-${libtype}" HAVE_COMP)
|
||||
endif ()
|
||||
if (${HAVE_COMP} LESS 0)
|
||||
if (${comp} STREQUAL "Java")
|
||||
if (comp STREQUAL "Java")
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
|
||||
else ()
|
||||
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
|
||||
@@ -183,7 +193,7 @@ foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
|
||||
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} @HDF5_PACKAGE@::${hdf5_comp2}-${libtype} @HDF5_PACKAGE@::${hdf5_comp}-${libtype})
|
||||
endif ()
|
||||
elseif (${comp} STREQUAL "Java")
|
||||
elseif (comp STREQUAL "Java")
|
||||
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
|
||||
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
|
||||
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} hdf5::${hdf5_comp})
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
# runTest.cmake executes a command and captures the output in a file. File is then compared
|
||||
# jrunTest.cmake executes a command and captures the output in a file. File is then compared
|
||||
# against a reference file. Exit status of command can also be compared.
|
||||
cmake_policy(SET CMP0007 NEW)
|
||||
|
||||
@@ -24,7 +24,7 @@ if (NOT TEST_LIBRARY_DIRECTORY)
|
||||
message (STATUS "Require TEST_LIBRARY_DIRECTORY to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_FOLDER)
|
||||
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
message (FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_OUTPUT)
|
||||
message (FATAL_ERROR "Require TEST_OUTPUT to be defined")
|
||||
@@ -32,9 +32,6 @@ endif ()
|
||||
if (NOT TEST_CLASSPATH)
|
||||
message (STATUS "Require TEST_CLASSPATH to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_REFERENCE)
|
||||
message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
|
||||
endif ()
|
||||
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT})
|
||||
@@ -44,14 +41,6 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
# if there is not an error reference file add the error output to the stdout file
|
||||
if (NOT TEST_ERRREF)
|
||||
if (NOT SKIP_APPEND)
|
||||
# append error file since skip was not defined
|
||||
set (ERROR_APPEND 1)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT TEST_LOG_LEVEL)
|
||||
set (LOG_LEVEL "info")
|
||||
else ()
|
||||
@@ -62,6 +51,8 @@ message (STATUS "COMMAND: ${TEST_TESTER} -Xmx1024M -Dorg.slf4j.simpleLogger.defa
|
||||
|
||||
if (WIN32 AND NOT MINGW)
|
||||
set (ENV{PATH} "$ENV{PATH}\\;${TEST_LIBRARY_DIRECTORY}")
|
||||
else ()
|
||||
set (ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}:${TEST_LIBRARY_DIRECTORY}")
|
||||
endif ()
|
||||
|
||||
# run the test program, capture the stdout/stderr and the result var
|
||||
@@ -75,6 +66,7 @@ execute_process (
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
OUTPUT_FILE ${TEST_OUTPUT}
|
||||
ERROR_FILE ${TEST_OUTPUT}.err
|
||||
OUTPUT_VARIABLE TEST_OUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
|
||||
@@ -88,10 +80,10 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
if (NOT ERROR_APPEND)
|
||||
# append error output to the stdout output file
|
||||
# write back to original .err file
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT}.err "${TEST_STREAM}")
|
||||
else ()
|
||||
# write back to original .err file
|
||||
# append error output to the stdout output file
|
||||
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -121,8 +113,8 @@ if (TEST_MASK_ERROR)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# if the return value is !=0 bail out
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
|
||||
# if the return value is !=expected bail out
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
message (STATUS "ERROR OUTPUT: ${TEST_STREAM}")
|
||||
message (FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != 0.\n${TEST_ERROR}")
|
||||
endif ()
|
||||
@@ -131,52 +123,65 @@ message (STATUS "COMMAND Error: ${TEST_ERROR}")
|
||||
|
||||
# compare output files to references unless this must be skipped
|
||||
if (NOT TEST_SKIP_COMPARE)
|
||||
if (WIN32 AND NOT MINGW)
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
|
||||
endif ()
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_REFERENCE})
|
||||
if (WIN32 AND NOT MINGW)
|
||||
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
|
||||
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
|
||||
endif ()
|
||||
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT "${str_act}" STREQUAL "${str_ref}")
|
||||
if (NOT "${str_act}" STREQUAL "")
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
if (NOT TEST_SORT_COMPARE)
|
||||
# now compare the output with the reference
|
||||
execute_process (
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
else ()
|
||||
if ("${len_act}" STREQUAL "0")
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
|
||||
endif ()
|
||||
if ("${len_ref}" STREQUAL "0")
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} v1)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} v2)
|
||||
list (SORT v1)
|
||||
list (SORT v2)
|
||||
if (NOT v1 STREQUAL v2)
|
||||
set(TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT "${len_act}" STREQUAL "${len_ref}")
|
||||
set (TEST_RESULT 1)
|
||||
|
||||
if (TEST_RESULT)
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
if (len_act GREATER 0 AND len_ref GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT str_act STREQUAL str_ref)
|
||||
if (str_act)
|
||||
set (TEST_RESULT 1)
|
||||
message (STATUS "line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if (len_act EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
|
||||
endif ()
|
||||
if (len_ref EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT len_act EQUAL len_ref)
|
||||
set (TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# now compare the .err file with the error reference, if supplied
|
||||
@@ -191,34 +196,34 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
|
||||
RESULT_VARIABLE TEST_RESULT
|
||||
)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
set (TEST_RESULT 0)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
|
||||
list (LENGTH test_act len_act)
|
||||
file (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
|
||||
list (LENGTH test_ref len_ref)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
|
||||
if (len_act GREATER 0 AND len_ref GREATER 0)
|
||||
math (EXPR _FP_LEN "${len_ref} - 1")
|
||||
foreach (line RANGE 0 ${_FP_LEN})
|
||||
list (GET test_act ${line} str_act)
|
||||
list (GET test_ref ${line} str_ref)
|
||||
if (NOT "${str_act}" STREQUAL "${str_ref}")
|
||||
if (NOT "${str_act}" STREQUAL "")
|
||||
if (NOT str_act STREQUAL str_ref)
|
||||
if (str_act)
|
||||
set (TEST_RESULT 1)
|
||||
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
message (STATUS "line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
|
||||
endif ()
|
||||
endif ()
|
||||
endforeach ()
|
||||
else ()
|
||||
if ("${len_act}" STREQUAL "0")
|
||||
if (len_act EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT}.err is empty")
|
||||
endif ()
|
||||
if ("${len_ref}" STREQUAL "0")
|
||||
if (len_ref EQUAL 0)
|
||||
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_ERRREF} is empty")
|
||||
endif ()
|
||||
endif()
|
||||
if (NOT "${len_act}" STREQUAL "${len_ref}")
|
||||
endif ()
|
||||
if (NOT len_act EQUAL len_ref)
|
||||
set (TEST_RESULT 1)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -226,7 +231,7 @@ if (NOT TEST_SKIP_COMPARE)
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}")
|
||||
|
||||
# again, if return value is !=0 scream and shout
|
||||
if (NOT ${TEST_RESULT} STREQUAL 0)
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The error output of ${TEST_OUTPUT}.err did not match ${TEST_ERRREF}")
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -239,20 +244,20 @@ if (TEST_GREP_COMPARE)
|
||||
# TEST_REFERENCE should always be matched
|
||||
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
|
||||
string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
|
||||
if ("${TEST_RESULT}" STREQUAL "0")
|
||||
if (NOT TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
|
||||
endif ()
|
||||
|
||||
string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
|
||||
if ("${TEST_EXPECT}" STREQUAL "1")
|
||||
if (TEST_EXPECT)
|
||||
# TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
|
||||
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# everything went fine...
|
||||
message ("${TEST_PROGRAM} Passed")
|
||||
message (STATUS "${TEST_PROGRAM} Passed")
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ Linking Options:
|
||||
|
||||
Languages:
|
||||
----------
|
||||
C: yes
|
||||
C: YES
|
||||
C Compiler: @CMAKE_C_COMPILER@ @CMAKE_C_COMPILER_VERSION@
|
||||
CPPFLAGS: @CPPFLAGS@
|
||||
H5_CPPFLAGS: @H5_CPPFLAGS@
|
||||
@@ -41,7 +41,7 @@ Languages:
|
||||
H5_CFLAGS: @H5_CFLAGS@
|
||||
AM_CFLAGS: @AM_CFLAGS@
|
||||
Shared C Library: @H5_ENABLE_SHARED_LIB@
|
||||
Static C Library: YES
|
||||
Static C Library: @H5_ENABLE_STATIC_LIB@
|
||||
|
||||
Fortran: @HDF5_BUILD_FORTRAN@
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Compiler: @CMAKE_Fortran_COMPILER@ @CMAKE_Fortran_COMPILER_VERSION@
|
||||
@@ -49,7 +49,7 @@ Languages:
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@ H5 Fortran Flags: @H5_FCFLAGS@
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@ AM Fortran Flags: @AM_FCFLAGS@
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Shared Fortran Library: @H5_ENABLE_SHARED_LIB@
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: YES
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: @H5_ENABLE_STATIC_LIB@
|
||||
|
||||
C++: @HDF5_BUILD_CPP_LIB@
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@ C++ Compiler: @CMAKE_CXX_COMPILER@ @CMAKE_CXX_COMPILER_VERSION@
|
||||
@@ -57,27 +57,30 @@ Languages:
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@ H5 C++ Flags: @H5_CXXFLAGS@
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@ AM C++ Flags: @AM_CXXFLAGS@
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @H5_ENABLE_SHARED_LIB@
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: YES
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: @H5_ENABLE_STATIC_LIB@
|
||||
|
||||
JAVA: @HDF5_BUILD_JAVA@
|
||||
@BUILD_JAVA_CONDITIONAL_TRUE@ JAVA Compiler: @CMAKE_Java_COMPILER@ @Java_VERSION@
|
||||
@BUILD_JAVA_CONDITIONAL_TRUE@ JAVA Compiler: @CMAKE_Java_COMPILER@ @Java_VERSION@
|
||||
|
||||
Features:
|
||||
---------
|
||||
Parallel HDF5: @HDF5_ENABLE_PARALLEL@
|
||||
High-level library: @HDF5_BUILD_HL_LIB@
|
||||
Threadsafety: @HDF5_ENABLE_THREADSAFE@
|
||||
Default API mapping: @DEFAULT_API_VERSION@
|
||||
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
|
||||
I/O filters (external): @EXTERNAL_FILTERS@
|
||||
MPE: @H5_HAVE_LIBLMPE@
|
||||
Direct VFD: @H5_HAVE_DIRECT@
|
||||
dmalloc: @H5_HAVE_LIBDMALLOC@
|
||||
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
|
||||
API Tracing: @HDF5_ENABLE_TRACE@
|
||||
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@
|
||||
Memory allocation sanity checks: @HDF5_MEMORY_ALLOC_SANITY_CHECK@
|
||||
Metadata trace file: @METADATATRACEFILE@
|
||||
Function Stack Tracing: @HDF5_ENABLE_CODESTACK@
|
||||
Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@
|
||||
Optimization Instrumentation: @HDF5_Enable_Instrument@
|
||||
Parallel HDF5: @HDF5_ENABLE_PARALLEL@
|
||||
Parallel Filtered Dataset Writes: @PARALLEL_FILTERED_WRITES@
|
||||
Large Parallel I/O: @LARGE_PARALLEL_IO@
|
||||
High-level library: @HDF5_BUILD_HL_LIB@
|
||||
Build HDF5 Tests: @BUILD_TESTING@
|
||||
Build HDF5 Tools: @HDF5_BUILD_TOOLS@
|
||||
Threadsafety: @HDF5_ENABLE_THREADSAFE@
|
||||
Default API mapping: @DEFAULT_API_VERSION@
|
||||
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
|
||||
I/O filters (external): @EXTERNAL_FILTERS@
|
||||
MPE: @H5_HAVE_LIBLMPE@
|
||||
Direct VFD: @H5_HAVE_DIRECT@
|
||||
dmalloc: @H5_HAVE_LIBDMALLOC@
|
||||
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
|
||||
API Tracing: @HDF5_ENABLE_TRACE@
|
||||
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@
|
||||
Memory allocation sanity checks: @HDF5_MEMORY_ALLOC_SANITY_CHECK@
|
||||
Function Stack Tracing: @HDF5_ENABLE_CODESTACK@
|
||||
Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@
|
||||
Optimization Instrumentation: @HDF5_Enable_Instrument@
|
||||
|
||||
@@ -23,6 +23,8 @@ set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
|
||||
|
||||
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
|
||||
|
||||
set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace" FORCE)
|
||||
|
||||
set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE)
|
||||
|
||||
set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<CPackWiXPatch>
|
||||
<CPackWiXFragment Id="CM_CP_libraries.bin.hdf5.dll">
|
||||
<CPackWiXFragment Id="CM_CP_libraries.bin.hdf5.dll">
|
||||
<Environment Id="PATH"
|
||||
Name="PATH"
|
||||
Value="[CM_DP_libraries.bin]"
|
||||
@@ -7,5 +7,5 @@
|
||||
Part="last"
|
||||
Action="set"
|
||||
System="yes"/>
|
||||
</CPackWiXFragment>
|
||||
</CPackWiXFragment>
|
||||
</CPackWiXPatch>
|
||||
|
||||
@@ -9,294 +9,348 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
########################################################
|
||||
# This dashboard is maintained by The HDF Group
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
########################################################
|
||||
# -----------------------------------------------------------
|
||||
# -- Get environment
|
||||
# -----------------------------------------------------------
|
||||
if (NOT SITE_OS_NAME)
|
||||
## machine name not provided - attempt to discover with uname
|
||||
## -- set hostname
|
||||
## --------------------------
|
||||
find_program (HOSTNAME_CMD NAMES hostname)
|
||||
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
|
||||
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
|
||||
find_program (UNAME NAMES uname)
|
||||
macro (getuname name flag)
|
||||
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
|
||||
endmacro ()
|
||||
|
||||
getuname (osname -s)
|
||||
getuname (osrel -r)
|
||||
getuname (cpu -m)
|
||||
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
|
||||
|
||||
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
|
||||
if (SITE_BUILDNAME_SUFFIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
|
||||
endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS}")
|
||||
else ()
|
||||
## machine name provided
|
||||
## --------------------------
|
||||
if (CMAKE_HOST_UNIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
|
||||
else ()
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
|
||||
endif ()
|
||||
if (SITE_BUILDNAME_SUFFIX)
|
||||
set (CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
|
||||
endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# MAC machines need special option
|
||||
#-----------------------------------------------------------------------------
|
||||
if (APPLE)
|
||||
# Compiler choice
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
|
||||
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
set (NEED_REPOSITORY_CHECKOUT 0)
|
||||
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
|
||||
if (CTEST_USE_TAR_SOURCE)
|
||||
## Uncompress source if tar file provided
|
||||
## --------------------------
|
||||
if (WIN32)
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
|
||||
else ()
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
|
||||
endif ()
|
||||
|
||||
if (NOT rv EQUAL 0)
|
||||
message (STATUS "extracting... [error-(${rv}) clean up]")
|
||||
file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
|
||||
message (FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
|
||||
endif ()
|
||||
|
||||
file (RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
|
||||
set (LOCAL_SKIP_UPDATE "TRUE")
|
||||
else ()
|
||||
if (LOCAL_UPDATE)
|
||||
if (CTEST_USE_GIT_SOURCE)
|
||||
find_program (CTEST_GIT_COMMAND NAMES git git.cmd)
|
||||
set (CTEST_GIT_UPDATE_OPTIONS)
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
if (REPOSITORY_BRANCH)
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
else ()
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
endif ()
|
||||
set (CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
|
||||
else ()
|
||||
set (CTEST_GIT_options "pull")
|
||||
endif ()
|
||||
set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
|
||||
else ()
|
||||
## --------------------------
|
||||
## use subversion to get source
|
||||
#-----------------------------------------------------------------------------
|
||||
## cygwin does not handle the find_package() call
|
||||
## --------------------------
|
||||
set (CTEST_UPDATE_COMMAND "SVNCommand")
|
||||
if (NOT SITE_CYGWIN})
|
||||
find_package (Subversion)
|
||||
set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
else ()
|
||||
set (CTEST_SVN_COMMAND "/usr/bin/svn")
|
||||
set (CTEST_UPDATE_COMMAND "/usr/bin/svn")
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (NOT CTEST_REPO_VERSION)
|
||||
set (CTEST_REPO_VERSION "HEAD")
|
||||
endif ()
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
set (CTEST_CHECKOUT_COMMAND
|
||||
"\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
|
||||
else ()
|
||||
if (CTEST_REPO_VERSION)
|
||||
set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## Clear the build directory
|
||||
## --------------------------
|
||||
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
|
||||
if (NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
|
||||
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
else ()
|
||||
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
|
||||
endif ()
|
||||
|
||||
# Use multiple CPU cores to build
|
||||
include (ProcessorCount)
|
||||
ProcessorCount (N)
|
||||
if (NOT N EQUAL 0)
|
||||
if (NOT WIN32)
|
||||
set (CTEST_BUILD_FLAGS -j${N})
|
||||
endif ()
|
||||
set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Send the main script as a note.
|
||||
list (APPEND CTEST_NOTES_FILES
|
||||
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
||||
"${CMAKE_CURRENT_LIST_FILE}"
|
||||
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for required variables.
|
||||
# --------------------------
|
||||
foreach (req
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
)
|
||||
if (NOT DEFINED ${req})
|
||||
message (FATAL_ERROR "The containing script must set ${req}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Initialize the CTEST commands
|
||||
#------------------------------
|
||||
if(CMAKE_GENERATOR_TOOLSET)
|
||||
set(CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
|
||||
else ()
|
||||
set(CTEST_CONFIGURE_TOOLSET "")
|
||||
endif()
|
||||
if (LOCAL_MEMCHECK_TEST)
|
||||
find_program (CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
else ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
find_program (CTEST_COVERAGE_COMMAND NAMES gcov)
|
||||
endif ()
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## -- set output to english
|
||||
set ($ENV{LC_MESSAGES} "en_EN")
|
||||
|
||||
# Print summary information.
|
||||
foreach (v
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
CTEST_SOURCE_DIRECTORY
|
||||
CTEST_BINARY_DIRECTORY
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_CONFIGURATION_TYPE
|
||||
CTEST_GIT_COMMAND
|
||||
CTEST_CHECKOUT_COMMAND
|
||||
CTEST_CONFIGURE_COMMAND
|
||||
CTEST_SCRIPT_DIRECTORY
|
||||
CTEST_USE_LAUNCHERS
|
||||
)
|
||||
set (vars "${vars} ${v}=[${${v}}]\n")
|
||||
endforeach ()
|
||||
message (STATUS "Dashboard script configuration:\n${vars}\n")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------------
|
||||
## NORMAL process
|
||||
## -- LOCAL_UPDATE updates the source folder from svn
|
||||
## -- LOCAL_SUBMIT reports to CDash server
|
||||
## -- LOCAL_SKIP_TEST skips the test process (only builds)
|
||||
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
|
||||
## -- LOCAL_COVERAGE_TEST executes code coverage process
|
||||
## --------------------------
|
||||
ctest_start (${MODEL} TRACK ${MODEL})
|
||||
if (LOCAL_UPDATE)
|
||||
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif ()
|
||||
configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
|
||||
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
|
||||
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Update Configure Notes)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
|
||||
endif ()
|
||||
|
||||
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Build)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_SKIP_TEST)
|
||||
if (NOT LOCAL_MEMCHECK_TEST)
|
||||
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Test)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
|
||||
endif ()
|
||||
else ()
|
||||
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS MemCheck)
|
||||
endif ()
|
||||
endif ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Coverage)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
|
||||
##-----------------------------------------------
|
||||
## Package the product
|
||||
##-----------------------------------------------
|
||||
execute_process (COMMAND cpack -C ${CTEST_CONFIGURATION_TYPE} -V
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
|
||||
RESULT_VARIABLE cpackResult
|
||||
OUTPUT_VARIABLE cpackLog
|
||||
ERROR_VARIABLE cpackLog.err
|
||||
)
|
||||
file (WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
|
||||
if (cpackResult GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
|
||||
endif ()
|
||||
endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
########################################################
|
||||
# This dashboard is maintained by The HDF Group
|
||||
# For any comments please contact cdashhelp@hdfgroup.org
|
||||
#
|
||||
########################################################
|
||||
# -----------------------------------------------------------
|
||||
# -- Get environment
|
||||
# -----------------------------------------------------------
|
||||
if (NOT SITE_OS_NAME)
|
||||
## machine name not provided - attempt to discover with uname
|
||||
## -- set hostname
|
||||
## --------------------------
|
||||
find_program (HOSTNAME_CMD NAMES hostname)
|
||||
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
|
||||
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
|
||||
find_program (UNAME NAMES uname)
|
||||
macro (getuname name flag)
|
||||
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
|
||||
endmacro ()
|
||||
|
||||
getuname (osname -s)
|
||||
getuname (osrel -r)
|
||||
getuname (cpu -m)
|
||||
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
|
||||
|
||||
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
|
||||
else ()
|
||||
## machine name provided
|
||||
## --------------------------
|
||||
if (CMAKE_HOST_UNIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
|
||||
else ()
|
||||
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (SITE_BUILDNAME_SUFFIX)
|
||||
set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
|
||||
endif ()
|
||||
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# MAC machines need special option
|
||||
#-----------------------------------------------------------------------------
|
||||
if (APPLE)
|
||||
# Compiler choice
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
|
||||
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
set (NEED_REPOSITORY_CHECKOUT 0)
|
||||
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
|
||||
if (CTEST_USE_TAR_SOURCE)
|
||||
## Uncompress source if tar file provided
|
||||
## --------------------------
|
||||
if (WIN32)
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
|
||||
else ()
|
||||
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar]")
|
||||
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
|
||||
endif ()
|
||||
|
||||
if (NOT rv EQUAL 0)
|
||||
message (STATUS "extracting... [error-(${rv}) clean up]")
|
||||
file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
|
||||
message (FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
|
||||
endif ()
|
||||
|
||||
file (RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
|
||||
set (LOCAL_SKIP_UPDATE "TRUE")
|
||||
else ()
|
||||
if (LOCAL_UPDATE)
|
||||
if (CTEST_USE_GIT_SOURCE)
|
||||
find_program (CTEST_GIT_COMMAND NAMES git git.cmd)
|
||||
set (CTEST_GIT_UPDATE_OPTIONS)
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
if (REPOSITORY_BRANCH)
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
else ()
|
||||
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
|
||||
endif ()
|
||||
set (CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
|
||||
else ()
|
||||
set (CTEST_GIT_options "pull")
|
||||
endif ()
|
||||
set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
|
||||
else ()
|
||||
## --------------------------
|
||||
## use subversion to get source
|
||||
#-----------------------------------------------------------------------------
|
||||
## cygwin does not handle the find_package() call
|
||||
## --------------------------
|
||||
set (CTEST_UPDATE_COMMAND "SVNCommand")
|
||||
if (NOT SITE_CYGWIN})
|
||||
find_package (Subversion)
|
||||
set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
|
||||
else ()
|
||||
set (CTEST_SVN_COMMAND "/usr/bin/svn")
|
||||
set (CTEST_UPDATE_COMMAND "/usr/bin/svn")
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
|
||||
set (NEED_REPOSITORY_CHECKOUT 1)
|
||||
endif ()
|
||||
|
||||
if (NOT CTEST_REPO_VERSION)
|
||||
set (CTEST_REPO_VERSION "HEAD")
|
||||
endif ()
|
||||
if (${NEED_REPOSITORY_CHECKOUT})
|
||||
set (CTEST_CHECKOUT_COMMAND
|
||||
"\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
|
||||
else ()
|
||||
if (CTEST_REPO_VERSION)
|
||||
set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## Clear the build directory
|
||||
## --------------------------
|
||||
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
|
||||
if (NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
|
||||
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
||||
else ()
|
||||
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
|
||||
endif ()
|
||||
|
||||
# Use multiple CPU cores to build
|
||||
include (ProcessorCount)
|
||||
ProcessorCount (N)
|
||||
if (NOT N EQUAL 0)
|
||||
if (MAX_PROC_COUNT)
|
||||
if (N GREATER MAX_PROC_COUNT)
|
||||
set (N ${MAX_PROC_COUNT})
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT WIN32)
|
||||
set (CTEST_BUILD_FLAGS -j${N})
|
||||
endif ()
|
||||
set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Send the main script as a note.
|
||||
list (APPEND CTEST_NOTES_FILES
|
||||
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
|
||||
"${CMAKE_CURRENT_LIST_FILE}"
|
||||
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for required variables.
|
||||
# --------------------------
|
||||
foreach (req
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
)
|
||||
if (NOT DEFINED ${req})
|
||||
message (FATAL_ERROR "The containing script must set ${req}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Initialize the CTEST commands
|
||||
#------------------------------
|
||||
if (CMAKE_GENERATOR_TOOLSET)
|
||||
set (CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
|
||||
else ()
|
||||
set (CTEST_CONFIGURE_TOOLSET "")
|
||||
endif()
|
||||
if (LOCAL_MEMCHECK_TEST)
|
||||
find_program (CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
else ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
find_program (CTEST_COVERAGE_COMMAND NAMES gcov)
|
||||
endif ()
|
||||
set (CTEST_CONFIGURE_COMMAND
|
||||
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
|
||||
)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
## -- set output to english
|
||||
set ($ENV{LC_MESSAGES} "en_EN")
|
||||
|
||||
# Print summary information.
|
||||
foreach (v
|
||||
CTEST_SITE
|
||||
CTEST_BUILD_NAME
|
||||
CTEST_SOURCE_DIRECTORY
|
||||
CTEST_BINARY_DIRECTORY
|
||||
CTEST_CMAKE_GENERATOR
|
||||
CTEST_CONFIGURATION_TYPE
|
||||
CTEST_GIT_COMMAND
|
||||
CTEST_CHECKOUT_COMMAND
|
||||
CTEST_CONFIGURE_COMMAND
|
||||
CTEST_SCRIPT_DIRECTORY
|
||||
CTEST_USE_LAUNCHERS
|
||||
)
|
||||
set (vars "${vars} ${v}=[${${v}}]\n")
|
||||
endforeach ()
|
||||
message (STATUS "Dashboard script configuration:\n${vars}\n")
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
#-----------------------------------------------------------------------------
|
||||
## NORMAL process
|
||||
## -- LOCAL_UPDATE updates the source folder from svn
|
||||
## -- LOCAL_SUBMIT reports to CDash server
|
||||
## -- LOCAL_SKIP_TEST skips the test process (only builds)
|
||||
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
|
||||
## -- LOCAL_COVERAGE_TEST executes code coverage process
|
||||
## --------------------------
|
||||
ctest_start (${MODEL} TRACK ${MODEL})
|
||||
if (LOCAL_UPDATE)
|
||||
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
|
||||
endif ()
|
||||
configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
|
||||
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
|
||||
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Update Configure Notes)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
|
||||
endif ()
|
||||
|
||||
# On Cray XC40, configuring fails in the Fortran section when using the craype-mic-knl module.
|
||||
# When the configure phase is done with the craype-haswell module and the build phase is done
|
||||
# with the craype-mic-knl module, configure succeeds and tests pass on the knl compute nodes
|
||||
# for Intel, Cray, GCC and Clang compilers. If the variables aren't set or if not
|
||||
# cross compiling, the module switch will not occur.
|
||||
if (CMAKE_CROSSCOMPILING AND COMPILENODE_HWCOMPILE_MODULE AND COMPUTENODE_HWCOMPILE_MODULE)
|
||||
execute_process (COMMAND module switch ${COMPILENODE_HWCOMPILE_MODULE} ${COMPUTENODE_HWCOMPILE_MODULE})
|
||||
endif ()
|
||||
|
||||
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Build)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_SKIP_TEST)
|
||||
if (NOT LOCAL_MEMCHECK_TEST)
|
||||
if (NOT LOCAL_BATCH_TEST)
|
||||
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
|
||||
else ()
|
||||
file(STRINGS ${CTEST_BINARY_DIRECTORY}/Testing/TAG TAG_CONTENTS REGEX "^2([0-9]+)[-]([0-9]+)$")
|
||||
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "raybsub")
|
||||
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
|
||||
else ()
|
||||
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "qsub")
|
||||
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME} ctestS.out)
|
||||
else ()
|
||||
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
|
||||
endif()
|
||||
endif ()
|
||||
message(STATUS "Check for existence of ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml")
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
while(result)
|
||||
ctest_sleep(60)
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile(result)
|
||||
if (LOCAL_BATCH_SCRIPT_PARALLEL_NAME)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Test)
|
||||
endif ()
|
||||
message(STATUS "Found ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml for serial tests. Renaming to SerialTest.xml")
|
||||
file (RENAME ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/SerialTest.xml)
|
||||
file (RENAME ${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastTest_${TAG_CONTENTS}.log ${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastTest_${TAG_CONTENTS}_Serial.log)
|
||||
unset(result CACHE)
|
||||
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "raybsub")
|
||||
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
|
||||
else ()
|
||||
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "qsub")
|
||||
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME} ctestP.out)
|
||||
else ()
|
||||
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
|
||||
endif ()
|
||||
endif ()
|
||||
message(STATUS "Check for existence of ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml")
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
while(result)
|
||||
ctest_sleep(60)
|
||||
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile(result)
|
||||
message(STATUS "Found ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml for parallel tests.")
|
||||
endif()
|
||||
endif ()
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Test)
|
||||
endif ()
|
||||
if (${res} LESS 0 OR ${res} GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
|
||||
endif ()
|
||||
else ()
|
||||
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS MemCheck)
|
||||
endif ()
|
||||
endif ()
|
||||
if (LOCAL_COVERAGE_TEST)
|
||||
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
|
||||
if (LOCAL_SUBMIT)
|
||||
ctest_submit (PARTS Coverage)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
|
||||
##-----------------------------------------------
|
||||
## Package the product
|
||||
##-----------------------------------------------
|
||||
execute_process (COMMAND cpack -C ${CTEST_CONFIGURATION_TYPE} -V
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
|
||||
RESULT_VARIABLE cpackResult
|
||||
OUTPUT_VARIABLE cpackLog
|
||||
ERROR_VARIABLE cpackLog.err
|
||||
)
|
||||
file (WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
|
||||
if (cpackResult GREATER 0)
|
||||
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
|
||||
endif ()
|
||||
endif ()
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -9,232 +9,254 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
############################################################################
|
||||
# Usage:
|
||||
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
# where valid options for OPTION are:
|
||||
# BUILD_GENERATOR - The cmake build generator:
|
||||
# Unix * Unix Makefiles
|
||||
#############################################################################################
|
||||
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
|
||||
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
|
||||
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
|
||||
#############################################################################################
|
||||
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
############################################################################
|
||||
# Usage:
|
||||
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
|
||||
# where valid options for OPTION are:
|
||||
# BUILD_GENERATOR - The cmake build generator:
|
||||
# Unix * Unix Makefiles
|
||||
# VS2017 * Visual Studio 15 2017
|
||||
# VS201764 * Visual Studio 15 2017 Win64
|
||||
# VS2015 * Visual Studio 14 2015
|
||||
# VS201564 * Visual Studio 14 2015 Win64
|
||||
# VS2013 * Visual Studio 12 2013
|
||||
# VS201364 * Visual Studio 12 2013 Win64
|
||||
#
|
||||
# INSTALLDIR - root folder where hdf5 is installed
|
||||
# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
##############################################################################
|
||||
|
||||
set (CTEST_SOURCE_VERSION "1.11.2")
|
||||
set (CTEST_SOURCE_VERSEXT "")
|
||||
|
||||
##############################################################################
|
||||
# handle input parameters to script.
|
||||
#BUILD_GENERATOR - which CMake generator to use, required
|
||||
#INSTALLDIR - HDF5-1.10.0 root folder
|
||||
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0
|
||||
if (DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
# to variables with the respective names set to the respective values
|
||||
string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
|
||||
foreach (current_var ${script_args})
|
||||
if ("${current_var}" MATCHES "^([^=]+)=(.+)$")
|
||||
set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# build generator must be defined
|
||||
if (NOT DEFINED BUILD_GENERATOR)
|
||||
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
|
||||
# VS2015 * Visual Studio 14 2015
|
||||
# VS201564 * Visual Studio 14 2015 Win64
|
||||
# VS2013 * Visual Studio 12 2013
|
||||
# VS201364 * Visual Studio 12 2013 Win64
|
||||
#
|
||||
# INSTALLDIR - root folder where hdf5 is installed
|
||||
# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
|
||||
# CTEST_SOURCE_NAME - source folder
|
||||
##############################################################################
|
||||
|
||||
set (CTEST_SOURCE_VERSION "1.10.6")
|
||||
set (CTEST_SOURCE_VERSEXT "-snap1")
|
||||
|
||||
##############################################################################
|
||||
# handle input parameters to script.
|
||||
#BUILD_GENERATOR - which CMake generator to use, required
|
||||
#INSTALLDIR - HDF5-1.10.0 root folder
|
||||
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
|
||||
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0
|
||||
#MODEL - CDash group name
|
||||
#HPC - run alternate configurations for HPC machines; sbatch, bsub, raybsub, qsub
|
||||
#MPI - enable MPI;
|
||||
if (DEFINED CTEST_SCRIPT_ARG)
|
||||
# transform ctest script arguments of the form
|
||||
# script.ctest,var1=value1,var2=value2
|
||||
# to variables with the respective names set to the respective values
|
||||
string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
|
||||
foreach (current_var ${script_args})
|
||||
if ("${current_var}" MATCHES "^([^=]+)=(.+)$")
|
||||
set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
#HPC - run alternate configurations for HPC machines
|
||||
if (DEFINED HPC)
|
||||
set (BUILD_GENERATOR "Unix")
|
||||
endif ()
|
||||
|
||||
# build generator must be defined
|
||||
if (NOT DEFINED BUILD_GENERATOR)
|
||||
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
|
||||
### (default use command line -C value)
|
||||
set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
###################################################################
|
||||
|
||||
if (NOT DEFINED INSTALLDIR)
|
||||
if (WIN32)
|
||||
set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
else ()
|
||||
set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_CONFIGURATION_TYPE)
|
||||
set (CTEST_CONFIGURATION_TYPE "Release")
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
endif ()
|
||||
|
||||
set (CTEST_BINARY_NAME "build")
|
||||
set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
|
||||
if (WIN32)
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else ()
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
######### Following describes compiler ############
|
||||
if (WIN32)
|
||||
set (SITE_OS_NAME "Windows")
|
||||
set (SITE_OS_VERSION "WIN7")
|
||||
if (${BUILD_GENERATOR} STREQUAL "VS201764")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2017")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS201564")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2015")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS201364")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2013")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS201264")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
elseif (${BUILD_GENERATOR} STREQUAL "VS2012")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
|
||||
###################################################################
|
||||
|
||||
if (NOT DEFINED INSTALLDIR)
|
||||
if (WIN32)
|
||||
set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
else ()
|
||||
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
|
||||
endif ()
|
||||
## Set the following to unique id your computer ##
|
||||
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
|
||||
else ()
|
||||
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
||||
## Set the following to unique id your computer ##
|
||||
if (APPLE)
|
||||
set (CTEST_SITE "MAC.XXXX")
|
||||
else ()
|
||||
set (CTEST_SITE "LINUX.XXXX")
|
||||
endif ()
|
||||
if (APPLE)
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
set (CTEST_USE_LAUNCHERS 1)
|
||||
set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare")
|
||||
set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized")
|
||||
set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat")
|
||||
set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2")
|
||||
set (RR_FLAGS_C "${RR_FLAGS_COMMON}")
|
||||
set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}")
|
||||
set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}")
|
||||
set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}")
|
||||
endif ()
|
||||
endif ()
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
######### Following is for submission to CDash ############
|
||||
###################################################################
|
||||
set (MODEL "Experimental")
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
##### Following controls CDash submission #####
|
||||
#set (LOCAL_SUBMIT "TRUE")
|
||||
##### Following controls test process #####
|
||||
#set (LOCAL_SKIP_TEST "TRUE")
|
||||
#set (LOCAL_MEMCHECK_TEST "TRUE")
|
||||
#set (LOCAL_COVERAGE_TEST "TRUE")
|
||||
##### Following controls cpack command #####
|
||||
#set (LOCAL_NO_PACKAGE "TRUE")
|
||||
##### Following controls source update #####
|
||||
#set (LOCAL_UPDATE "TRUE")
|
||||
set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git")
|
||||
set (REPOSITORY_BRANCH "develop")
|
||||
|
||||
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
|
||||
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
|
||||
###################################################################
|
||||
|
||||
|
||||
###################################################################
|
||||
|
||||
if (WIN32)
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
if (APPLE)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (CYGWIN)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_CONFIGURATION_TYPE)
|
||||
set (CTEST_CONFIGURATION_TYPE "Release")
|
||||
endif ()
|
||||
if (NOT DEFINED CTEST_SOURCE_NAME)
|
||||
set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
endif ()
|
||||
|
||||
set (CTEST_BINARY_NAME "build")
|
||||
set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
|
||||
if (WIN32)
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
|
||||
else ()
|
||||
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
|
||||
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
######### Following describes compiler ############
|
||||
if (NOT DEFINED HPC)
|
||||
if (NOT DEFINED BUILD_GENERATOR)
|
||||
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
if (WIN32)
|
||||
set (SITE_OS_NAME "Windows")
|
||||
set (SITE_OS_VERSION "WIN7")
|
||||
if (BUILD_GENERATOR STREQUAL "VS201764")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2017")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2017")
|
||||
set (SITE_COMPILER_VERSION "15")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS201564")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2015")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2015")
|
||||
set (SITE_COMPILER_VERSION "14")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS201364")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2013")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2013")
|
||||
set (SITE_COMPILER_VERSION "12")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS201264")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
|
||||
set (SITE_OS_BITS "64")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
elseif (BUILD_GENERATOR STREQUAL "VS2012")
|
||||
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
|
||||
set (SITE_OS_BITS "32")
|
||||
set (SITE_COMPILER_NAME "vs2012")
|
||||
set (SITE_COMPILER_VERSION "11")
|
||||
else ()
|
||||
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
|
||||
endif ()
|
||||
## Set the following to unique id your computer ##
|
||||
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
|
||||
else ()
|
||||
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
||||
## Set the following to unique id your computer ##
|
||||
if (APPLE)
|
||||
set (CTEST_SITE "MAC.XXXX")
|
||||
else ()
|
||||
set (CTEST_SITE "LINUX.XXXX")
|
||||
endif ()
|
||||
if (APPLE)
|
||||
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set (ENV{CC} "${XCODE_CC}")
|
||||
set (ENV{CXX} "${XCODE_CXX}")
|
||||
set (CTEST_USE_LAUNCHERS 1)
|
||||
set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare")
|
||||
set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized")
|
||||
set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat")
|
||||
set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2")
|
||||
set (RR_FLAGS_C "${RR_FLAGS_COMMON}")
|
||||
set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}")
|
||||
set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}")
|
||||
set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}")
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set (CTEST_SITE "${SITE_OS_NAME}")
|
||||
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
|
||||
endif ()
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
######### Following is for submission to CDash ############
|
||||
###################################################################
|
||||
if (NOT DEFINED MODEL)
|
||||
set (MODEL "Experimental")
|
||||
endif ()
|
||||
|
||||
###################################################################
|
||||
|
||||
###################################################################
|
||||
##### Following controls CDash submission #####
|
||||
#set (LOCAL_SUBMIT "TRUE")
|
||||
##### Following controls test process #####
|
||||
#set (LOCAL_SKIP_TEST "TRUE")
|
||||
#set (LOCAL_MEMCHECK_TEST "TRUE")
|
||||
#set (LOCAL_COVERAGE_TEST "TRUE")
|
||||
##### Following controls cpack command #####
|
||||
#set (LOCAL_NO_PACKAGE "TRUE")
|
||||
##### Following controls source update #####
|
||||
#set (LOCAL_UPDATE "TRUE")
|
||||
set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git")
|
||||
set (REPOSITORY_BRANCH "hdf5_1_10_6")
|
||||
|
||||
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
|
||||
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
|
||||
###################################################################
|
||||
|
||||
|
||||
###################################################################
|
||||
|
||||
if (WIN32)
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake)
|
||||
include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake)
|
||||
if (DEFINED HPC)
|
||||
include (${CTEST_SOURCE_DIRECTORY}/config/cmake/scripts/HPC/${HPC}-HDF5options.cmake)
|
||||
endif ()
|
||||
include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
|
||||
if (APPLE)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (CYGWIN)
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz")
|
||||
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
@@ -16,25 +16,27 @@
|
||||
|
||||
### uncomment/comment and change the following lines for other configuration options
|
||||
|
||||
#############################################################################################
|
||||
#### maximum parallel processor count for build and test ####
|
||||
#set (MAX_PROC_COUNT 8)
|
||||
|
||||
#############################################################################################
|
||||
#### alternate toolsets ####
|
||||
#set(CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0")
|
||||
#set (CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0")
|
||||
|
||||
#############################################################################################
|
||||
#### Only build static libraries ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
|
||||
#### Add PICC option on linux/mac ####
|
||||
#### Only build shared libraries ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DONLY_SHARED_LIBS:BOOL=OFF")
|
||||
#### Add PIC option on linux/mac ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
|
||||
|
||||
#############################################################################################
|
||||
#### fortran enabled ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
|
||||
#### fortran disabled ####
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
||||
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
#### java enabled ####
|
||||
@@ -50,29 +52,55 @@ set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTA
|
||||
#### ext libraries ####
|
||||
|
||||
### ext libs from tgz
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
### ext libs from git
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT")
|
||||
### ext libs on system
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=NO")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
|
||||
|
||||
### disable ext zlib building
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
|
||||
### disable ext szip building
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
|
||||
### disable using ext zlib
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
|
||||
### disable using ext szip
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
|
||||
|
||||
#### package examples ####
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=ON -DHDF5_EXAMPLES_COMPRESSED:STRING=HDF5Examples-1.10.13-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}")
|
||||
|
||||
#############################################################################################
|
||||
### enable parallel builds
|
||||
if (DEFINED MPI)
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
|
||||
endif()
|
||||
#############################################################################################
|
||||
### enable thread-safety builds
|
||||
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=ON")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_HL_LIB:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
### disable test program builds
|
||||
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
|
||||
|
||||
#############################################################################################
|
||||
### disable packaging
|
||||
|
||||
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
|
||||
### Create install package with external libraries (szip, zlib)
|
||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
|
||||
|
||||
#############################################################################################
|
||||
### use a toolchain file
|
||||
|
||||
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/intel.cmake")
|
||||
|
||||
#############################################################################################
|
||||
|
||||
31
config/cmake/scripts/HPC/bsub-HDF5options.cmake
Normal file
31
config/cmake/scripts/HPC/bsub-HDF5options.cmake
Normal file
@@ -0,0 +1,31 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
endif()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "bsub")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ctestS.lsf")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctestP.lsf")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=srun")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
42
config/cmake/scripts/HPC/qsub-HDF5options.cmake
Normal file
42
config/cmake/scripts/HPC/qsub-HDF5options.cmake
Normal file
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
endif()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ctest.qsub")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctest.qsub")
|
||||
if (DEFINED KNL)
|
||||
### some additions and alternatives to cross compile on haswell for knl
|
||||
set (COMPUTENODE_HWCOMPILE_MODULE "craype-mic-knl")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake")
|
||||
endif ()
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "qsub")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=aprun")
|
||||
# Option to suppress writing job statistics; to avoid issues with h5diff comparisons.
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_PREFLAGS:STRING=-q")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DACCOUNT_ID:STRING=${LOCAL_BATCH_SCRIPT_ARGS}")
|
||||
|
||||
#############################################################################################
|
||||
#############################################################################################
|
||||
32
config/cmake/scripts/HPC/raybsub-HDF5options.cmake
Normal file
32
config/cmake/scripts/HPC/raybsub-HDF5options.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
endif()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "raybsub")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ray_ctestS.lsf")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ray_ctestP.lsf")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_COMMAND:STRING=${LOCAL_BATCH_SCRIPT_COMMAND}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=mpirun")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-np")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
43
config/cmake/scripts/HPC/sbatch-HDF5options.cmake
Normal file
43
config/cmake/scripts/HPC/sbatch-HDF5options.cmake
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the COPYING file, which can be found at the root of the source code
|
||||
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#############################################################################################
|
||||
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
|
||||
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
|
||||
#############################################################################################
|
||||
if (DEFINED MPI)
|
||||
# maximum parallel processor count for build and test ####
|
||||
set (MAX_PROC_COUNT 8)
|
||||
endif()
|
||||
#############################################################################################
|
||||
### options to run test scripts in batch commands
|
||||
if (DEFINED KNL)
|
||||
### some additions and alternatives to cross compile on haswell for knl
|
||||
set (COMPILENODE_HWCOMPILE_MODULE "craype-haswell")
|
||||
set (COMPUTENODE_HWCOMPILE_MODULE "craype-mic-knl")
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "knl_ctestS.sl")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "knl_ctestP.sl")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake")
|
||||
else ()
|
||||
set (LOCAL_BATCH_SCRIPT_NAME "ctestS.sl")
|
||||
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctestP.sl")
|
||||
endif ()
|
||||
set (LOCAL_BATCH_SCRIPT_COMMAND "sbatch")
|
||||
set (LOCAL_BATCH_TEST "TRUE")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=srun")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
|
||||
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
|
||||
|
||||
#############################################################################################
|
||||
#############################################################################################
|
||||
@@ -20,7 +20,7 @@ if (NOT TEST_GET_PROGRAM)
|
||||
message (FATAL_ERROR "Require TEST_GET_PROGRAM getub to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_FOLDER)
|
||||
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
message (FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_HFILE)
|
||||
message (FATAL_ERROR "Require TEST_HFILE the hdf file to be defined")
|
||||
@@ -62,7 +62,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
OUTPUT_VARIABLE TEST_OUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
if (NOT ${TEST_RESULT} STREQUAL "0")
|
||||
if (TEST_RESULT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} ${TEST_OFILE} is: ${TEST_ERROR}")
|
||||
endif ()
|
||||
file (READ ${TEST_HFILE}.len.txt TEST_O_STRING_LEN)
|
||||
@@ -70,7 +70,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
|
||||
math( EXPR TEST_STRING_SIZE "${TEST_U_STRING_LEN} + ${TEST_O_STRING_LEN}" )
|
||||
|
||||
if (NOT TEST_O_STRING_LEN STREQUAL "0")
|
||||
if (TEST_O_STRING_LEN)
|
||||
#$JAM_BIN/getub -c $s2 $origfile > $cmpfile
|
||||
EXECUTE_PROCESS (
|
||||
COMMAND ${TEST_GET_PROGRAM} -c ${TEST_O_STRING_LEN} ${TEST_OFILE}
|
||||
@@ -108,7 +108,7 @@ if (TEST_CHECKUB STREQUAL "YES")
|
||||
|
||||
message (STATUS "COMPARE Result: ${TEST_RESULT}: ${TEST_STRING_SIZE}=${TEST_U_STRING_LEN}+${TEST_O_STRING_LEN}")
|
||||
# if the return value is !=${TEST_EXPECT} bail out
|
||||
if (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT})
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_HFILE}-ub did not match ${TEST_HFILE}.\n${TEST_ERROR}")
|
||||
endif ()
|
||||
else ()
|
||||
@@ -121,11 +121,11 @@ else ()
|
||||
OUTPUT_VARIABLE TEST_OUT
|
||||
ERROR_VARIABLE TEST_ERROR
|
||||
)
|
||||
if (NOT TEST_H_STRING_LEN STREQUAL "0")
|
||||
if (TEST_H_STRING_LEN)
|
||||
message (FATAL_ERROR "Failed: The output of ${TEST_HFILE} was NOT empty")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# everything went fine...
|
||||
message ("Passed: The output of CHECK matched expectation")
|
||||
message (STATUS "Passed: The output of CHECK matched expectation")
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ if (NOT TEST_PROGRAM)
|
||||
message (FATAL_ERROR "Require TEST_PROGRAM to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_FOLDER)
|
||||
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
message (FATAL_ERROR "Require TEST_FOLDER to be defined")
|
||||
endif ()
|
||||
if (NOT TEST_VFD)
|
||||
message (FATAL_ERROR "Require TEST_VFD to be defined")
|
||||
@@ -32,9 +32,9 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
|
||||
endif ()
|
||||
|
||||
# if there is not an error reference file add the error output to the stdout file
|
||||
if (NOT TEST_ERRREF)
|
||||
set (ERROR_APPEND 1)
|
||||
endif ()
|
||||
#if (NOT TEST_ERRREF)
|
||||
# set (ERROR_APPEND 1)
|
||||
#endif ()
|
||||
|
||||
message (STATUS "USING ${TEST_VFD} ON COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
|
||||
|
||||
@@ -60,7 +60,7 @@ if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.err)
|
||||
endif ()
|
||||
|
||||
# if the return value is !=${TEST_EXPECT} bail out
|
||||
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
|
||||
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
|
||||
if (NOT TEST_NOERRDISPLAY)
|
||||
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out)
|
||||
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out TEST_STREAM)
|
||||
@@ -73,4 +73,4 @@ endif ()
|
||||
message (STATUS "COMMAND Error: ${TEST_ERROR}")
|
||||
|
||||
# everything went fine...
|
||||
message ("Passed: The ${TEST_PROGRAM} program used vfd ${TEST_VFD}")
|
||||
message (STATUS "Passed: The ${TEST_PROGRAM} program used vfd ${TEST_VFD}")
|
||||
|
||||
11
config/cmake/wait_H5Tinit.cmake
Normal file
11
config/cmake/wait_H5Tinit.cmake
Normal file
@@ -0,0 +1,11 @@
|
||||
cmake_minimum_required (VERSION 3.10)
|
||||
|
||||
message(STATUS "Check for existence of ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
execute_process(COMMAND ls ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c RESULT_VARIABLE H5TI_result OUTPUT_QUIET ERROR_QUIET)
|
||||
while(H5TI_result)
|
||||
ctest_sleep(30)
|
||||
message(STATUS "Checking again for existence of ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
execute_process(COMMAND ls ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c RESULT_VARIABLE H5TI_result OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile(H5TI_result)
|
||||
file (TOUCH "${HDF5_BINARY_DIR}/H5Tinit_created")
|
||||
message(STATUS "Found ${HDF5_GENERATED_SOURCE_DIR}/H5Tinit.c")
|
||||
@@ -28,7 +28,7 @@ if (APPLE)
|
||||
list (LENGTH CMAKE_OSX_ARCHITECTURES ARCH_LENGTH)
|
||||
if (ARCH_LENGTH GREATER 1)
|
||||
set (CMAKE_OSX_ARCHITECTURES "" CACHE STRING "" FORCE)
|
||||
message(FATAL_ERROR "Building Universal Binaries on OS X is NOT supported by the HDF5 project. This is"
|
||||
message (FATAL_ERROR "Building Universal Binaries on OS X is NOT supported by the HDF5 project. This is"
|
||||
"due to technical reasons. The best approach would be build each architecture in separate directories"
|
||||
"and use the 'lipo' tool to combine them into a single executable or library. The 'CMAKE_OSX_ARCHITECTURES'"
|
||||
"variable has been set to a blank value which will build the default architecture for this system.")
|
||||
@@ -70,7 +70,7 @@ if (WIN32)
|
||||
set (CMAKE_REQUIRED_FLAGS "-DWIN32_LEAN_AND_MEAN=1 -DNOGDI=1")
|
||||
endif ()
|
||||
set (${HDF_PREFIX}_HAVE_WIN32_API 1)
|
||||
set (CMAKE_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
|
||||
set (HDF5_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
|
||||
if (NOT UNIX AND NOT MINGW)
|
||||
set (WINDOWS 1)
|
||||
set (CMAKE_REQUIRED_FLAGS "/DWIN32_LEAN_AND_MEAN=1 /DNOGDI=1")
|
||||
@@ -109,88 +109,10 @@ endif ()
|
||||
# END of WINDOWS Hard code Values
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
if (CYGWIN)
|
||||
set (${HDF_PREFIX}_HAVE_LSEEK64 0)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for the math library "m"
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT WINDOWS)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
|
||||
endif ()
|
||||
|
||||
# UCB (BSD) compatibility library
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
|
||||
|
||||
# For other tests to use the same libraries
|
||||
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LINK_LIBS})
|
||||
|
||||
set (USE_INCLUDES "")
|
||||
if (WINDOWS)
|
||||
set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
|
||||
endif ()
|
||||
|
||||
if (NOT WINDOWS)
|
||||
TEST_BIG_ENDIAN (${HDF_PREFIX}_WORDS_BIGENDIAN)
|
||||
endif ()
|
||||
|
||||
# For other specific tests, use this MACRO.
|
||||
macro (HDF_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
set (OTHER_TEST_ADD_LIBRARIES)
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
|
||||
foreach (def
|
||||
HAVE_SYS_TIME_H
|
||||
HAVE_UNISTD_H
|
||||
HAVE_SYS_TYPES_H
|
||||
HAVE_SYS_SOCKET_H
|
||||
)
|
||||
if ("${${HDF_PREFIX}_${def}}")
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
if (LARGEFILE)
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
|
||||
#message (STATUS "Performing ${OTHER_TEST}")
|
||||
TRY_COMPILE (${OTHER_TEST}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||
"${OTHER_TEST_ADD_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${OTHER_TEST})
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
|
||||
else ()
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
|
||||
"${OUTPUT}\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for these functions before the time headers are checked
|
||||
#-----------------------------------------------------------------------------
|
||||
HDF_FUNCTION_TEST (STDC_HEADERS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check IF header file exists and add it to the list.
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -247,6 +169,91 @@ CHECK_INCLUDE_FILE_CONCAT ("memory.h" ${HDF_PREFIX}_HAVE_MEMORY_H)
|
||||
CHECK_INCLUDE_FILE_CONCAT ("dlfcn.h" ${HDF_PREFIX}_HAVE_DLFCN_H)
|
||||
CHECK_INCLUDE_FILE_CONCAT ("inttypes.h" ${HDF_PREFIX}_HAVE_INTTYPES_H)
|
||||
CHECK_INCLUDE_FILE_CONCAT ("netinet/in.h" ${HDF_PREFIX}_HAVE_NETINET_IN_H)
|
||||
# _Bool type support
|
||||
CHECK_INCLUDE_FILE_CONCAT (stdbool.h ${HDF_PREFIX}_HAVE_STDBOOL_H)
|
||||
|
||||
## Check for non-standard extenstion quadmath.h
|
||||
|
||||
CHECK_INCLUDE_FILES(quadmath.h C_HAVE_QUADMATH)
|
||||
if (${C_HAVE_QUADMATH})
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH_H 1)
|
||||
else ()
|
||||
set(${HDF_PREFIX}_HAVE_QUADMATH_H 0)
|
||||
endif ()
|
||||
|
||||
if (CYGWIN)
|
||||
set (${HDF_PREFIX}_HAVE_LSEEK64 0)
|
||||
endif ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for the math library "m"
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT WINDOWS)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
|
||||
endif ()
|
||||
|
||||
# UCB (BSD) compatibility library
|
||||
CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
|
||||
|
||||
# For other tests to use the same libraries
|
||||
set (HDF5_REQUIRED_LIBRARIES ${HDF5_REQUIRED_LIBRARIES} ${LINK_LIBS})
|
||||
|
||||
set (USE_INCLUDES "")
|
||||
if (WINDOWS)
|
||||
set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
|
||||
endif ()
|
||||
|
||||
# For other specific tests, use this MACRO.
|
||||
macro (HDF_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
|
||||
foreach (def
|
||||
HAVE_SYS_TIME_H
|
||||
HAVE_UNISTD_H
|
||||
HAVE_SYS_TYPES_H
|
||||
HAVE_SYS_SOCKET_H
|
||||
)
|
||||
if ("${${HDF_PREFIX}_${def}}")
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
if (LARGEFILE)
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
|
||||
#message (STATUS "Performing ${OTHER_TEST}")
|
||||
try_compile (${OTHER_TEST}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS}"
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${OTHER_TEST})
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
|
||||
else ()
|
||||
message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
|
||||
set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
|
||||
"${OUTPUT}\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for these functions before the time headers are checked
|
||||
#-----------------------------------------------------------------------------
|
||||
HDF_FUNCTION_TEST (STDC_HEADERS)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Check for large file support
|
||||
@@ -277,13 +284,12 @@ if (NOT WINDOWS)
|
||||
set (HDF_EXTRA_C_FLAGS -D_GNU_SOURCE)
|
||||
|
||||
option (HDF_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
|
||||
if (HDF_ENABLE_LARGE_FILE)
|
||||
if (HDF_ENABLE_LARGE_FILE AND NOT DEFINED TEST_LFS_WORKS_RUN)
|
||||
set (msg "Performing TEST_LFS_WORKS")
|
||||
TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
|
||||
try_run (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DTEST_LFS_WORKS
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
COMPILE_DEFINITIONS "-DTEST_LFS_WORKS"
|
||||
)
|
||||
|
||||
# The LARGEFILE definitions were from the transition period
|
||||
@@ -300,14 +306,14 @@ if (NOT WINDOWS)
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Run failed with the following output and exit code:\n ${OUTPUT}\n"
|
||||
"Test TEST_LFS_WORKS Run failed with the following exit code:\n ${TEST_LFS_WORKS_RUN}\n"
|
||||
)
|
||||
endif ()
|
||||
else ()
|
||||
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
|
||||
message (STATUS "${msg}... no")
|
||||
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||
"Test TEST_LFS_WORKS Compile failed with the following output:\n ${OUTPUT}\n"
|
||||
"Test TEST_LFS_WORKS Compile failed\n"
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -322,17 +328,12 @@ if (NOT WINDOWS OR MINGW)
|
||||
HDF_FUNCTION_TEST (HAVE_OFF64_T)
|
||||
if (${HDF_PREFIX}_HAVE_OFF64_T)
|
||||
CHECK_FUNCTION_EXISTS (lseek64 ${HDF_PREFIX}_HAVE_LSEEK64)
|
||||
CHECK_FUNCTION_EXISTS (fseeko64 ${HDF_PREFIX}_HAVE_FSEEKO64)
|
||||
CHECK_FUNCTION_EXISTS (ftello64 ${HDF_PREFIX}_HAVE_FTELLO64)
|
||||
CHECK_FUNCTION_EXISTS (ftruncate64 ${HDF_PREFIX}_HAVE_FTRUNCATE64)
|
||||
endif ()
|
||||
|
||||
CHECK_FUNCTION_EXISTS (fseeko ${HDF_PREFIX}_HAVE_FSEEKO)
|
||||
CHECK_FUNCTION_EXISTS (ftello ${HDF_PREFIX}_HAVE_FTELLO)
|
||||
|
||||
HDF_FUNCTION_TEST (HAVE_STAT64_STRUCT)
|
||||
if (HAVE_STAT64_STRUCT)
|
||||
CHECK_FUNCTION_EXISTS (fstat64 ${HDF_PREFIX}_HAVE_FSTAT64)
|
||||
CHECK_FUNCTION_EXISTS (stat64 ${HDF_PREFIX}_HAVE_STAT64)
|
||||
endif ()
|
||||
endif ()
|
||||
@@ -412,13 +413,13 @@ HDF_CHECK_TYPE_SIZE (off64_t ${HDF_PREFIX}_SIZEOF_OFF64_T)
|
||||
if (NOT ${HDF_PREFIX}_SIZEOF_OFF64_T)
|
||||
set (${HDF_PREFIX}_SIZEOF_OFF64_T 0)
|
||||
endif ()
|
||||
HDF_CHECK_TYPE_SIZE (time_t ${HDF_PREFIX}_SIZEOF_TIME_T)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Extra C99 types
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# _Bool type support
|
||||
CHECK_INCLUDE_FILE_CONCAT (stdbool.h ${HDF_PREFIX}_HAVE_STDBOOL_H)
|
||||
if (HAVE_STDBOOL_H)
|
||||
set (CMAKE_EXTRA_INCLUDE_FILES stdbool.h)
|
||||
HDF_CHECK_TYPE_SIZE (bool ${HDF_PREFIX}_SIZEOF_BOOL)
|
||||
@@ -442,7 +443,7 @@ if (NOT WINDOWS)
|
||||
# Check a bunch of time functions
|
||||
#-----------------------------------------------------------------------------
|
||||
CHECK_FUNCTION_EXISTS (gettimeofday ${HDF_PREFIX}_HAVE_GETTIMEOFDAY)
|
||||
foreach (test
|
||||
foreach (time_test
|
||||
HAVE_TM_GMTOFF
|
||||
HAVE___TM_GMTOFF
|
||||
# HAVE_TIMEZONE
|
||||
@@ -452,7 +453,7 @@ if (NOT WINDOWS)
|
||||
HAVE_TM_ZONE
|
||||
HAVE_STRUCT_TM_TM_ZONE
|
||||
)
|
||||
HDF_FUNCTION_TEST (${test})
|
||||
HDF_FUNCTION_TEST (${time_test})
|
||||
endforeach ()
|
||||
if (NOT CYGWIN AND NOT MINGW)
|
||||
HDF_FUNCTION_TEST (HAVE_TIMEZONE)
|
||||
@@ -505,6 +506,8 @@ CHECK_FUNCTION_EXISTS (lround ${HDF_PREFIX}_HAVE_LROUND)
|
||||
CHECK_FUNCTION_EXISTS (lroundf ${HDF_PREFIX}_HAVE_LROUNDF)
|
||||
CHECK_FUNCTION_EXISTS (lstat ${HDF_PREFIX}_HAVE_LSTAT)
|
||||
|
||||
CHECK_FUNCTION_EXISTS (pread ${HDF_PREFIX}_HAVE_PREAD)
|
||||
CHECK_FUNCTION_EXISTS (pwrite ${HDF_PREFIX}_HAVE_PWRITE)
|
||||
CHECK_FUNCTION_EXISTS (rand_r ${HDF_PREFIX}_HAVE_RAND_R)
|
||||
CHECK_FUNCTION_EXISTS (random ${HDF_PREFIX}_HAVE_RANDOM)
|
||||
CHECK_FUNCTION_EXISTS (round ${HDF_PREFIX}_HAVE_ROUND)
|
||||
@@ -554,7 +557,7 @@ endif ()
|
||||
# Check a bunch of other functions
|
||||
#-----------------------------------------------------------------------------
|
||||
if (NOT WINDOWS)
|
||||
foreach (test
|
||||
foreach (other_test
|
||||
HAVE_ATTRIBUTE
|
||||
HAVE_C99_FUNC
|
||||
# STDC_HEADERS
|
||||
@@ -563,7 +566,7 @@ if (NOT WINDOWS)
|
||||
SYSTEM_SCOPE_THREADS
|
||||
HAVE_SOCKLEN_T
|
||||
)
|
||||
HDF_FUNCTION_TEST (${test})
|
||||
HDF_FUNCTION_TEST (${other_test})
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
@@ -573,36 +576,27 @@ endif ()
|
||||
if (WINDOWS)
|
||||
if (NOT HDF_NO_IOEO_TEST)
|
||||
message (STATUS "Checking for InitOnceExecuteOnce:")
|
||||
if (NOT DEFINED ${${HDF_PREFIX}_HAVE_IOEO})
|
||||
if (NOT DEFINED ${HDF_PREFIX}_HAVE_IOEO)
|
||||
if (LARGEFILE)
|
||||
set (CMAKE_REQUIRED_DEFINITIONS
|
||||
"${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
|
||||
)
|
||||
endif ()
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||
"-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
|
||||
endif ()
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
|
||||
if (CMAKE_REQUIRED_INCLUDES)
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
|
||||
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
|
||||
else ()
|
||||
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
|
||||
endif ()
|
||||
|
||||
TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
||||
-DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
|
||||
"${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
|
||||
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT)
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
COMPILE_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} ${MACRO_CHECK_FUNCTION_DEFINITIONS}"
|
||||
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
|
||||
CMAKE_FLAGS "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES} -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}"
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
# if it did not compile make the return value fail code of 1
|
||||
if (NOT HAVE_IOEO_COMPILED)
|
||||
set (HAVE_IOEO_EXITCODE 1)
|
||||
@@ -653,8 +647,8 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
|
||||
TRY_RUN (${HDF_PREFIX}_PRINTF_LL_TEST_RUN ${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE
|
||||
${CMAKE_BINARY_DIR}
|
||||
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
|
||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
COMPILE_DEFINITIONS "${CURRENT_TEST_DEFINITIONS}"
|
||||
RUN_OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
|
||||
if (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
|
||||
@@ -662,11 +656,11 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
|
||||
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${${HDF_PREFIX}_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
|
||||
set (PRINT_LL_FOUND 1)
|
||||
else ()
|
||||
message ("Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
|
||||
message (STATUS "Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
|
||||
endif ()
|
||||
else ()
|
||||
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed with the following output:\n ${OUTPUT}\n"
|
||||
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed\n"
|
||||
)
|
||||
endif ()
|
||||
|
||||
|
||||
@@ -9,136 +9,108 @@
|
||||
# If you do not have access to either file, you may request a copy from
|
||||
# help@hdfgroup.org.
|
||||
#
|
||||
#########################################################################
|
||||
|
||||
# - Derived from the FindTiff.cmake and FindJPEG.cmake that is included with cmake
|
||||
# FindSZIP
|
||||
|
||||
# - Find SZIP library
|
||||
# - Derived from the FindTiff.cmake that is included with cmake
|
||||
# Find the native SZIP includes and library
|
||||
# This module defines
|
||||
# SZIP_INCLUDE_DIRS, where to find tiff.h, etc.
|
||||
|
||||
# Imported targets
|
||||
##################
|
||||
|
||||
# This module defines the following :prop_tgt:`IMPORTED` targets:
|
||||
#
|
||||
# SZIP::SZIP
|
||||
# The SZIP library, if found.
|
||||
#
|
||||
# Result variables
|
||||
###################
|
||||
|
||||
# This module will set the following variables in your project:
|
||||
|
||||
# SZIP_FOUND, true if the SZIP headers and libraries were found.
|
||||
# SZIP_INCLUDE_DIR, the directory containing the SZIP headers.
|
||||
# SZIP_INCLUDE_DIRS, the directory containing the SZIP headers.
|
||||
# SZIP_LIBRARIES, libraries to link against to use SZIP.
|
||||
# SZIP_FOUND, If false, do not try to use SZIP.
|
||||
# also defined, but not for general use are
|
||||
|
||||
# Cache variables
|
||||
#################
|
||||
|
||||
# The following variables may also be set:
|
||||
|
||||
# SZIP_LIBRARY, where to find the SZIP library.
|
||||
# SZIP_LIBRARY_DEBUG - Debug version of SZIP library
|
||||
# SZIP_LIBRARY_RELEASE - Release Version of SZIP library
|
||||
|
||||
# message (STATUS "Finding SZIP library and headers..." )
|
||||
|
||||
############################################
|
||||
#
|
||||
# Check the existence of the libraries.
|
||||
#
|
||||
############################################
|
||||
# This macro was taken directly from the FindQt4.cmake file that is included
|
||||
# with the CMake distribution. This is NOT my work. All work was done by the
|
||||
# original authors of the FindQt4.cmake file. Only minor modifications were
|
||||
# made to remove references to Qt and make this file more generally applicable
|
||||
#########################################################################
|
||||
|
||||
macro (SZIP_ADJUST_LIB_VARS basename)
|
||||
if (${basename}_INCLUDE_DIR)
|
||||
|
||||
# if only the release version was found, set the debug variable also to the release version
|
||||
if (${basename}_LIBRARY_RELEASE AND NOT ${basename}_LIBRARY_DEBUG)
|
||||
set (${basename}_LIBRARY_DEBUG ${${basename}_LIBRARY_RELEASE})
|
||||
set (${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE})
|
||||
set (${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE})
|
||||
endif ()
|
||||
find_path(SZIP_INCLUDE_DIR szlib.h)
|
||||
|
||||
# if only the debug version was found, set the release variable also to the debug version
|
||||
if (${basename}_LIBRARY_DEBUG AND NOT ${basename}_LIBRARY_RELEASE)
|
||||
set (${basename}_LIBRARY_RELEASE ${${basename}_LIBRARY_DEBUG})
|
||||
set (${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG})
|
||||
set (${basename}_LIBRARIES ${${basename}_LIBRARY_DEBUG})
|
||||
endif ()
|
||||
if (${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE)
|
||||
# if the generator supports configuration types then set
|
||||
# optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
|
||||
if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
|
||||
set (${basename}_LIBRARY optimized ${${basename}_LIBRARY_RELEASE} debug ${${basename}_LIBRARY_DEBUG})
|
||||
else ()
|
||||
# if there are no configuration types and CMAKE_BUILD_TYPE has no value
|
||||
# then just use the release libraries
|
||||
set (${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
|
||||
endif ()
|
||||
set (${basename}_LIBRARIES optimized ${${basename}_LIBRARY_RELEASE} debug ${${basename}_LIBRARY_DEBUG})
|
||||
endif ()
|
||||
set(szip_names ${SZIP_NAMES} sz szip szip-static libsz libszip libszip-static)
|
||||
foreach(name ${szip_names})
|
||||
list(APPEND szip_names_debug "${name}d")
|
||||
endforeach()
|
||||
|
||||
set (${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH "The ${basename} library")
|
||||
if(NOT SZIP_LIBRARY)
|
||||
find_library(SZIP_LIBRARY_RELEASE NAMES ${szip_names})
|
||||
find_library(SZIP_LIBRARY_DEBUG NAMES ${szip_names_debug})
|
||||
include(SelectLibraryConfigurations)
|
||||
select_library_configurations(SZIP)
|
||||
mark_as_advanced(SZIP_LIBRARY_RELEASE SZIP_LIBRARY_DEBUG)
|
||||
endif()
|
||||
unset(szip_names)
|
||||
unset(szip_names_debug)
|
||||
|
||||
if (${basename}_LIBRARY)
|
||||
set (${basename}_FOUND 1)
|
||||
endif ()
|
||||
endif ()
|
||||
if(SZIP_INCLUDE_DIR AND EXISTS "${SZIP_INCLUDE_DIR}/SZconfig.h")
|
||||
file(STRINGS "${SZIP_INCLUDE_DIR}/SZconfig.h" szip_version_str
|
||||
REGEX "^#define[\t ]+SZIP_PACKAGE_VERSION[\t ]+.*")
|
||||
|
||||
# Make variables changeble to the advanced user
|
||||
MARK_AS_ADVANCED (${basename}_LIBRARY ${basename}_LIBRARY_RELEASE ${basename}_LIBRARY_DEBUG ${basename}_INCLUDE_DIR )
|
||||
endmacro ()
|
||||
string(REGEX REPLACE "^#define[\t ]+SZIP_PACKAGE_VERSION[\t ]+([0-9]+).*"
|
||||
"\\1" SZIP_VERSION "${szip_version_str}")
|
||||
unset(szip_version_str)
|
||||
endif()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
find_package_handle_standard_args(SZIP
|
||||
REQUIRED_VARS SZIP_LIBRARY SZIP_INCLUDE_DIR
|
||||
VERSION_VAR SZIP_VERSION)
|
||||
|
||||
# Look for the header file.
|
||||
set (SZIP_INCLUDE_SEARCH_DIRS
|
||||
$ENV{SZIP_INSTALL}/include
|
||||
$ENV{SZIP_INSTALL}/include/szip
|
||||
/usr/include
|
||||
/usr/include/szip
|
||||
)
|
||||
if(SZIP_FOUND)
|
||||
set(SZIP_LIBRARIES ${SZIP_LIBRARY})
|
||||
set(SZIP_INCLUDE_DIRS "${SZIP_INCLUDE_DIR}")
|
||||
|
||||
set (SZIP_LIB_SEARCH_DIRS
|
||||
$ENV{SZIP_INSTALL}/lib
|
||||
/usr/lib
|
||||
)
|
||||
if(NOT TARGET SZIP::SZIP)
|
||||
add_library(SZIP::SZIP UNKNOWN IMPORTED)
|
||||
if(SZIP_INCLUDE_DIRS)
|
||||
set_target_properties(SZIP::SZIP PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SZIP_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(EXISTS "${SZIP_LIBRARY}")
|
||||
set_target_properties(SZIP::SZIP PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||
IMPORTED_LOCATION "${SZIP_LIBRARY}")
|
||||
endif()
|
||||
if(EXISTS "${SZIP_LIBRARY_RELEASE}")
|
||||
set_property(TARGET SZIP::SZIP APPEND PROPERTY
|
||||
IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(SZIP::SZIP PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
|
||||
IMPORTED_LOCATION_RELEASE "${SZIP_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
if(EXISTS "${SZIP_LIBRARY_DEBUG}")
|
||||
set_property(TARGET SZIP::SZIP APPEND PROPERTY
|
||||
IMPORTED_CONFIGURATIONS DEBUG)
|
||||
set_target_properties(SZIP::SZIP PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
|
||||
IMPORTED_LOCATION_DEBUG "${SZIP_LIBRARY_DEBUG}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set (SZIP_BIN_SEARCH_DIRS
|
||||
$ENV{SZIP_INSTALL}/bin
|
||||
/usr/bin
|
||||
)
|
||||
|
||||
FIND_PATH (SZIP_INCLUDE_DIR
|
||||
NAMES szlib.h
|
||||
PATHS ${SZIP_INCLUDE_SEARCH_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
set (SZIP_SEARCH_DEBUG_NAMES "sz_d;libsz_d")
|
||||
set (SZIP_SEARCH_RELEASE_NAMES "sz;libsz;libszip")
|
||||
else ()
|
||||
set (SZIP_SEARCH_DEBUG_NAMES "sz_d")
|
||||
set (SZIP_SEARCH_RELEASE_NAMES "sz;szip")
|
||||
endif ()
|
||||
|
||||
# Look for the library.
|
||||
FIND_LIBRARY (SZIP_LIBRARY_DEBUG
|
||||
NAMES ${SZIP_SEARCH_DEBUG_NAMES}
|
||||
PATHS ${SZIP_LIB_SEARCH_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_LIBRARY (SZIP_LIBRARY_RELEASE
|
||||
NAMES ${SZIP_SEARCH_RELEASE_NAMES}
|
||||
PATHS ${SZIP_LIB_SEARCH_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
SZIP_ADJUST_LIB_VARS (SZIP)
|
||||
|
||||
if (SZIP_INCLUDE_DIR AND SZIP_LIBRARY)
|
||||
set (SZIP_FOUND 1)
|
||||
set (SZIP_LIBRARIES ${SZIP_LIBRARY})
|
||||
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
|
||||
if (SZIP_LIBRARY_DEBUG)
|
||||
get_filename_component (SZIP_LIBRARY_PATH ${SZIP_LIBRARY_DEBUG} PATH)
|
||||
set (SZIP_LIB_DIR ${SZIP_LIBRARY_PATH})
|
||||
elseif ()
|
||||
get_filename_component (SZIP_LIBRARY_PATH ${SZIP_LIBRARY_RELEASE} PATH)
|
||||
set (SZIP_LIB_DIR ${SZIP_LIBRARY_PATH})
|
||||
endif ()
|
||||
else ()
|
||||
set (SZIP_FOUND 0)
|
||||
set (SZIP_LIBRARIES)
|
||||
set (SZIP_INCLUDE_DIRS)
|
||||
endif ()
|
||||
mark_as_advanced(SZIP_LIBRARY SZIP_INCLUDE_DIR)
|
||||
|
||||
# Report the results.
|
||||
if (NOT SZIP_FOUND)
|
||||
@@ -153,29 +125,3 @@ if (NOT SZIP_FOUND)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (SZIP_FOUND)
|
||||
include (CheckSymbolExists)
|
||||
#############################################
|
||||
# Find out if SZIP was build using dll's
|
||||
#############################################
|
||||
# Save required variable
|
||||
set (CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
|
||||
set (CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
|
||||
# Add SZIP_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
|
||||
set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${SZIP_INCLUDE_DIRS}")
|
||||
|
||||
# Restore CMAKE_REQUIRED_INCLUDES and CMAKE_REQUIRED_FLAGS variables
|
||||
set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
|
||||
set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
|
||||
#
|
||||
#############################################
|
||||
endif ()
|
||||
|
||||
if (FIND_SZIP_DEBUG)
|
||||
message (STATUS "SZIP_INCLUDE_DIR: ${SZIP_INCLUDE_DIR}")
|
||||
message (STATUS "SZIP_INCLUDE_DIRS: ${SZIP_INCLUDE_DIRS}")
|
||||
message (STATUS "SZIP_LIBRARY_DEBUG: ${SZIP_LIBRARY_DEBUG}")
|
||||
message (STATUS "SZIP_LIBRARY_RELEASE: ${SZIP_LIBRARY_RELEASE}")
|
||||
message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
|
||||
endif ()
|
||||
|
||||
@@ -14,24 +14,7 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
# May need to build JPEG with PIC on x64 machines with gcc
|
||||
# Need to use CMAKE_ANSI_CFLAGS define so that compiler test works
|
||||
|
||||
if (${compress_type} MATCHES "SVN")
|
||||
EXTERNALPROJECT_ADD (JPEG
|
||||
SVN_REPOSITORY ${JPEG_URL}
|
||||
# [SVN_REVISION rev]
|
||||
INSTALL_COMMAND ""
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
|
||||
-DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "GIT")
|
||||
if (${compress_type} MATCHES "GIT")
|
||||
EXTERNALPROJECT_ADD (JPEG
|
||||
GIT_REPOSITORY ${JPEG_URL}
|
||||
GIT_TAG ${JPEG_BRANCH}
|
||||
@@ -47,6 +30,8 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "TGZ")
|
||||
EXTERNALPROJECT_ADD (JPEG
|
||||
@@ -64,23 +49,25 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (JPEG BINARY_DIR SOURCE_DIR)
|
||||
|
||||
##include (${BINARY_DIR}/${JPEG_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
|
||||
# Create imported target jpeg-static
|
||||
add_library(jpeg-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (jpeg-static "jpeg" STATIC "")
|
||||
add_dependencies (JPEG jpeg-static)
|
||||
set (JPEG_STATIC_LIBRARY "jpeg-static")
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}jpeg-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}jpeg-static "jpeg" STATIC "")
|
||||
add_dependencies (${HDF_PACKAGE_NAMESPACE}jpeg-static JPEG)
|
||||
set (JPEG_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}jpeg-static")
|
||||
set (JPEG_LIBRARIES ${JPEG_STATIC_LIBRARY})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Create imported target jpeg-shared
|
||||
add_library(jpeg-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (jpeg-shared "jpeg" SHARED "")
|
||||
add_dependencies (JPEG jpeg-shared)
|
||||
set (JPEG_SHARED_LIBRARY "jpeg-shared")
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}jpeg-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}jpeg-shared "jpeg" SHARED "")
|
||||
add_dependencies (${HDF_PACKAGE_NAMESPACE}jpeg-shared JPEG)
|
||||
set (JPEG_SHARED_LIBRARY "${HDF_PACKAGE_NAMESPACE}jpeg-shared")
|
||||
set (JPEG_LIBRARIES ${JPEG_LIBRARIES} ${JPEG_SHARED_LIBRARY})
|
||||
endif ()
|
||||
|
||||
@@ -97,32 +84,14 @@ macro (PACKAGE_JPEG_LIBRARY compress_type)
|
||||
COMMENT "Copying ${JPEG_INCLUDE_DIR_GEN}/jconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
|
||||
)
|
||||
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/jconfig.h)
|
||||
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
|
||||
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
|
||||
add_dependencies (JPEG-GenHeader-Copy JPEG)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
if (${compress_type} MATCHES "SVN")
|
||||
EXTERNALPROJECT_ADD (SZIP
|
||||
SVN_REPOSITORY ${SZIP_URL}
|
||||
# [SVN_REVISION rev]
|
||||
INSTALL_COMMAND ""
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
|
||||
-DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "GIT")
|
||||
if (${compress_type} MATCHES "GIT")
|
||||
EXTERNALPROJECT_ADD (SZIP
|
||||
GIT_REPOSITORY ${SZIP_URL}
|
||||
GIT_TAG ${SZIP_BRANCH}
|
||||
@@ -139,6 +108,8 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "TGZ")
|
||||
EXTERNALPROJECT_ADD (SZIP
|
||||
@@ -157,23 +128,25 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (SZIP BINARY_DIR SOURCE_DIR)
|
||||
|
||||
##include (${BINARY_DIR}/${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
|
||||
# Create imported target szip-static
|
||||
add_library(szip-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (szip-static "szip" STATIC "")
|
||||
add_dependencies (SZIP szip-static)
|
||||
set (SZIP_STATIC_LIBRARY "szip-static")
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}szip-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szip-static "szip" STATIC "")
|
||||
add_dependencies (${HDF_PACKAGE_NAMESPACE}szip-static SZIP)
|
||||
set (SZIP_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}szip-static")
|
||||
set (SZIP_LIBRARIES ${SZIP_STATIC_LIBRARY})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Create imported target szip-shared
|
||||
add_library(szip-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (szip-shared "szip" SHARED "")
|
||||
add_dependencies (SZIP szip-shared)
|
||||
set (SZIP_SHARED_LIBRARY "szip-shared")
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}szip-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szip-shared "szip" SHARED "")
|
||||
add_dependencies (${HDF_PACKAGE_NAMESPACE}szip-shared SZIP)
|
||||
set (SZIP_SHARED_LIBRARY "${HDF_PACKAGE_NAMESPACE}szip-shared")
|
||||
set (SZIP_LIBRARIES ${SZIP_LIBRARIES} ${SZIP_SHARED_LIBRARY})
|
||||
endif ()
|
||||
|
||||
@@ -190,31 +163,14 @@ macro (PACKAGE_SZIP_LIBRARY compress_type)
|
||||
COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
|
||||
)
|
||||
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SZconfig.h)
|
||||
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
|
||||
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
|
||||
add_dependencies (SZIP-GenHeader-Copy SZIP)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
if (${compress_type} MATCHES "SVN")
|
||||
EXTERNALPROJECT_ADD (ZLIB
|
||||
SVN_REPOSITORY ${ZLIB_URL}
|
||||
# [SVN_REVISION rev]
|
||||
INSTALL_COMMAND ""
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
|
||||
-DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
|
||||
-DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
|
||||
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "GIT")
|
||||
if (${compress_type} MATCHES "GIT")
|
||||
EXTERNALPROJECT_ADD (ZLIB
|
||||
GIT_REPOSITORY ${ZLIB_URL}
|
||||
GIT_TAG ${ZLIB_BRANCH}
|
||||
@@ -230,6 +186,8 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
elseif (${compress_type} MATCHES "TGZ")
|
||||
EXTERNALPROJECT_ADD (ZLIB
|
||||
@@ -247,6 +205,8 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
|
||||
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
|
||||
)
|
||||
endif ()
|
||||
externalproject_get_property (ZLIB BINARY_DIR SOURCE_DIR)
|
||||
@@ -258,17 +218,18 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
|
||||
endif ()
|
||||
##include (${BINARY_DIR}/${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
|
||||
# Create imported target zlib-static
|
||||
add_library(zlib-static STATIC IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (zlib-static ${ZLIB_LIB_NAME} STATIC "")
|
||||
add_dependencies (ZLIB zlib-static)
|
||||
set (ZLIB_STATIC_LIBRARY "zlib-static")
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}zlib-static STATIC IMPORTED)
|
||||
# add_library(${HDF_PACKAGE_NAMESPACE}zlib-static ALIAS zlib-static)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}zlib-static ${ZLIB_LIB_NAME} STATIC "")
|
||||
add_dependencies (${HDF_PACKAGE_NAMESPACE}zlib-static ZLIB)
|
||||
set (ZLIB_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}zlib-static")
|
||||
set (ZLIB_LIBRARIES ${ZLIB_STATIC_LIBRARY})
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# Create imported target zlib-shared
|
||||
add_library(zlib-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (zlib-shared ${ZLIB_LIB_NAME} SHARED "")
|
||||
add_dependencies (ZLIB zlib-shared)
|
||||
set (ZLIB_SHARED_LIBRARY "zlib-shared")
|
||||
add_library(${HDF_PACKAGE_NAMESPACE}zlib-shared SHARED IMPORTED)
|
||||
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}zlib-shared ${ZLIB_LIB_NAME} SHARED "")
|
||||
add_dependencies (${HDF_PACKAGE_NAMESPACE}zlib-shared ZLIB)
|
||||
set (ZLIB_SHARED_LIBRARY "${HDF_PACKAGE_NAMESPACE}zlib-shared")
|
||||
set (ZLIB_LIBRARIES ${ZLIB_LIBRARIES} ${ZLIB_SHARED_LIBRARY})
|
||||
endif ()
|
||||
|
||||
@@ -285,7 +246,7 @@ macro (PACKAGE_ZLIB_LIBRARY compress_type)
|
||||
COMMENT "Copying ${ZLIB_INCLUDE_DIR_GEN}/zconf.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
|
||||
)
|
||||
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/zconf.h)
|
||||
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
|
||||
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
|
||||
add_dependencies (ZLIB-GenHeader-Copy ZLIB)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
macro (SET_HDF_BUILD_TYPE)
|
||||
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(_isMultiConfig)
|
||||
set(HDF_CFG_NAME ${CTEST_CONFIGURATION_TYPE})
|
||||
set(HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
|
||||
set(HDF_BUILD_TYPE ${CMAKE_CFG_INTDIR})
|
||||
set(HDF_CFG_BUILD_TYPE \${CMAKE_INSTALL_CONFIG_NAME})
|
||||
else()
|
||||
@@ -28,7 +28,7 @@ macro (SET_HDF_BUILD_TYPE)
|
||||
endif()
|
||||
endif()
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
|
||||
message (STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
|
||||
# Set the possible values of build type for cmake-gui
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
|
||||
@@ -78,7 +78,7 @@ macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
|
||||
if (${libtype} MATCHES "SHARED")
|
||||
set (targetfilename $<TARGET_PDB_FILE:${libtarget}>)
|
||||
else ()
|
||||
get_property (target_name TARGET ${libtarget} PROPERTY OUTPUT_NAME_RELWITHDEBINFO)
|
||||
get_property (target_name TARGET ${libtarget} PROPERTY $<IF:$<CONFIG:Debug>,OUTPUT_NAME_DEBUG,OUTPUT_NAME_RELWITHDEBINFO>)
|
||||
set (targetfilename $<TARGET_FILE_DIR:${libtarget}>/${target_name}.pdb)
|
||||
endif ()
|
||||
install (
|
||||
@@ -86,9 +86,10 @@ macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
|
||||
${targetfilename}
|
||||
DESTINATION
|
||||
${targetdestination}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
CONFIGURATIONS $<CONFIG>
|
||||
COMPONENT ${targetcomponent}
|
||||
)
|
||||
OPTIONAL
|
||||
)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -100,9 +101,10 @@ macro (INSTALL_PROGRAM_PDB progtarget targetdestination targetcomponent)
|
||||
$<TARGET_PDB_FILE:${progtarget}>
|
||||
DESTINATION
|
||||
${targetdestination}
|
||||
CONFIGURATIONS RelWithDebInfo
|
||||
CONFIGURATIONS $<CONFIG>
|
||||
COMPONENT ${targetcomponent}
|
||||
)
|
||||
OPTIONAL
|
||||
)
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
@@ -126,19 +128,6 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set_target_properties (${libtarget}
|
||||
PROPERTIES
|
||||
OUTPUT_NAME
|
||||
${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_DEBUG
|
||||
${LIB_DEBUG_NAME}
|
||||
OUTPUT_NAME_RELEASE
|
||||
${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_MINSIZEREL
|
||||
${LIB_RELEASE_NAME}
|
||||
OUTPUT_NAME_RELWITHDEBINFO
|
||||
${LIB_RELEASE_NAME}
|
||||
)
|
||||
if (${libtype} MATCHES "STATIC")
|
||||
if (WIN32)
|
||||
set_target_properties (${libtarget}
|
||||
@@ -170,7 +159,7 @@ macro (HDF_IMPORT_SET_LIB_OPTIONS libtarget libname libtype libversion)
|
||||
if (${importtype} MATCHES "IMPORT")
|
||||
set (importprefix "${CMAKE_STATIC_LIBRARY_PREFIX}")
|
||||
endif ()
|
||||
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
|
||||
if (${HDF_CFG_NAME} MATCHES "Debug")
|
||||
set (IMPORT_LIB_NAME ${LIB_DEBUG_NAME})
|
||||
else ()
|
||||
set (IMPORT_LIB_NAME ${LIB_RELEASE_NAME})
|
||||
@@ -224,10 +213,9 @@ macro (TARGET_C_PROPERTIES wintarget libtype)
|
||||
$<$<C_COMPILER_ID:MSVC>:${WIN_COMPILE_FLAGS}>
|
||||
$<$<CXX_COMPILER_ID:MSVC>:${WIN_COMPILE_FLAGS}>
|
||||
)
|
||||
target_link_libraries(${wintarget} INTERFACE
|
||||
$<$<C_COMPILER_ID:MSVC>:${WIN_LINK_FLAGS}>
|
||||
$<$<CXX_COMPILER_ID:MSVC>:${WIN_LINK_FLAGS}>
|
||||
)
|
||||
if(MSVC)
|
||||
set_property(TARGET ${wintarget} APPEND PROPERTY LINK_FLAGS "${WIN_LINK_FLAGS}")
|
||||
endif()
|
||||
endmacro ()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -273,14 +261,14 @@ macro (HDF_README_PROPERTIES target_fortran)
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2015")
|
||||
else ()
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2017")
|
||||
endif ()
|
||||
endif ()
|
||||
else ()
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}")
|
||||
endif ()
|
||||
endif ()
|
||||
elseif (APPLE)
|
||||
set (BINARY_EXAMPLE_ENDING "tar.gz")
|
||||
set (BINARY_INSTALL_ENDING "dmg")
|
||||
set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}")
|
||||
else ()
|
||||
@@ -294,7 +282,9 @@ macro (HDF_README_PROPERTIES target_fortran)
|
||||
set (BINARY_PLATFORM "${BINARY_PLATFORM} / ${CMAKE_Fortran_COMPILER_ID} Fortran")
|
||||
endif ()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
if (ONLY_SHARED_LIBS)
|
||||
set (LIB_TYPE "Shared")
|
||||
elseif (BUILD_SHARED_LIBS)
|
||||
set (LIB_TYPE "Static and Shared")
|
||||
else ()
|
||||
set (LIB_TYPE "Static")
|
||||
@@ -358,10 +348,34 @@ macro (HDF_DIR_PATHS package_prefix)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set (CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||
set (CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
|
||||
set (CMAKE_BUILD_WITH_INSTALL_RPATH ON)
|
||||
if (APPLE)
|
||||
set (CMAKE_INSTALL_NAME_DIR "@rpath")
|
||||
set (CMAKE_INSTALL_RPATH
|
||||
"@executable_path/../${${package_prefix}_INSTALL_LIB_DIR}"
|
||||
"@executable_path/"
|
||||
"@loader_path/../${${package_prefix}_INSTALL_LIB_DIR}"
|
||||
"@loader_path/"
|
||||
)
|
||||
else ()
|
||||
set (CMAKE_INSTALL_RPATH "\$ORIGIN/../${${package_prefix}_INSTALL_LIB_DIR}:\$ORIGIN/")
|
||||
endif ()
|
||||
|
||||
if (DEFINED ADDITIONAL_CMAKE_PREFIX_PATH AND EXISTS "${ADDITIONAL_CMAKE_PREFIX_PATH}")
|
||||
set (CMAKE_PREFIX_PATH ${ADDITIONAL_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH})
|
||||
endif ()
|
||||
|
||||
#set the default debug suffix for all library targets
|
||||
if(NOT CMAKE_DEBUG_POSTFIX)
|
||||
if (WIN32)
|
||||
set (CMAKE_DEBUG_POSTFIX "_D")
|
||||
else ()
|
||||
set (CMAKE_DEBUG_POSTFIX "_debug")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
SET_HDF_BUILD_TYPE()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -380,13 +394,14 @@ macro (HDF_DIR_PATHS package_prefix)
|
||||
set (CMAKE_Fortran_MODULE_DIRECTORY
|
||||
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all fortran modules."
|
||||
)
|
||||
if (WIN32)
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
|
||||
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(_isMultiConfig)
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE})
|
||||
set (CMAKE_PDB_OUTPUT_DIRECTORY
|
||||
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all pdb files."
|
||||
)
|
||||
else ()
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
|
||||
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
endif ()
|
||||
else ()
|
||||
# if we are externally configured, but the project uses old cmake scripts
|
||||
|
||||
@@ -48,8 +48,8 @@ macro (HDF_CXX_FUNCTION_TEST OTHER_TEST)
|
||||
if (NOT DEFINED ${OTHER_TEST})
|
||||
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
||||
set (OTHER_TEST_ADD_LIBRARIES)
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
endif ()
|
||||
|
||||
foreach (def
|
||||
@@ -96,14 +96,14 @@ endmacro ()
|
||||
# Check a bunch of cxx functions
|
||||
#-----------------------------------------------------------------------------
|
||||
if (CMAKE_CXX_COMPILER_LOADED)
|
||||
foreach (test
|
||||
foreach (cxx_test
|
||||
OLD_HEADER_FILENAME
|
||||
${HDF_PREFIX}_NO_NAMESPACE
|
||||
${HDF_PREFIX}_NO_STD
|
||||
HDF_NO_NAMESPACE
|
||||
HDF_NO_STD
|
||||
BOOL_NOTDEFINED
|
||||
NO_STATIC_CAST
|
||||
${HDF_PREFIX}_CXX_HAVE_OFFSETOF
|
||||
CXX_HAVE_OFFSETOF
|
||||
)
|
||||
HDF_CXX_FUNCTION_TEST (${test})
|
||||
HDF_CXX_FUNCTION_TEST (${cxx_test})
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# This file provides functions for Fortran support.
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
ENABLE_LANGUAGE (Fortran)
|
||||
enable_language (Fortran)
|
||||
set (HDF_PREFIX "H5")
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
@@ -48,9 +48,9 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}")
|
||||
#-----------------------------------------------------------------------------
|
||||
macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
|
||||
message (STATUS "Testing Fortran ${FUNCTION}")
|
||||
if (CMAKE_REQUIRED_LIBRARIES)
|
||||
if (HDF5_REQUIRED_LIBRARIES)
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
|
||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
||||
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
|
||||
else ()
|
||||
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
|
||||
endif ()
|
||||
@@ -65,9 +65,9 @@ macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
|
||||
# message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
# message ( "Test result ${OUTPUT}")
|
||||
# message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
# message (STATUS "Test result ${OUTPUT}")
|
||||
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
|
||||
|
||||
if (${RESULT_VAR})
|
||||
set (${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user