Compare commits

...

981 Commits

Author SHA1 Message Date
Dana Robinson
f3469bbf4a Merge pull request #1633 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:feature/json_vol to feature/json_vol
* commit '9b2bc5956784f311ff23512e1a359c29c1bd69a9':
  Yanked H5private.h and added hdf5.h.
2019-04-02 17:53:51 -05:00
Dana Robinson
9b2bc59567 Yanked H5private.h and added hdf5.h. 2019-04-01 15:17:53 -07:00
Dana Robinson
6e0d81dc8b Merge pull request #1629 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:feature/json_vol to feature/json_vol
* commit '799a732650735b8ad05a0398781d2a26ec47b288': (185 commits)
  Updated the VOL struct. The json_vol test fails, though, because the plugin can't be found. Will diagnose later.
  Correct examples for packaging
  HDFFV-10738 Wrong INTENT for H5LTread_dataset_double_f
  Changes that show the right way to iterate over enums.
  Changes that show the right way to iterate over enums.
  Test improvement Description     Moved the new tests to a more appropriate test function. Platforms tested:     Linux/64 (jelly)
  Used the H5_INC_ENUM macro to squash enum value increment warnings.
  Fixed HDFFV-10210 and HDFFV-10587 Description:     - Added parameter validation (HDFFV-10210)     - Added detection of division by zero (HDFFV-10587 - CVE-2018-17438)     - Fixed typos in various tests Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
  Fix CMake error in name
  Commented out memcpy overlap check while we investigate parallel filters issues.
  Yanked check for memcpy n > 0
  - Added H5MMprivate.h #includes where needed - Added casts to quiet H5MM_memcpy warnings - Removed char * casts from HDmemcpy
  Added an H5MM_memcpy call that checks for buffer overlap.
  Added the HDopen work-around on windows to pio_engine.c
  Adds _wopen support on Windows so that files with UTF-8 names can be opened.
  CMake: fix pthread linking to only be private
  Add API routines to retrieve, restore, reset, and free library state.
  Added a note of bug fix for HDFFV-10705.
  Fixed the MANIFEST
  Fix issue with direct chunk write not updating the "last chunk" index cache.  Fix issues involving datasets being "no allocated" when they contain cached raw data.
  ...
2019-03-30 20:31:11 -05:00
Dana Robinson
799a732650 Updated the VOL struct. The json_vol test fails, though, because
the plugin can't be found. Will diagnose later.
2019-03-30 18:29:07 -07:00
Dana Robinson
70c21ab3be Merge branch 'develop' into feature/json_vol 2019-03-30 17:48:05 -07:00
Allen Byrne
c8494e34d1 Merge pull request #1625 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '90a58f2b2f5a612ce7326fbfe3a476e31d148084':
  Correct examples for packaging
2019-03-28 16:37:40 -05:00
Allen Byrne
90a58f2b2f Correct examples for packaging 2019-03-28 16:37:11 -05:00
Scot Breitenfeld
b530043b7a Merge pull request #1614 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'a1d7a9b8592e8b842b940f43733cc2df5d5d81bb':
  HDFFV-10738 Wrong INTENT for H5LTread_dataset_double_f
2019-03-26 13:30:37 -05:00
M. Scot Breitenfeld
a1d7a9b859 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2019-03-25 10:02:01 -05:00
M. Scot Breitenfeld
b2423350f4 HDFFV-10738 Wrong INTENT for H5LTread_dataset_double_f
Fixed.

Also fixed INTENT issues for H5DS, H5IM and H5TB when reading or getting.
2019-03-25 10:00:31 -05:00
Binh-Minh Ribler
d818edb110 Merge pull request #1610 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_fixbug:develop to develop
* commit 'fe104cc38ffbdb39d3e04da107d86ebfc7e8b622':
  Test improvement Description     Moved the new tests to a more appropriate test function. Platforms tested:     Linux/64 (jelly)
  Fixed HDFFV-10210 and HDFFV-10587 Description:     - Added parameter validation (HDFFV-10210)     - Added detection of division by zero (HDFFV-10587 - CVE-2018-17438)     - Fixed typos in various tests Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
2019-03-23 21:10:30 -05:00
Dana Robinson
02abb65dde Merge pull request #1611 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:tfile_vfd to develop
* commit 'b66df06dbf607741127137ebfda373890cb37649':
  Changes that show the right way to iterate over enums.
  Changes that show the right way to iterate over enums.
  Used the H5_INC_ENUM macro to squash enum value increment warnings.
2019-03-21 13:21:15 -05:00
Dana Robinson
b66df06dbf Merge branch 'tfile_vfd' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into tfile_vfd 2019-03-21 10:19:32 -07:00
Dana Robinson
85e2214d55 Changes that show the right way to iterate over enums. 2019-03-21 10:18:16 -07:00
Dana Robinson
ef8aa13174 Changes that show the right way to iterate over enums. 2019-03-21 10:09:55 -07:00
Binh-Minh Ribler
fe104cc38f Test improvement
Description
    Moved the new tests to a more appropriate test function.
Platforms tested:
    Linux/64 (jelly)
2019-03-21 11:09:17 -05:00
Dana Robinson
97cdcc47e4 Used the H5_INC_ENUM macro to squash enum value increment warnings. 2019-03-21 01:15:09 -07:00
Allen Byrne
b01b84f245 Merge pull request #1608 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '7a589a0a39bc3b46981f4902e5fc1150c05ecebd':
  Fix CMake error in name
2019-03-20 16:05:30 -05:00
Binh-Minh Ribler
222346f373 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_fixbug into develop 2019-03-20 14:07:40 -05:00
Binh-Minh Ribler
7add52ff4f Fixed HDFFV-10210 and HDFFV-10587
Description:
    - Added parameter validation (HDFFV-10210)
    - Added detection of division by zero (HDFFV-10587 - CVE-2018-17438)
    - Fixed typos in various tests
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-03-20 14:03:48 -05:00
Allen Byrne
7a589a0a39 Fix CMake error in name 2019-03-19 14:47:08 -05:00
Dana Robinson
604b67df19 Merge pull request #1607 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '2e867d2a6dd5f330011f20333064aa0c12464d59':
  Commented out memcpy overlap check while we investigate parallel filters issues.
2019-03-18 22:39:30 -05:00
Dana Robinson
2e867d2a6d Commented out memcpy overlap check while we investigate
parallel filters issues.
2019-03-18 19:06:58 -07:00
Dana Robinson
c50b7c4b7e Merge pull request #1606 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '2db272521e2da51663aa65fc9297cd6cf763e641':
  Yanked check for memcpy n > 0
2019-03-17 20:34:15 -05:00
Dana Robinson
2db272521e Yanked check for memcpy n > 0 2019-03-17 16:01:31 -07:00
Dana Robinson
f0d22e54c7 Merge pull request #1604 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '5c80d3d91284bdcd048d9325b1a601d0ddfca8bd':
  - Added H5MMprivate.h #includes where needed - Added casts to quiet H5MM_memcpy warnings - Removed char * casts from HDmemcpy
  Added an H5MM_memcpy call that checks for buffer overlap.
2019-03-16 21:58:38 -05:00
Dana Robinson
5c80d3d912 - Added H5MMprivate.h #includes where needed
- Added casts to quiet H5MM_memcpy warnings
- Removed char * casts from HDmemcpy
2019-03-16 16:02:06 -07:00
Dana Robinson
a98747c0f9 Added an H5MM_memcpy call that checks for buffer overlap. 2019-03-16 08:06:52 -07:00
Dana Robinson
d2591ce377 Merge pull request #1602 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:wopen_squash to develop
* commit '0c20c65e2f3abf390ad87c9167daca4cdff2de39':
  Added the HDopen work-around on windows to pio_engine.c
  Adds _wopen support on Windows so that files with UTF-8 names can be opened.
2019-03-15 10:47:02 -05:00
Dana Robinson
0c20c65e2f Added the HDopen work-around on windows to pio_engine.c 2019-03-15 08:45:38 -07:00
Neil Fortner
a0c5d9a1d3 Merge pull request #1594 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
Fix issues with direct chunk operations and the single chunk index.

* commit 'c812a6c9ec5ff440dc405167c54b86fdb18dcfa4':
  Fix issue with direct chunk write not updating the "last chunk" index cache.  Fix issues involving datasets being "no allocated" when they contain cached raw data.
2019-03-15 10:22:12 -05:00
Neil Fortner
c812a6c9ec Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-03-15 10:20:25 -05:00
Dana Robinson
750b5c2930 Adds _wopen support on Windows so that files with UTF-8 names
can be opened.

Fixes: HDFFV-2714, HDFFV-3914, HDFFV-3895, HDFFV-8237, HDFFV-10413, HDFFV-10691
2019-03-15 00:41:39 -07:00
Jerome Soumagne
0ea7aa89ff Merge pull request #1601 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:topic_thread_private to develop
* commit 'dc69df49e6a8896606c9e4bd0987613a02f7a25a':
  CMake: fix pthread linking to only be private
2019-03-13 15:25:23 -05:00
Jerome Soumagne
dc69df49e6 CMake: fix pthread linking to only be private 2019-03-13 13:54:35 -05:00
Quincey Koziol
07baf44a86 Merge pull request #1599 in HDFFV/hdf5 from preserve_lib_state to develop
* commit '86598573641dfa27278c9e29df0fa79bd7d8e07f':
  Add API routines to retrieve, restore, reset, and free library state.
2019-03-12 11:48:11 -05:00
Quincey Koziol
8659857364 Add API routines to retrieve, restore, reset, and free library state.
(Primarily for use in the async VOL connector, which has to schedule API
operations for future execution and then restore the state of the library when
the operation actually executes)
2019-03-11 17:29:14 -05:00
Ray Lu
679b49d43d Merge pull request #1597 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:HDFFV-10705-memory-leak-in-scale-offset-2 to develop
* commit '5f22afff3a05a2c8fc694ddb0c7e1081a660b398':
  Added a note of bug fix for HDFFV-10705.
2019-03-08 14:28:17 -06:00
Songyu Lu
5f22afff3a Added a note of bug fix for HDFFV-10705. 2019-03-08 13:51:27 -06:00
Dana Robinson
a56a97f979 Merge pull request #1595 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'fc3f606d5c30d614b7e6cddaf4d0dafd80987bec':
  Fixed the MANIFEST
2019-03-07 17:47:13 -06:00
Dana Robinson
fc3f606d5c Fixed the MANIFEST 2019-03-07 14:38:11 -08:00
Larry Knox
8d2a047c25 Merge pull request #1593 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '775e3740d64ca9a8a31ded673e93815d76387dad':
  Update documents following DHF5 1.10.5 release.
2019-03-07 12:51:27 -06:00
Neil Fortner
faec33960f Fix issue with direct chunk write not updating the "last chunk" index
cache.  Fix issues involving datasets being "no allocated" when they
contain cached raw data.
2019-03-06 16:57:42 -06:00
Quincey Koziol
cdec6ca87f Merge pull request #1592 in HDFFV/hdf5 from dset_ohdr_min_fix to develop
* commit '33db9f56449c974fed6b4a8a19072546bcd31e15':
  Fix typo.
  Move 'minimize dataset object header flag' into API context
2019-03-06 10:18:33 -06:00
Quincey Koziol
33db9f5644 Fix typo. 2019-03-05 17:33:13 -06:00
Larry Knox
775e3740d6 Update documents following DHF5 1.10.5 release. 2019-03-05 17:23:56 -06:00
Quincey Koziol
b8468e6fdb Move 'minimize dataset object header flag' into API context 2019-03-05 10:36:28 -06:00
Ray Lu
5182e73d5e Merge pull request #1588 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:HDFFV-10705-memory-leak-in-scale-offset to develop
* commit 'b23079de3af4bfb7aa0508fb81aacd67a76c2114':
  HDFFV-10705: Fixed memory leak in scale offset filter.
2019-03-01 11:32:14 -06:00
Songyu Lu
b23079de3a HDFFV-10705: Fixed memory leak in scale offset filter. 2019-02-28 14:36:38 -06:00
Allen Byrne
d2dfe6ccbe Merge pull request #1582 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '64f21ec6397d00e45ff4d41e70c5131241be587e':
  Correct CMake examples for a binary install
  Correct varname
2019-02-27 13:34:23 -06:00
Allen Byrne
64f21ec639 Correct CMake examples for a binary install 2019-02-27 11:13:54 -06:00
Allen Byrne
6e77a5800e Correct varname 2019-02-26 10:40:40 -06:00
Quincey Koziol
d0329ea063 Merge pull request #1580 in HDFFV/hdf5 from update_vol_callbacks to develop
* commit 'd6663b95ac7e9e378b24bd721ea4403ca98d4adf':
  Revise "management" VOL callbacks into 'info' and object 'wrap / retrieval' classes.
2019-02-25 10:02:08 -06:00
Quincey Koziol
d6663b95ac Revise "management" VOL callbacks into 'info' and object 'wrap / retrieval'
classes.
2019-02-23 17:02:29 -06:00
Jordan Henderson
7e792d7795 Merge pull request #1571 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '8a4371f69ae07619fa9561431b9ee9df9d5b3e47':
  Minor fix in h5str_sprintf for NULL region references
2019-02-22 08:39:30 -06:00
Jordan Henderson
8a4371f69a Minor fix in h5str_sprintf for NULL region references 2019-02-21 22:39:57 -06:00
Jerome Soumagne
342cad2a3d Merge pull request #1569 in HDFFV/hdf5 from ~JSOUMAGNE/hdf5:topic_threadsafe to develop
* commit 'bcf5c400c06bf06820b25c37eceaa97245f15f1f':
  Fix CMake H5_HAVE_THREADSAFE to set value in H5pubconf.h
2019-02-21 18:18:39 -06:00
Jerome Soumagne
bcf5c400c0 Fix CMake H5_HAVE_THREADSAFE to set value in H5pubconf.h
Add REQUIRED to find_package(Threads)

Link against thread library if static and not WIN32 platform
2019-02-21 16:39:37 -06:00
Dana Robinson
065d63b4a4 Merge pull request #1466 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:c_stdlib_posix_call_cleanup to develop
* commit '32ea4e72f1e85e0e7ff6457aae0bd210e56d1cad':
  C and POSIX call cleanup
2019-02-20 15:41:02 -06:00
Dana Robinson
32ea4e72f1 Merge branch 'develop' into c_stdlib_posix_call_cleanup 2019-02-19 14:49:20 -08:00
Allen Byrne
b901552b1c Merge pull request #1559 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6d07eb126e63b025199a5fe68f41a42269b5921b':
  Update standard check
  Fix typo
  HDFFV-10703 Update version match logic
  HDFFV-10703 revert pre-3.11 option
  HDFFV-10703 macro vars need quotes
  HDFFV-10703 Update CMake commands to latest standard
  Use correct variable name
2019-02-18 11:02:42 -06:00
Allen Byrne
6d07eb126e Update standard check 2019-02-17 13:56:54 -06:00
Allen Byrne
a27d1b909d Fix typo 2019-02-17 11:17:19 -06:00
Allen Byrne
67bc117efe Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5ad3891d9b861593ebe25d540bed2d913eb83aba':
  Remove ' ' (typo).
  Code improvement
  Removed an extra "using" statement
  Adding documentation
  More changes to align with incoming selection improvements.
  Added C++ wrapper for H5Ovisit2
  Adding a C++ wrapper
2019-02-17 09:42:00 -06:00
Larry Knox
5ad3891d9b Merge pull request #1558 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'f69e11efa827521231813496a1ca1243dd0e1cba':
  Remove ' ' (typo).
2019-02-16 20:01:26 -06:00
Larry Knox
f69e11efa8 Remove ' ' (typo). 2019-02-16 19:02:44 -06:00
Binh-Minh Ribler
a9283319a9 Merge pull request #1547 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp5:develop to develop
C++ wrapper for H5Ovisit2

* commit '6c212353c45ef84b5c977c6019e4d72263534aea':
  Code improvement
  Removed an extra "using" statement
  Adding documentation
  Added C++ wrapper for H5Ovisit2
  Adding a C++ wrapper
2019-02-16 07:47:46 -06:00
Binh-Minh Ribler
6c212353c4 Code improvement
Description:
    Removed dead code and accidentally leftover code
Platforms tested:
    Linux/64 (jelly) - very minor
2019-02-16 00:47:47 -06:00
Allen Byrne
d16c4f59c2 HDFFV-10703 Update version match logic 2019-02-15 16:40:13 -06:00
Allen Byrne
0116375ed2 HDFFV-10703 revert pre-3.11 option 2019-02-15 16:22:31 -06:00
Allen Byrne
58e6e3e102 HDFFV-10703 macro vars need quotes 2019-02-15 16:04:06 -06:00
Allen Byrne
122b63a5a2 HDFFV-10703 Update CMake commands to latest standard 2019-02-15 15:48:24 -06:00
Quincey Koziol
e1046db0e6 Merge pull request #1548 in HDFFV/hdf5 from merge_hyperslab_updates_04 to develop
* commit '320eaf91b9adb36bb0fed9264d460e4a808200b7':
  More changes to align with incoming selection improvements.
2019-02-15 14:12:16 -06:00
Binh-Minh Ribler
f2f890fd82 Removed an extra "using" statement 2019-02-14 19:40:10 -06:00
Binh-Minh Ribler
dcf93b3ec5 Adding documentation
Description
    Added detail about the argument "fields" of H5Object::visit.
2019-02-14 19:27:02 -06:00
Quincey Koziol
320eaf91b9 More changes to align with incoming selection improvements. 2019-02-14 16:20:32 -06:00
Binh-Minh Ribler
268128e520 Added C++ wrapper for H5Ovisit2 2019-02-14 15:47:24 -06:00
Allen Byrne
6ea0dafa41 Use correct variable name 2019-02-14 15:47:02 -06:00
Binh-Minh Ribler
61abf991a1 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp5 into develop 2019-02-14 15:37:41 -06:00
Binh-Minh Ribler
4a4ec03dfd Adding a C++ wrapper
Description:
    - Added a wrapper for H5Ovisit2 to class H5Object
        // 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);
    - Fixed various typos in documentation
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-02-14 15:35:04 -06:00
Allen Byrne
81687043d4 Merge pull request #1544 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b5a4f470cdf7113c0691cca6fb201672c4e1d86d':
  Use STREQUAL
  Add command to build options and check defines
  Skip testing of cache_image test
  CMake if statement correction
2019-02-14 15:28:31 -06:00
Allen Byrne
b5a4f470cd Use STREQUAL 2019-02-14 15:28:02 -06:00
Allen Byrne
d676456b54 Add command to build options and check defines 2019-02-14 15:03:05 -06:00
Allen Byrne
35e9128c7e Skip testing of cache_image test 2019-02-14 12:52:01 -06:00
Allen Byrne
2268685c08 CMake if statement correction 2019-02-14 11:20:17 -06:00
Quincey Koziol
10cdff5ca4 Merge pull request #1540 in HDFFV/hdf5 from merge_hyperslab_changes_01 to develop
* commit 'fb5d1a37c11bca613175a48262a2147e99c9dede':
  Align develop with incoming hyperslab_updates branch changes.
2019-02-13 18:13:18 -06:00
Allen Byrne
40589e28d8 Merge pull request #1542 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b95f05638ce40ccd944248f5865a248f39ef0d10':
  TRILAB-111 fixes for parallel testing
2019-02-13 17:05:25 -06:00
Allen Byrne
b95f05638c TRILAB-111 fixes for parallel testing 2019-02-13 15:53:59 -06:00
Quincey Koziol
fb5d1a37c1 Merge remote-tracking branch 'origin/develop' into merge_hyperslab_changes_01 2019-02-13 10:27:33 -06:00
Larry Knox
50b85e0330 Merge pull request #1539 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '3ed1ac0f1b760fe84ec009de19550d98f0b38071':
  Add missing toolchain include for cross-compile
  KNL option for batch scripts
2019-02-13 09:31:53 -06:00
Allen Byrne
3ed1ac0f1b Add missing toolchain include for cross-compile 2019-02-13 08:24:27 -06:00
Quincey Koziol
b5305b25a6 Align develop with incoming hyperslab_updates branch changes. 2019-02-12 21:51:15 -06:00
Allen Byrne
8c22f41801 KNL option for batch scripts 2019-02-12 15:51:42 -06:00
Jordan Henderson
112b813196 Merge pull request #1534 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '3acd486b83f319579b1c6884c90289b0eb1d44a6':
  Fixes for JNI updates
2019-02-12 13:42:15 -06:00
Jordan Henderson
3acd486b83 Fixes for JNI updates 2019-02-12 11:56:42 -06:00
Jordan Henderson
8f42566f7a Merge pull request #1523 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '8f447bd3564a88738b9a26b1b0ac3bba785efd39':
  Add RELEASE.txt note for collective metadata read fixes
  Fix some collective metadata read issues
2019-02-11 22:24:06 -06:00
Jordan Henderson
8f447bd356 Add RELEASE.txt note for collective metadata read fixes 2019-02-11 19:15:56 -06:00
Jordan Henderson
34508f0620 Merge in latest from develop 2019-02-11 19:13:39 -06:00
Jordan Henderson
65a820ae89 Fix some collective metadata read issues 2019-02-11 18:31:23 -06:00
Allen Byrne
fa83ab9f7c Merge pull request #1533 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6f71b2cdcf3326b1d7bc67cf664b56d2f4056bfd':
  Refactor mpi test names
2019-02-11 12:47:02 -06:00
Allen Byrne
6f71b2cdcf Refactor mpi test names 2019-02-11 12:42:46 -06:00
Larry Knox
e2b6e72e7c Merge pull request #1530 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'edcbc9966f5c742970ad32eb50a7925fcf7ab677':
  Refactor parallel test names
  Rename parallel tests to start with PAR_
  Distinguish parallel performance tests
  Set the full generator name
  Add new cmake copy file tests to ignore
  Use correct values for other file versions
  CMake script changes to simplify execution
2019-02-11 12:05:24 -06:00
Allen Byrne
edcbc9966f Refactor parallel test names 2019-02-11 12:01:25 -06:00
Allen Byrne
f8d5add80b Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'a3a90e79afda2351f16181ec3592b96caceffbe1':
  Re-write of Java JNI error handling
2019-02-11 11:11:05 -06:00
Allen Byrne
d98faf5703 Rename parallel tests to start with PAR_ 2019-02-11 11:09:43 -06:00
Allen Byrne
a3a90e79af Merge pull request #1532 in HDFFV/hdf5 from ~JHENDERSON/hdf5_merge:develop to develop
* commit 'cc6a61215e508d047ed6aa2daf67475cfe34ee4d':
  Re-write of Java JNI error handling
2019-02-11 11:07:01 -06:00
Jordan Henderson
cc6a61215e Re-write of Java JNI error handling 2019-02-11 10:58:58 -06:00
Allen Byrne
f7bab665bb Distinguish parallel performance tests 2019-02-11 10:53:13 -06:00
Allen Byrne
691b92ff9c Set the full generator name 2019-02-11 10:09:32 -06:00
Allen Byrne
742894ce88 Add new cmake copy file tests to ignore 2019-02-11 08:56:14 -06:00
Allen Byrne
648a21473f Use correct values for other file versions 2019-02-08 21:38:39 -06:00
Allen Byrne
d0be2f5840 CMake script changes to simplify execution 2019-02-08 10:48:49 -06:00
Quincey Koziol
4300ca6234 Merge pull request #1528 in HDFFV/hdf5 from add_id_type_to_vol_wrap_cb to develop
* commit '163dcebec5d853b720dcb64b5e9828670b963773':
  Add ID type (of eventual hid_t) to the VOL "wrap" callback.
2019-02-07 16:20:26 -06:00
Jordan Henderson
0d1d61951f Merge pull request #1527 in HDFFV/hdf5 from ~JHENDERSON/hdf5_merge:develop to develop
* commit '28b9af4f28df6c0e4f7fbf1ce4a0f50e1797b4d3':
  Fix test issue in testpar/t_dset.c with MPI-2 implementations
2019-02-07 15:11:58 -06:00
Jordan Henderson
28b9af4f28 Fix test issue in testpar/t_dset.c with MPI-2 implementations 2019-02-07 14:31:32 -06:00
Quincey Koziol
163dcebec5 Add ID type (of eventual hid_t) to the VOL "wrap" callback. 2019-02-07 14:31:26 -06:00
Allen Byrne
865e35ea01 Merge pull request #1524 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '36e3d1600a3f9d771cfb9b4475f23c57d4b10280':
  Refactor out timeout values
  Correct name of variable
  Remove F2003 Option and references
  Remove obsolete file
  Update examples version
  Update to example reference version
  Switch OFF if compression source is not available
  Fail configure if SZIP/ZLIB is requested but not found
2019-02-07 12:07:26 -06:00
Allen Byrne
36e3d1600a Refactor out timeout values 2019-02-06 16:41:58 -06:00
Allen Byrne
5ba4266a04 Correct name of variable 2019-02-06 11:02:16 -06:00
Vailin Choi
c7977ec2f8 Merge pull request #1522 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
* commit '7f5741825db0737db5ac46c43009681508a73002':
  Add release notes information.
  Modification based on feedback from pull request.
  Modification based on feedback from pull request.
  There is performance issue when closing an object.  The slow down is due to the search of the "tag_list" to find out the "corked" status of an object. The fix: (1)  Add a counter "num_objs_corked" in the cache structure to track the number of "corked" objects. (2) Skip the search of "tag_list" if the counter is zero i.e. no "corked" objects.
2019-02-06 10:49:51 -06:00
Vailin Choi
7f5741825d Add release notes information. 2019-02-06 10:48:30 -06:00
Allen Byrne
e73197077b Remove F2003 Option and references 2019-02-06 10:10:46 -06:00
Allen Byrne
3ebfd7edd4 Remove obsolete file 2019-02-06 08:45:59 -06:00
Allen Byrne
a476f5348e Update examples version 2019-02-06 08:38:55 -06:00
Allen Byrne
ee9771425f Update to example reference version 2019-02-06 08:37:11 -06:00
Vailin Choi
7d124cb796 Modification based on feedback from pull request. 2019-02-05 18:13:11 -06:00
Vailin Choi
e272e64e74 Modification based on feedback from pull request. 2019-02-05 17:04:04 -06:00
Allen Byrne
abd74c8310 Switch OFF if compression source is not available 2019-02-05 15:44:38 -06:00
Allen Byrne
18e875f75f Fail configure if SZIP/ZLIB is requested but not found 2019-02-05 15:25:30 -06:00
Vailin Choi
34f028070e Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~vchoi/my_hdf5_fork into develop 2019-02-04 22:51:57 -06:00
Vailin Choi
7f718e9ea2 There is performance issue when closing an object. The slow down is due to the search of
the "tag_list" to find out the "corked" status of an object.
The fix:
(1)  Add a counter "num_objs_corked" in the cache structure to track the number
of "corked" objects.
(2) Skip the search of "tag_list" if the counter is zero i.e. no "corked" objects.
2019-02-04 22:30:48 -06:00
Dana Robinson
c7d04ee3af Merge pull request #1520 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:cmake_tweaks to develop
* commit '91c7ff81dcac1af7a7b609698aa69f0c213a6184':
  Added a line for the CMake pread/write option to INSTALL_CMake.txt.
2019-02-04 12:43:25 -06:00
Dana Robinson
91c7ff81dc Added a line for the CMake pread/write option to INSTALL_CMake.txt. 2019-02-04 10:11:59 -08:00
Larry Knox
08001e2f3f Merge pull request #1518 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '6c2a4b728f3c8eadb18d4e10d41bdbd7d1c8f3e8':
  Add LOCAL_BATCH_SCRIPT_ARG variable for submitting account information and other batch command variations with ctest command.
  Add batchscript options that work when running ctest directly.
2019-02-04 08:48:55 -06:00
Larry Knox
6c2a4b728f Add LOCAL_BATCH_SCRIPT_ARG variable for submitting account information
and other batch command variations with ctest command.
2019-02-04 08:46:57 -06:00
Larry Knox
d2624dae03 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2019-02-03 21:34:25 -06:00
Larry Knox
dddc940bdf Add batchscript options that work when running ctest directly. 2019-02-03 21:33:16 -06:00
Larry Knox
30df67700c Merge pull request #1517 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'c348d453b583ec9092152e6aef1f7fa9854cf5d9':
  Correct H5DIFF to PH5DIFF in *ctestS.sl.in.cmake list of parallel tests reserved for *ctestP.sl.cmake. Revise options to run batch tests and alternative options for cross compile in HPC/*-HDF5options.cmake.
  Change examples file to zip for CMake zip file.
  Update bin/release for filename changes and HPC-CMake tar file corrections.
  Add new files to MANIFEST. Update permissions for raybsub to 755.
2019-02-02 22:45:55 -06:00
Larry Knox
c348d453b5 Correct H5DIFF to PH5DIFF in *ctestS.sl.in.cmake list of parallel tests
reserved for *ctestP.sl.cmake.
Revise options to run batch tests and alternative options for cross
compile in HPC/*-HDF5options.cmake.
2019-02-02 08:02:48 -06:00
Dana Robinson
2d4f58adf0 Merge pull request #1515 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:pread_vfd_squash to develop
* commit '055208b71c573be3d4b1047b840d4d8b255bc25e':
  Minor tweak to CMake preadwrite entry.
  Updated sec2, log, and core VFDs to use pread/pwrite when available (can be controlled via a configure/CMake option)
2019-02-01 16:01:22 -06:00
Dana Robinson
055208b71c Minor tweak to CMake preadwrite entry. 2019-02-01 13:23:54 -08:00
Dana Robinson
f90e5bdc62 Merge pull request #1516 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:valgrind_fixes to develop
* commit '5f1f231310bcb3278f11a51e1ea47782f6ee3235':
  Updated H5Dio.c comment.
  Fixed a valgrind issue with the unprotect log message. The logging call was placed after the point where the cache entry was freed. The fix was to just use the entry's address directly in the log call instead of the entry itself.
  Fixed a bug revealed by the dtransform test. A datatype transform buffer needed to be calloc'd.
2019-02-01 15:14:15 -06:00
Dana Robinson
5f1f231310 Updated H5Dio.c comment. 2019-02-01 13:12:39 -08:00
Larry Knox
cc7ce0eb8b Change examples file to zip for CMake zip file. 2019-02-01 12:19:28 -06:00
Larry Knox
eb84f922c8 Update bin/release for filename changes and HPC-CMake tar file
corrections.
2019-02-01 10:21:53 -06:00
Larry Knox
5352bf4971 Add new files to MANIFEST.
Update permissions for raybsub to 755.
2019-02-01 08:57:52 -06:00
Larry Knox
b0e202a206 Merge pull request #1508 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'bae744199b69eb7c3f5eda2441cca30cb8c6175f':
  Add more specific batch scripts. Add script raybsub to handle submitting .lsf files on ray with bsub < script.lsf syntax that we couldn't handle with CMake. Add hpc-cmake-tgz option for bin/release.
  Account info can be submitted as an argument to run the batch scripts. Special versions for sandia are not needed.
  Add HDF5options.cmake files for serial and parallel tests on HPC machines (where tests are to be run as batch jobs. Add README_HPC file with instructions for setting up configuration to use batch scripts for running tests on HPC machines and some pointers for cross compiling.
  Remove knl configuration from ctestS.sl.in.cmake. Add sandia batch files with account info.
  Add batch files with batch parameters specific to cori and ray. Release.txt entry for skipping long double dt_arith tests on ppc64.
2019-01-31 14:31:38 -06:00
Larry Knox
bae744199b Add more specific batch scripts.
Add script raybsub to handle submitting .lsf files on ray with bsub <
script.lsf syntax that we couldn't handle with CMake.
Add hpc-cmake-tgz option for bin/release.
2019-01-31 14:22:52 -06:00
Dana Robinson
99d70c494d Fixed a valgrind issue with the unprotect log message. The logging
call was placed after the point where the cache entry was freed.
The fix was to just use the entry's address directly in the log
call instead of the entry itself.
2019-01-31 00:14:11 -08:00
Dana Robinson
90bf59edc5 Fixed a bug revealed by the dtransform test. A datatype transform
buffer needed to be calloc'd.
2019-01-30 23:45:32 -08:00
Dana Robinson
f833001e39 Updated sec2, log, and core VFDs to use pread/pwrite when
available (can be controlled via a configure/CMake option)
2019-01-30 17:32:40 -08:00
Neil Fortner
b561c2fce8 Merge pull request #1513 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit '261c22e0459f63fd81c8942992ffe3668969f0cd':
  Add RELEASE.txt note for unknown message fix (pull request 1448)
2019-01-30 16:49:34 -06:00
Neil Fortner
261c22e045 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~nfortne2/hdf5_naf into develop 2019-01-30 16:48:12 -06:00
Neil Fortner
773c35a664 Add RELEASE.txt note for unknown message fix (pull request 1448) 2019-01-30 16:47:47 -06:00
Larry Knox
252beb50b6 Account info can be submitted as an argument to run the batch scripts.
Special versions for sandia are not needed.
2019-01-28 12:52:14 -06:00
Larry Knox
0ef4c812c7 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2019-01-28 12:51:12 -06:00
Larry Knox
277f57d371 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '9149d5a5352de4e0b9a2e57c91525a6cad767760':
  Revert build name setting
2019-01-28 12:49:00 -06:00
Larry Knox
64114e331a Add HDF5options.cmake files for serial and parallel tests on HPC
machines (where tests are to be run as batch jobs.
Add README_HPC file with instructions for setting up configuration
to use batch scripts for running tests on HPC machines and some
pointers for cross compiling.
2019-01-28 12:43:35 -06:00
Allen Byrne
9149d5a535 Merge pull request #1504 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f26ee27b1fd85d192b37d9e45fb6d20f1b7e23db':
  Revert build name setting
2019-01-28 08:24:16 -06:00
Larry Knox
cee36ca40d Remove knl configuration from ctestS.sl.in.cmake.
Add sandia batch files with account info.
2019-01-27 17:55:44 -06:00
Allen Byrne
f26ee27b1f Revert build name setting 2019-01-27 16:55:39 -06:00
Larry Knox
11e74daddd Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2019-01-26 16:46:31 -06:00
Larry Knox
b91cb20c69 Add batch files with batch parameters specific to cori and ray.
Release.txt entry for skipping long double dt_arith tests on ppc64.
2019-01-26 16:44:09 -06:00
Binh-Minh Ribler
7447f636a4 Merge pull request #1503 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_fixbug:develop to develop
Added test file for CMake

* commit '55d1931dc6af168adc3804586a0da22287b29187':
  Added test file for CMake
2019-01-26 12:39:15 -06:00
Binh-Minh Ribler
55d1931dc6 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_fixbug into develop 2019-01-26 11:59:45 -06:00
Binh-Minh Ribler
f522479035 Added test file for CMake 2019-01-26 11:58:52 -06:00
Allen Byrne
adc9b8b27a Merge pull request #1499 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ad906dc708fc803e8c5f17963fafa63591d3cc8d':
  Invalid position of declaration fixed.
  Fix CMake on Windows
2019-01-26 09:48:40 -06:00
Allen Byrne
ad906dc708 Invalid position of declaration fixed. 2019-01-25 15:21:11 -06:00
Dana Robinson
dfaf51fda4 Merge pull request #1500 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:valgrind_fixes to develop
* commit '3fac85c00d6253f7b2c96ca46c7b9718d0203029':
  Fixed a bug identified by valgrind in the cork test.
2019-01-25 12:47:02 -06:00
Dana Robinson
3fac85c00d Fixed a bug identified by valgrind in the cork test. 2019-01-25 09:58:50 -08:00
Allen Byrne
822caec907 Fix CMake on Windows 2019-01-25 11:36:46 -06:00
Binh-Minh Ribler
395cfc9f1b Merge pull request #1498 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_fixbug:develop to develop
* commit '0247f7b78d056b04fa08f74a2d4c4eea37f48d22':
  Added data file for test and updated MANIFEST
2019-01-25 10:47:03 -06:00
Allen Byrne
8f1d895d17 Merge pull request #1496 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '73fcbbee97c6385fb2b5009e5858ae1d6c28b3c3':
  CMake fix
  Java html fix and cmake update
  Update CMake
2019-01-25 08:40:47 -06:00
Allen Byrne
73fcbbee97 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '2fe69e7639198b174da393e47a029d0ac35b31c8':
  Added test for HDFFV-10588
  Fixed HDFFV-10684
  Fixed HDFFV-10586 and HDFFV-10588 Description:     HDFFV-10586 CVE-2018-17434  Divide by zero inh5repack_filters         Added a check for zero value     HDFFV-10588 CVE-2018-17437  Memory leak in H5O_dtype_decode_helper         This is actually an Invalid read issue.  It was found that the         attribute name length in an attribute message was corrupted,         which caused the buffer pointer to be advanced too far and later         caused an invalid read.         Added a check to detect attribute name and its length mismatch.  The         fix is not perfect, but it'll reduce the chance of this issue when a         name length is corrupted or the attribute name is corrupted. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
2019-01-25 08:28:53 -06:00
Binh-Minh Ribler
0247f7b78d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_fixbug into develop 2019-01-25 00:20:28 -06:00
Binh-Minh Ribler
51e0107d18 Added data file for test and updated MANIFEST 2019-01-25 00:19:16 -06:00
Binh-Minh Ribler
2fe69e7639 Merge pull request #1479 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_fixbug:develop to develop
HDFFV-10586 and HDFFV-10588

* commit '25cd1ab02b9ddaf58a4f5422f4ab4fde411e050a':
  Added test for HDFFV-10588
  Fixed HDFFV-10684
  Fixed HDFFV-10586 and HDFFV-10588 Description:     HDFFV-10586 CVE-2018-17434  Divide by zero inh5repack_filters         Added a check for zero value     HDFFV-10588 CVE-2018-17437  Memory leak in H5O_dtype_decode_helper         This is actually an Invalid read issue.  It was found that the         attribute name length in an attribute message was corrupted,         which caused the buffer pointer to be advanced too far and later         caused an invalid read.         Added a check to detect attribute name and its length mismatch.  The         fix is not perfect, but it'll reduce the chance of this issue when a         name length is corrupted or the attribute name is corrupted. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
2019-01-24 17:07:57 -06:00
Allen Byrne
37f5c682b6 CMake fix 2019-01-24 16:36:47 -06:00
Allen Byrne
62277207a4 Java html fix and cmake update 2019-01-24 15:56:42 -06:00
Binh-Minh Ribler
25cd1ab02b Added test for HDFFV-10588
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2019-01-24 09:42:19 -06:00
Allen Byrne
41010b8d1e Update CMake 2019-01-23 17:25:41 -06:00
Allen Byrne
f0e2fc6c62 Merge pull request #1491 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f033214796c383a9018dd760e92257dc27d7b852':
  Add clear objects to ignore tests
  Add clear objects to ignore tests
  Add new clear tests to ignore list
  Cleanup variable names
  HDFFV-10685 Correct syntax
  HDFFV-10685 Corrected version
  HDFFV-10685 Always set Mac version flags - use soversion
2019-01-22 16:59:50 -06:00
Allen Byrne
f033214796 Add clear objects to ignore tests 2019-01-22 16:30:37 -06:00
Allen Byrne
182e5f7556 Add clear objects to ignore tests 2019-01-22 16:26:43 -06:00
Allen Byrne
036a8e4fe1 Add new clear tests to ignore list 2019-01-22 16:18:22 -06:00
Allen Byrne
cdf9cb0efb Cleanup variable names 2019-01-22 15:38:32 -06:00
Allen Byrne
91249b9ad5 HDFFV-10685 Correct syntax 2019-01-22 12:54:34 -06:00
Allen Byrne
ff08bed268 HDFFV-10685 Corrected version 2019-01-22 12:29:45 -06:00
Allen Byrne
ce64bf57ce HDFFV-10685 Always set Mac version flags - use soversion 2019-01-22 12:10:09 -06:00
Larry Knox
811b4bea8e Merge pull request #1489 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'e6be5560882c2f598b3a0ddab7d9d29a552fcb10':
  MPI vars need passed in, change to grepTest
2019-01-20 22:36:26 -06:00
Binh-Minh Ribler
d584b233a5 Fixed HDFFV-10684
Description:
    The test for HDFFV-10588 has revealed a bug in H5Ewalk.
    H5Ewalk did not stop midway even when the call back function returns
    H5_ITER_STOP. This is because a condition is missing from the for
    loops in H5E__walk causing the callback functions unable to stop until
    all the errors in the stack are iterated. Quincey advised on the final
    fix.  In this fix, "status" is switched to "ret_value" and HGOTO_ERROR
    to HERROR, and the for loops won't continue when "ret_value" is not 0.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2019-01-20 17:46:28 -06:00
Allen Byrne
e6be556088 MPI vars need passed in, change to grepTest 2019-01-20 16:47:50 -06:00
Allen Byrne
0c15df15e3 Merge pull request #1485 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '769837f3ae93f4cae3486aef95c1c580a9946406':
  Add parrallel runTest.cmake for ph5example
  Add missing depends to last test
  Fix CMake policy 54 warnings
  TRILABS-105 Fix CMake policy 54 warnings
2019-01-18 21:49:05 -06:00
Allen Byrne
769837f3ae Add parrallel runTest.cmake for ph5example 2019-01-18 16:30:36 -06:00
Allen Byrne
ab2ab38fa6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'eeea2b91729b57a0cdec301312bd5713941ab2c6':
  Fix typo
2019-01-18 13:33:00 -06:00
Allen Byrne
eeea2b9172 Merge pull request #1484 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '2cf543b2941442a45a4cb878d4fb33c8c69188a2':
  Fix typo
2019-01-18 13:32:18 -06:00
Allen Byrne
f5a194ce58 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'c5b19f3dd2eb4144e614105e30bf149b5324e014':
  Fix missing depends for last repart test
2019-01-18 12:57:42 -06:00
Allen Byrne
2cf543b294 Fix typo 2019-01-18 12:57:15 -06:00
Allen Byrne
c5b19f3dd2 Merge pull request #1483 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '13d1568c3f491b1dfe6254f22f04fece29b6dad2':
  Fix missing depends for last repart test
2019-01-18 12:53:49 -06:00
Allen Byrne
13d1568c3f Fix missing depends for last repart test 2019-01-18 12:27:21 -06:00
Allen Byrne
a578e36038 Add missing depends to last test 2019-01-18 12:25:38 -06:00
Allen Byrne
8adbf2552b Fix CMake policy 54 warnings 2019-01-18 12:16:38 -06:00
Allen Byrne
f25e78ad42 TRILABS-105 Fix CMake policy 54 warnings 2019-01-18 11:55:16 -06:00
Dana Robinson
f81103e89e Merge pull request #1482 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:valgrind_fixes to develop
* commit 'a4e63bb98072868a145c45e8247280ebc86c3a6d':
  Fixed a memory issue flagged by valgrind in the direct_chunk test.
2019-01-18 10:40:44 -06:00
Dana Robinson
a4e63bb980 Fixed a memory issue flagged by valgrind in the direct_chunk test. 2019-01-16 21:37:07 -08:00
Quincey Koziol
ab0fa80994 Merge pull request #1481 in HDFFV/hdf5 from reduce_cache_image_num_groups to develop
* commit '47fb7c2ee6541bb006e76c34966102ebbdaec587':
  Update usage for FAPLs, and reduce # of groups for smoke checks
2019-01-16 11:27:53 -06:00
Quincey Koziol
47fb7c2ee6 Update usage for FAPLs, and reduce # of groups for smoke checks 2019-01-16 10:36:25 -06:00
Binh-Minh Ribler
43bd93c4f5 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_fixbug into develop 2019-01-15 11:49:07 -06:00
Binh-Minh Ribler
bc3d878add Fixed HDFFV-10586 and HDFFV-10588
Description:
    HDFFV-10586 CVE-2018-17434  Divide by zero inh5repack_filters
        Added a check for zero value
    HDFFV-10588 CVE-2018-17437  Memory leak in H5O_dtype_decode_helper
        This is actually an Invalid read issue.  It was found that the
        attribute name length in an attribute message was corrupted,
        which caused the buffer pointer to be advanced too far and later
        caused an invalid read.
        Added a check to detect attribute name and its length mismatch.  The
        fix is not perfect, but it'll reduce the chance of this issue when a
        name length is corrupted or the attribute name is corrupted.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2019-01-15 11:48:31 -06:00
Allen Byrne
5fdc01ae99 Merge pull request #1476 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'fe5650727c55e44e2605b667ac35f74993834643':
  Correct fix for new policy
  Fix for new policy
2019-01-14 13:54:39 -06:00
Allen Byrne
fe5650727c Correct fix for new policy 2019-01-14 13:11:17 -06:00
Allen Byrne
a7aaf073d2 Fix for new policy 2019-01-14 12:13:03 -06:00
Quincey Koziol
703acba51f Merge pull request #1471 in HDFFV/hdf5 from fix_daily_test_on_platypus to develop
* commit '3a31d37abb1fe390d4e28502e7de3ad6da092970':
  Work around compiler fussiness on platypus.
2019-01-11 19:31:48 -06:00
Quincey Koziol
3a31d37abb Work around compiler fussiness on platypus. 2019-01-11 10:11:31 -06:00
Quincey Koziol
ef3c3970fb Merge pull request #1468 in HDFFV/hdf5 from merge_hyperslab_updates_02 to develop
* commit '4729d04d9123e8cd6b2bba071695ace7ddd2a7b5':
  Delta reduction against hyperslab_updates branch.
2019-01-11 09:58:46 -06:00
Quincey Koziol
4729d04d91 Delta reduction against hyperslab_updates branch. 2019-01-10 23:08:51 -06:00
Dana Robinson
b9c8ddbfcc Merge pull request #1465 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'b82ced10619731125b9db7b1ac36f3844463df9a':
  Fix for Fortran failures.
2019-01-10 20:39:29 -06:00
Dana Robinson
536a32c59b C and POSIX call cleanup 2019-01-10 17:51:42 -08:00
Dana Robinson
b82ced1061 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2019-01-10 19:43:43 -06:00
Dana Robinson
8522539a9e Fix for Fortran failures. 2019-01-10 19:43:17 -06:00
Quincey Koziol
0843353176 Merge pull request #1464 in HDFFV/hdf5 from vol_wrapping_apis to develop
* commit '6d897f3c10241cbc50a728870d58269d15e36984':
  Add API routines to wrap and retrieve objects
2019-01-10 18:29:26 -06:00
Quincey Koziol
6d897f3c10 Add API routines to wrap and retrieve objects 2019-01-10 18:00:13 -06:00
Allen Byrne
a7e0ef996a Merge pull request #1462 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '9b0281736ca488387afd8a301e36e6f5a5315c4a':
  Fix deprecated H5Pget_version
  Fix regex
2019-01-09 13:18:11 -06:00
Allen Byrne
9b0281736c Fix deprecated H5Pget_version 2019-01-09 12:55:31 -06:00
Allen Byrne
7b39e544c0 Fix regex 2019-01-09 12:05:40 -06:00
Scot Breitenfeld
f75d25707d Merge pull request #1461 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'b3743a44238c284dc3817652271aa1475e3c4946':
  fixed 8 byte integer issue
  fix for xlf compiler
2019-01-09 11:38:12 -06:00
M. Scot Breitenfeld
b3743a4423 fixed 8 byte integer issue 2019-01-09 11:21:56 -06:00
M. Scot Breitenfeld
8a8cb2fbb5 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2019-01-09 10:40:28 -06:00
M. Scot Breitenfeld
51d911a7f8 fix for xlf compiler 2019-01-09 10:40:18 -06:00
Dana Robinson
f41195ba8e Merge pull request #1460 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '287b5d03df03f9da5cf47f52e594f9909493d8ff':
  Fixed the MANIFEST
2019-01-09 09:47:26 -06:00
Dana Robinson
287b5d03df Fixed the MANIFEST 2019-01-09 07:22:46 -08:00
Scot Breitenfeld
3e142c802d Merge pull request #1458 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '4f9ecd71e510a3835a49073fc16d3091a7fc25b2':
  replaced uint
  fix uint
2019-01-08 23:07:30 -06:00
Scot Breitenfeld
4f9ecd71e5 replaced uint 2019-01-08 22:54:19 -06:00
Jordan Henderson
294d9c2847 Merge pull request #1455 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '2d7eb9a4c3a841f7612b88f6b559792cb6143930':
  Align behavior of H5Aget_name_by_idx with H5Aget_name when a NULL buffer is supplied
2019-01-08 20:32:46 -06:00
Binh-Minh Ribler
56b32278c4 Merge pull request #1441 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_fixbug:develop to develop
* commit '90d13bef33f9e2e80b23996a0c39f16f7c34ecf8':
  Fixed typo Platforms tested:     Darwin (osx1010test)
  Refixed HDFFV-10578 Description:     Applied Neil's fix for this issue after removing previous     attempt.  The resources are now released in init_objs() when     failure occurs there.     Neil will fix HDFFV-10676 separately. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
  Removed previous change in H5O__chunk_deserialize().
  Removed the previous change in H5O__chunk_deserialize()
  Removed previous change in table_list_add().
  Removed the previous change in table_list_add()
  Updated per review Description:     HDFFV-10676 - CVE-2018-13873         Changed the new assert to if statement, per Dana's comment. Platforms tested:     Linux/64 (jelly)
  HDFFV-10578 and HDFFV-10676 Description:     HDFFV-10578 - CVE-2018-17234         The file has some issue, however, there was a bug in h5dump that caused         memory leaks after the problem in the file was encountered. The bug         was that an if statement was missing in the function table_list_add()         resulting in the memory not being freed at a later time.         After the fix had been applied, there were no more leaks after h5dump         detected the issue in the file and reported the error.
2019-01-08 18:59:22 -06:00
Ray Lu
44a67451be Merge pull request #1450 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:TRILAB-98-dt_arith-and-cpp_testhdf5-tests to develop
* commit 'b02de315b93ac29d2483a91d526b110a25073505':
  NNSA Tri-LabsTRILAB-98: Another two test cases out.
  NNSA Tri-Labs TRILAB-98: Taking out a few more test cases.
  NNSA Tri-Labs TRILAB-98 dt_arith and cpp_testhdf5 tests fail on sierra.llnl.gov: According to the group decision, simply provide a macro to disable some failing test cases on sierra (IBM power9 cpu).  All failing cases involve long double data type.
2019-01-08 17:59:03 -06:00
M. Scot Breitenfeld
69edf8522c Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2019-01-08 17:31:32 -06:00
M. Scot Breitenfeld
9ea06b2e58 fix uint 2019-01-08 17:31:20 -06:00
Scot Breitenfeld
d3b107d1a4 Merge pull request #1456 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit 'fb5d83e146679f4d0ca16cf54b410f04a262451e':
  Updated Fortran Bug and new features
2019-01-08 17:03:06 -06:00
M. Scot Breitenfeld
fb5d83e146 Updated Fortran Bug and new features 2019-01-08 16:23:55 -06:00
Jordan Henderson
2d7eb9a4c3 Align behavior of H5Aget_name_by_idx with H5Aget_name when a NULL buffer is supplied 2019-01-08 15:52:30 -06:00
Allen Byrne
3f727a272c Merge pull request #1454 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b88df58cc952563c35107daa1b8ced24b0cc03b5':
  Add missing define created in configure.ac
  Correct regex option
2019-01-08 14:59:29 -06:00
Allen Byrne
b88df58cc9 Add missing define created in configure.ac 2019-01-08 14:31:46 -06:00
Songyu Lu
b02de315b9 NNSA Tri-LabsTRILAB-98: Another two test cases out. 2019-01-08 14:31:41 -06:00
Allen Byrne
25f272b4cb Correct regex option 2019-01-08 13:25:11 -06:00
Songyu Lu
2efc28cf63 NNSA Tri-Labs TRILAB-98: Taking out a few more test cases. 2019-01-08 12:45:01 -06:00
Jordan Henderson
206da2919d Merge pull request #1452 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '805b64685371982e9c7fd693497865197990cbd6':
  Fix for parallel filters tests with new read-proc0-broadcast feature
2019-01-08 11:32:42 -06:00
Scot Breitenfeld
9b6fe52bcf Merge pull request #1409 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:J10443 to develop
* commit 'b4d4d371a03158c39f120b1bde6c4bd51f1b2eb6':
  HDFFV-10443: Add "field" parameter to H5Oinfo* and H5Ovisit* APIs.
  Added chunked dataset, H5S_ALL test
  typo
  typo
  updated defined constants
  Documented HDFFV-10652
  HDFFV-10652 Implemented a process-0 read and then broadcast for collective read of full datasets (H5S_ALL) by all the processes in the file communicator.
  Removed reason for breaking read-proc0-and-bcast
  switched to using CX instead of a global var.
  HDFFV-10652 Implemented a process-0 read and then broadcast for collective read of full datasets (H5S_ALL) by all the processes in the file communicator.
2019-01-08 11:29:48 -06:00
Scot Breitenfeld
b4d4d371a0 HDFFV-10443: Add "field" parameter to H5Oinfo* and H5Ovisit* APIs. 2019-01-08 11:24:00 -06:00
Neil Fortner
7e50055920 Merge pull request #1453 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
* commit '0dd2c29f284b1ec2a3c070d39805f657f44b216d':
  Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since space for it was removed.
2019-01-08 10:45:46 -06:00
Neil Fortner
0dd2c29f28 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~nfortne2/hdf5_naf into develop 2019-01-08 10:37:28 -06:00
Neil Fortner
214abbfd59 Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since
space for it was removed.
2019-01-08 10:36:34 -06:00
Dana Robinson
c8c0cf9fa2 Merge pull request #1451 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:fortran_squash to develop
* commit '905766fa3e51a470c02328a63d92182d4a8481bf':
  Fortran wrappers for dataset obj header minimization API calls.
2019-01-08 10:14:26 -06:00
M. Scot Breitenfeld
1421059cfb Merge remote-tracking branch 'upstream/develop' into develop 2019-01-08 09:55:29 -06:00
Jordan Henderson
805b646853 Fix for parallel filters tests with new read-proc0-broadcast feature 2019-01-08 09:45:35 -06:00
Dana Robinson
905766fa3e Fortran wrappers for dataset obj header minimization API calls. 2019-01-08 07:34:58 -08:00
Larry Knox
74a41f92a4 Merge pull request #1443 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'e27df5a5fe365480b0809ce523b0e9cd1096a43d':
  Add variables to set up module switch between configure and build for cross compiling on CrayXC40.
  Remove install-exec-hook from hl/fortran/Makefile.am. Add check for existing links in hl/fortran/src/Makefile.am.
  Configure build directory in batch scripts.
  Add libhdf5_hl_fortran symlinks for libhdf5hl_fortran files. Set ctest*.lsf.in.cmake scripts for sierra. Correct src/CMakelists.txt syntax error.
  Correct syntax error in CMakeLists.txt.
  Add .lsf batch scripts and insert the build directory into the scripts during configuration.
2019-01-07 21:01:06 -06:00
Larry Knox
e27df5a5fe Add variables to set up module switch between configure and build for
cross compiling on CrayXC40.
2019-01-07 20:57:18 -06:00
Binh-Minh Ribler
90d13bef33 Fixed typo
Platforms tested:
    Darwin (osx1010test)
2019-01-07 20:46:55 -06:00
Binh-Minh Ribler
78d0564c2a Refixed HDFFV-10578
Description:
    Applied Neil's fix for this issue after removing previous
    attempt.  The resources are now released in init_objs() when
    failure occurs there.
    Neil will fix HDFFV-10676 separately.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2019-01-07 20:36:34 -06:00
Songyu Lu
75c105a2a4 NNSA Tri-Labs TRILAB-98 dt_arith and cpp_testhdf5 tests fail on sierra.llnl.gov: According to the group decision, simply provide a macro to disable some failing test cases on sierra (IBM power9 cpu). All failing cases involve long double data type. 2019-01-07 20:28:37 -06:00
Neil Fortner
9c12b625fd Merge pull request #1448 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:develop to develop
Avoid potential invalid read when decoding unknown object header message.

* commit '685288beabc4f4383d69ec07be05c067fab78544':
  Delay checking if decoded message's "shareable" flag is appropriate for the message type until we've verified we understand the message type. Reduce size of H5O_msg_class_g to *not* include space for H5O_BOGUS_INVALID.  Make bogus messages shareable.  Add new bogus message test with shareable messages to cover the formerly problematic code.  Re-run gen_bogus.c to add this test case and also to fix the bogus_invalid messages that were no longer H5O_BOGUS_INVLAID due to a new message class being added in a previous commit.  Added comment to remind developers to run gen_bogus.c when adding a new message class.
2019-01-07 19:30:26 -06:00
Scot Breitenfeld
d9b1ec3ce8 Merge pull request #1439 in HDFFV/hdf5 from rank0_bcast to develop
* commit 'ab5fe769ab711f736238abc89ef215a6ecff5f7e':
  HDFFV-10625 -- Implemented a process-0 read and then broadcast for collective read of full (HS_ALL), contiguous, atomic datasets by all the processes in the file communicator.
  indent change
  changed logic statement in if
  Added chunking test, fixed issue with CX set
  Correct another git merge failure.
  Correct misplaced line from git merge.
  Updated and refined version of Scot's "rank 0 bcast" changes.
2019-01-07 17:08:33 -06:00
M. Scot Breitenfeld
ab5fe769ab Merge branch 'rank0_bcast' of ssh://bitbucket.hdfgroup.org:7999/hdffv/hdf5 into rank0_bcast 2019-01-07 16:57:39 -06:00
Quincey Koziol
fed17ed383 HDFFV-10625 -- Implemented a process-0 read and then broadcast for collective read of full (HS_ALL), contiguous, atomic datasets by all the processes in the file communicator. 2019-01-07 16:55:59 -06:00
M. Scot Breitenfeld
c9ae4fd62e indent change 2019-01-07 16:09:22 -06:00
M. Scot Breitenfeld
030cde7a20 changed logic statement in if 2019-01-07 16:09:22 -06:00
M. Scot Breitenfeld
98ed401a6c Added chunking test, fixed issue with CX set 2019-01-07 16:09:22 -06:00
Quincey Koziol
b7f660f432 Correct another git merge failure. 2019-01-07 16:09:22 -06:00
Quincey Koziol
a6fe79251b Correct misplaced line from git merge. 2019-01-07 16:09:22 -06:00
Quincey Koziol
8001a4c1c4 Updated and refined version of Scot's "rank 0 bcast" changes. 2019-01-07 16:09:22 -06:00
Neil Fortner
685288beab Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5dfe00629588a54dbfb6f2d09dfbd88177e37cc2':
  HDFFV-10674 handle time as natural number
2019-01-07 15:54:02 -06:00
Allen Byrne
5dfe006295 Merge pull request #1444 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '591205127a167b914ef5557f30aa58b2dff96a85':
  HDFFV-10674 handle time as natural number
2019-01-07 15:43:00 -06:00
Neil Fortner
b043126e5e Delay checking if decoded message's "shareable" flag is appropriate for
the message type until we've verified we understand the message type.
Reduce size of H5O_msg_class_g to *not* include space for
H5O_BOGUS_INVALID.  Make bogus messages shareable.  Add new bogus
message test with shareable messages to cover the formerly problematic
code.  Re-run gen_bogus.c to add this test case and also to fix the
bogus_invalid messages that were no longer H5O_BOGUS_INVLAID due to a
new message class being added in a previous commit.  Added comment to
remind developers to run gen_bogus.c when adding a new message class.
2019-01-07 15:40:44 -06:00
Vailin Choi
e52e68c82f Merge pull request #1445 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
* commit '982852c603c03a06ca24f219127f49616c7d42cb':
  Fix for daily test failure: too many arguments to function 'H5Gopen1'
2019-01-07 14:15:05 -06:00
Jordan Henderson
0bc3d1567b Merge pull request #1434 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit 'fe6bed2ad722578d0b701e29d22f591923d2fe9f':
  Fix TESTING_2 macro to align output with TESTING macro
2019-01-07 14:11:07 -06:00
Binh-Minh Ribler
6c7462b1a9 Removed previous change in H5O__chunk_deserialize(). 2019-01-07 14:09:30 -06:00
Jordan Henderson
fe6bed2ad7 Fix TESTING_2 macro to align output with TESTING macro
Add more indentation to TESTING_2 macro
2019-01-07 14:08:34 -06:00
Binh-Minh Ribler
c092f9167c Removed the previous change in H5O__chunk_deserialize() 2019-01-07 14:07:25 -06:00
Binh-Minh Ribler
5b721a060e Removed previous change in table_list_add(). 2019-01-07 14:03:22 -06:00
Binh-Minh Ribler
463515f7db Removed the previous change in table_list_add() 2019-01-07 14:00:56 -06:00
Vailin Choi
982852c603 Fix for daily test failure: too many arguments to function 'H5Gopen1' 2019-01-07 11:49:53 -06:00
Allen Byrne
591205127a HDFFV-10674 handle time as natural number 2019-01-07 10:39:09 -06:00
M. Scot Breitenfeld
b4828e7feb Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2019-01-07 09:49:52 -06:00
Larry Knox
61d3403d12 Remove install-exec-hook from hl/fortran/Makefile.am.
Add check for existing links in hl/fortran/src/Makefile.am.
2019-01-06 21:59:35 -06:00
Binh-Minh Ribler
820d8e34c5 Updated per review
Description:
    HDFFV-10676 - CVE-2018-13873
        Changed the new assert to if statement, per Dana's comment.
Platforms tested:
    Linux/64 (jelly)
2019-01-06 21:42:16 -06:00
Larry Knox
619b0abfd6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7bf6d847ae36940f1b1147820356795c7764dbeb':
  Remove incorrect comment.
  Updated error stacks for h5dump testing.
  Corrected comment in src/H5VLint.c, fixed pass-through info size in src/H5VLpassthru.c, switched to stashing VOL connector ID & info in API context (in src/H5CX.c, src/H5CXprivate.h, src/H5F.c, src/H5Fint.c, and src/H5Fefc.c), patched up all sorts of issues in the tests, to make them work with 'check-vfd' (and 'check-vol' again).
  Clean up style issues, make function callbacks static, correct debug statements, etc.  No functionality changes at all.
2019-01-06 17:31:51 -06:00
Quincey Koziol
7bf6d847ae Merge pull request #1440 in HDFFV/hdf5 from stackable_vol_fix_14 to develop
* commit 'f0656a57dc3baf02709e1ad5e496cf63cf820877':
  Remove incorrect comment.
  Updated error stacks for h5dump testing.
  Corrected comment in src/H5VLint.c, fixed pass-through info size in src/H5VLpassthru.c, switched to stashing VOL connector ID & info in API context (in src/H5CX.c, src/H5CXprivate.h, src/H5F.c, src/H5Fint.c, and src/H5Fefc.c), patched up all sorts of issues in the tests, to make them work with 'check-vfd' (and 'check-vol' again).
2019-01-06 16:28:06 -06:00
Dana Robinson
fdbbe61bcf Added some initial group construction code. 2019-01-06 10:17:49 -08:00
Dana Robinson
10495f34f8 Added libuuid for generating UUIDs. 2019-01-06 09:45:46 -08:00
Dana Robinson
c1f1c89f5a Updated the notes in BRANCH.md. 2019-01-06 08:57:40 -08:00
Dana Robinson
1b90939dab Added initial JSON string handling to the connector. 2019-01-06 08:43:35 -08:00
Dana Robinson
db9668da65 Added file create/open/close callbacks. These just perform the
file operations right now and don't deal with JSON streams.
2019-01-06 08:22:31 -08:00
Dana Robinson
1a95b844f2 * Checked in a correction to Makefile.am
* Added a BRANCH.md file
* Added Jansson configuration support
2019-01-06 07:09:43 -08:00
Dana Robinson
25a8e2e680 Added the JSON VOL connector plugin framework and a test to
ensure that the plugin can be loaded.
2019-01-06 06:48:41 -08:00
Quincey Koziol
ca1c9cff1a Merge pull request #1438 in HDFFV/hdf5 from mpio_vfd_neaten to develop
* commit '8a5d2c130a93a665933cda8db8554d006b7ca093':
  Clean up style issues, make function callbacks static, correct debug statements, etc.  No functionality changes at all.
2019-01-06 01:55:26 -06:00
Quincey Koziol
f0656a57dc Remove incorrect comment. 2019-01-06 01:49:02 -06:00
Binh-Minh Ribler
aa62951a5f Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_fixbug into develop 2019-01-06 01:45:15 -06:00
Binh-Minh Ribler
e1b59919bb HDFFV-10578 and HDFFV-10676
Description:
    HDFFV-10578 - CVE-2018-17234
        The file has some issue, however, there was a bug in h5dump that caused
        memory leaks after the problem in the file was encountered. The bug
        was that an if statement was missing in the function table_list_add()
        resulting in the memory not being freed at a later time.
        After the fix had been applied, there were no more leaks after h5dump
        detected the issue in the file and reported the error.

        In H5O__chunk_deserialize, replaced an assert with an if statement
        and reporting error, per Neil's recommendation

    HDFFV-10676 - CVE-2018-13873
        Also in H5O__chunk_deserialize, added an assertion to detect
        out of bound ids
2019-01-06 01:44:40 -06:00
Quincey Koziol
8ecd9cc1a1 Updated error stacks for h5dump testing. 2019-01-05 23:41:43 -06:00
Quincey Koziol
92300f954f Corrected comment in src/H5VLint.c, fixed pass-through info size in
src/H5VLpassthru.c, switched to stashing VOL connector ID & info in
API context (in src/H5CX.c, src/H5CXprivate.h, src/H5F.c, src/H5Fint.c, and
src/H5Fefc.c), patched up all sorts of issues in the tests, to make them work
with 'check-vfd' (and 'check-vol' again).
2019-01-05 23:06:45 -06:00
Quincey Koziol
8a5d2c130a Clean up style issues, make function callbacks static, correct debug statements,
etc.  No functionality changes at all.
2019-01-05 17:13:40 -06:00
Larry Knox
3be0fbd817 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2019-01-05 07:50:15 -06:00
Larry Knox
25fe692c5c Configure build directory in batch scripts. 2019-01-05 07:49:19 -06:00
Larry Knox
cceb9f06b8 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '0e34f0feaaeb6d2286f87f695f25fae45c070a42': (26 commits)
  HDFFV-10664 update reference file
  HDFFV-10664 update reference files
  HDFFV-10664 add missing function and check for restriction
  Remove "bad" statements at end of TEST_ERROR.     Formerly arguments to FAIL_PUTS_ERROR
  Add RELEASE.txt entry for HDFFV-10596.
  Add semicolon at end of TEST_ERROR() invocation for consistency.
  Uninstall should remove the libhdf5_hl_fortran links.
  Add symlinks named libhdf5_hl_fortran* to libhdf5hl_fortran in Makefile.am to match cmake install and the name pattern for other hl lib files.
  Change FAIL_PUTS_ERROR to TEST_ERROR.
  Cleaned up the parallel flush test and set t_pflush1 to always fail. Also set CMake to handle this.
  Update calls: H5Dcreate to H5Dcreate2, H5Acreate to H5Acreate2.
  Removed a comment.
  Fix comment
  Align H5Lcreate_ud behavior with documentation for NULL udata pointer
  Update toolchain comment
  Use c99 standard cmake variable
  Add PGI toolchain
  Correction based on code review.
  HDFFV-10664 add check for state before set call
  HDFFV-10546 refactor variable name
  ...
2019-01-05 07:41:12 -06:00
Larry Knox
0e34f0feaa Merge pull request #1433 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '564565b15ed38d78cb7b29b8c9d9b322d224ab42':
  HDFFV-10664 update reference file
  HDFFV-10664 update reference files
  HDFFV-10664 add missing function and check for restriction
2019-01-04 14:31:51 -06:00
Jordan Henderson
b0feaecdb9 Merge pull request #1425 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '659dd9bccf69f32bfdd01dc49410116ec5c1b0bb':
  Align H5Lcreate_ud behavior with documentation for NULL udata pointer
2019-01-04 14:06:10 -06:00
Allen Byrne
564565b15e HDFFV-10664 update reference file 2019-01-04 13:29:22 -06:00
Allen Byrne
e07fb46bdc HDFFV-10664 update reference files 2019-01-04 13:29:01 -06:00
Larry Knox
8887c357ee Merge pull request #1429 in HDFFV/hdf5 from HDFFV-10596-fortran-library-names-differ to develop
* commit 'f4c9ec5d41aa53829617274d3286f1e9a45ae57e':
  Add RELEASE.txt entry for HDFFV-10596.
  Uninstall should remove the libhdf5_hl_fortran links.
  Add symlinks named libhdf5_hl_fortran* to libhdf5hl_fortran in Makefile.am to match cmake install and the name pattern for other hl lib files.
2019-01-04 13:04:41 -06:00
Larry Knox
f4c9ec5d41 Merge remote-tracking branch 'origin/develop' into HDFFV-10596-fortran-library-names-differ 2019-01-04 13:02:27 -06:00
Allen Byrne
28d5d987b5 HDFFV-10664 add missing function and check for restriction 2019-01-04 12:52:37 -06:00
jake.smith
46bf1647d4 Merge pull request #1430 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize to develop
* commit 'f7115c31363e80e850c0a228e63a5a035c48b74a':
  Remove "bad" statements at end of TEST_ERROR.     Formerly arguments to FAIL_PUTS_ERROR
  Add semicolon at end of TEST_ERROR() invocation for consistency.
2019-01-04 11:46:54 -06:00
Jacob Smith
f7115c3136 Remove "bad" statements at end of TEST_ERROR.
Formerly arguments to FAIL_PUTS_ERROR
2019-01-04 11:28:39 -06:00
Dana Robinson
f012602d3a Merge pull request #1428 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:openmpi_tweaks to develop
* commit 'd59aa1d75cb6d0ae4f5964d017e275aa53394eb6':
  Cleaned up the parallel flush test and set t_pflush1 to always fail. Also set CMake to handle this.
2019-01-04 10:35:22 -06:00
Larry Knox
482d95c8f9 Add RELEASE.txt entry for HDFFV-10596. 2019-01-04 09:34:18 -06:00
Jacob Smith
a0c6e622e4 Add semicolon at end of TEST_ERROR() invocation for consistency. 2019-01-04 09:07:55 -06:00
Larry Knox
cc0421291e Uninstall should remove the libhdf5_hl_fortran links. 2019-01-04 08:50:10 -06:00
Larry Knox
30abf02de2 Add symlinks named libhdf5_hl_fortran* to libhdf5hl_fortran in
Makefile.am to match cmake install and the name pattern for other hl lib
files.

Add missing ';' to test/dsets.c line 13075.
2019-01-04 07:26:15 -06:00
jake.smith
9ac12ce299 Merge pull request #1427 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize to develop
* commit '763db8178e673fdcae4a370fe2e6d345f905d5f1':
  Change FAIL_PUTS_ERROR to TEST_ERROR.
  Update calls: H5Dcreate to H5Dcreate2, H5Acreate to H5Acreate2.
2019-01-03 23:16:12 -06:00
Jacob Smith
763db8178e Change FAIL_PUTS_ERROR to TEST_ERROR. 2019-01-03 23:02:20 -06:00
Dana Robinson
d59aa1d75c Cleaned up the parallel flush test and set t_pflush1 to always fail.
Also set CMake to handle this.
2019-01-03 20:45:58 -08:00
Allen Byrne
2a28b92e2b Merge pull request #1426 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f4516d40feb7ea696e228253bc64a94f55296cbb':
  Fix comment
  Update toolchain comment
  Use c99 standard cmake variable
  Add PGI toolchain
2019-01-03 14:47:10 -06:00
Jacob Smith
3b53747b3a Update calls: H5Dcreate to H5Dcreate2, H5Acreate to H5Acreate2. 2019-01-03 14:44:57 -06:00
Binh-Minh Ribler
5daddcc2d4 Merge pull request #1408 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_fixbug:develop to develop
Merged to catch daily test.

* commit '40c55f24ecbdd322fba527d768689fbdbd268374':
  Removed a comment.
  Fixed documentation - typo only
  Fixed CVE division-by-zero issues Description:     Fixed HDFFV-10577 and similar issues found in H5Dchunk.c.  All     the occurrences are in:         H5D__create_chunk_map_single         H5D__create_chunk_file_map_hyper         H5D__chunk_allocate         H5D__chunk_update_old_edge_chunks         H5D__chunk_prune_by_extent         H5D__chunk_copy_cb         H5D__chunk_collective_fill Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
2019-01-03 09:50:01 -06:00
M. Scot Breitenfeld
390a3f6728 Added chunked dataset, H5S_ALL test 2019-01-03 09:47:14 -06:00
Binh-Minh Ribler
40c55f24ec Removed a comment. 2019-01-03 09:47:01 -06:00
Allen Byrne
f4516d40fe Fix comment 2019-01-03 09:36:00 -06:00
Jordan Henderson
659dd9bccf Align H5Lcreate_ud behavior with documentation for NULL udata pointer
Add test for H5Lcreate_ud fix
2019-01-03 09:35:44 -06:00
Allen Byrne
9d0c66c7cb Update toolchain comment 2019-01-03 09:33:55 -06:00
Allen Byrne
6f6d0921c0 Use c99 standard cmake variable 2019-01-02 17:07:37 -06:00
Allen Byrne
eaaddcc9e5 Add PGI toolchain 2019-01-02 14:39:38 -06:00
Allen Byrne
c820502e69 Merge pull request #1421 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ed0c468902409ae7fa8fb91c5f5a3a3093846736':
  HDFFV-10664 add check for state before set call
  HDFFV-10546 refactor variable name
  HDFFV-10664 minimized dataset headers for java interface
2019-01-02 14:38:30 -06:00
Vailin Choi
c70498f7a9 Merge pull request #1414 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
* commit 'd3dff6efe6f769b219f9dcccebd057afe75ed3c7':
  Correction based on code review.
  Changes based on feedback from pull request.
  Fix for HDFFV-10659: The library abort with "infinite loop closing library" after deleting attributes in densed storage. The fix: When deleting attribute nodes from the name index v2 B-tree, if an attribute is found in the intermediate B-tree nodes, which may be merged/redistributed in the process, we need to free the dynamically allocated spaces for the intermediate decoded attribute.
2019-01-02 13:26:58 -06:00
Vailin Choi
d3dff6efe6 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop
Resolve conflicts:
Conflicts:
	test/Makefile.am
2019-01-02 13:23:54 -06:00
Vailin Choi
7f9c459995 Correction based on code review. 2019-01-02 12:51:47 -06:00
Allen Byrne
ed0c468902 HDFFV-10664 add check for state before set call 2019-01-02 12:47:37 -06:00
jake.smith
71f4e1832c Merge pull request #1420 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize to develop
* commit '8324be7fad5f1417aca3d283a8f8caf6b75c4af7':
  fix wrong function name that is missed by correctional macro
2019-01-02 12:29:11 -06:00
M. Scot Breitenfeld
3a738e249b Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2019-01-02 12:05:02 -06:00
M. Scot Breitenfeld
b39960580e typo 2019-01-02 12:04:43 -06:00
M. Scot Breitenfeld
422d6daf6b typo 2019-01-02 11:53:41 -06:00
M. Scot Breitenfeld
57c2637df2 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2019-01-02 11:48:59 -06:00
M. Scot Breitenfeld
774098afa6 updated defined constants 2019-01-02 11:48:48 -06:00
Allen Byrne
f3636c573f HDFFV-10546 refactor variable name 2019-01-02 11:27:55 -06:00
M. Scot Breitenfeld
ffff13f0f3 Documented HDFFV-10652 2019-01-02 11:11:24 -06:00
Larry Knox
f9736d817e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'af21ce90d9465e805807f17da21f93e64e03492a': (46 commits)
  Changed to Unix line endings and chmod -x.
  Fix runtest case for data to stdout in tool
  Updated the parallel install docs.
  Eliminated the need for a separate script variable.
  Flipped swapped testing strings.
  Specify variable type. Remove unnecessary whitespace.
  Added test_vol_plugin.sh to the list of scripts to clean
  Fixed a CMake build issue (CMake still doesn't run the VOL plugin tests)
  Added more sub-tests to the VOL plugin test.
  Added a simple test for registration of VOL connector plugins. Autotools only for right now, but this will be fleshed out in future work.
  OHDR tests now accept h5_fileaccess() fapls. Formatting, informative comments, and minor renaming.
  Fix some CMake listings
  Add error checking to the minimized dset header size calculation. Update printf->HDprintf statements.
  Remove `#if 0` block of deprecated code.
  Fix mistake with H5E_BEGIN_TRY {...} H5E_END_TRY block containing ERROR-raising macros. Formatting tweaks.
  Added a helpful message to the flush script.
  Added a shell script so we can run the parallel flush test on OpenMPI.
  Add "compact" storage test to relative header size comparisons.
  Formatting adjustments.
  Formatting adjustments
  ...
2019-01-02 10:07:31 -06:00
M. Scot Breitenfeld
00990e28f3 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2019-01-02 09:52:38 -06:00
M. Scot Breitenfeld
58decdbd88 HDFFV-10652
Implemented a process-0 read and then broadcast
for collective read of full datasets (H5S_ALL) by
all the processes in the file communicator.
2019-01-02 09:51:44 -06:00
M. Scot Breitenfeld
55f7fe7f1b Removed reason for breaking read-proc0-and-bcast 2019-01-02 09:39:03 -06:00
Allen Byrne
fb5d3347e6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'af21ce90d9465e805807f17da21f93e64e03492a':
  Changed to Unix line endings and chmod -x.
  Cleaned up and normalized VFD init calls.
2019-01-02 09:03:43 -06:00
Dana Robinson
af21ce90d9 Merge pull request #1423 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '1f644fe7cd0188628571c5527f51fce4ddeeebf4':
  Changed to Unix line endings and chmod -x.
2019-01-02 07:14:37 -06:00
Dana Robinson
1f644fe7cd Changed to Unix line endings and chmod -x. 2019-01-01 14:30:26 -08:00
Dana Robinson
d5f642b559 Merge pull request #1422 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vfd_init_cleanup to develop
* commit '07b76068a4517f874fc5584049178ed5f61e3cea':
  Cleaned up and normalized VFD init calls.
2019-01-01 12:50:00 -06:00
Dana Robinson
07b76068a4 Merge branch 'develop' into vfd_init_cleanup 2018-12-31 17:19:39 -08:00
Allen Byrne
c3cad8e5f3 HDFFV-10664 minimized dataset headers for java interface 2018-12-31 16:34:07 -06:00
Jacob Smith
8324be7fad fix wrong function name that is missed by correctional macro 2018-12-31 15:18:13 -06:00
M. Scot Breitenfeld
f772ef9f2e switched to using CX instead of a global var. 2018-12-31 15:06:16 -06:00
Allen Byrne
fa6077332b Merge pull request #1416 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '0e6cf18b06d71dc8da9307dddce5e1833f197e19':
  Fix runtest case for data to stdout in tool
2018-12-31 14:07:57 -06:00
Allen Byrne
0e6cf18b06 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b30a1fe44aa804a67f2291005bf8135ac5c2dc99':
  Updated the parallel install docs.
  Eliminated the need for a separate script variable.
  Added a helpful message to the flush script.
  Added a shell script so we can run the parallel flush test on OpenMPI.
2018-12-31 14:06:43 -06:00
Dana Robinson
b30a1fe44a Merge pull request #1400 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:openmpi_tweaks to develop
* commit 'd6c2a96ac2f103d90b96d5b39814810e6a31ef99':
  Updated the parallel install docs.
  Eliminated the need for a separate script variable.
  Added a helpful message to the flush script.
  Added a shell script so we can run the parallel flush test on OpenMPI.
2018-12-31 13:33:31 -06:00
Allen Byrne
028d47d707 Fix runtest case for data to stdout in tool 2018-12-31 12:38:09 -06:00
Dana Robinson
fba448b145 Merge pull request #1413 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:yay_plugins to develop
* commit '3ca19cca5395d79be69209f8d7d0a2b06834a648':
  Flipped swapped testing strings.
  Added test_vol_plugin.sh to the list of scripts to clean
  Fixed a CMake build issue (CMake still doesn't run the VOL plugin tests)
  Added more sub-tests to the VOL plugin test.
  Added a simple test for registration of VOL connector plugins. Autotools only for right now, but this will be fleshed out in future work.
2018-12-31 10:28:25 -06:00
Larry Knox
72124031ec Add libhdf5_hl_fortran symlinks for libhdf5hl_fortran files.
Set ctest*.lsf.in.cmake scripts for sierra.
Correct src/CMakelists.txt syntax error.
2018-12-31 09:20:27 -06:00
Dana Robinson
d6c2a96ac2 Updated the parallel install docs. 2018-12-31 05:07:30 -08:00
Dana Robinson
4faca62679 Eliminated the need for a separate script variable. 2018-12-31 05:04:30 -08:00
Larry Knox
715272eeb7 Correct syntax error in CMakeLists.txt. 2018-12-31 06:23:13 -06:00
Dana Robinson
a3faa92653 Merge branch 'develop' into openmpi_tweaks 2018-12-30 22:24:42 -08:00
Vailin Choi
e035c7abdd Changes based on feedback from pull request. 2018-12-31 00:11:45 -06:00
jake.smith
905c3ca3d7 Merge pull request #1372 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize to develop
Dataset object header minimization
Jira TRILAB-45

* commit 'f54fb420d08ea0a7e7b026150c0ab559803e0acd': (34 commits)
  Specify variable type. Remove unnecessary whitespace.
  OHDR tests now accept h5_fileaccess() fapls. Formatting, informative comments, and minor renaming.
  Fix some CMake listings
  Add error checking to the minimized dset header size calculation. Update printf->HDprintf statements.
  Remove `#if 0` block of deprecated code.
  Fix mistake with H5E_BEGIN_TRY {...} H5E_END_TRY block containing ERROR-raising macros. Formatting tweaks.
  Add "compact" storage test to relative header size comparisons.
  Formatting adjustments.
  Formatting adjustments
  Move H5Fset_dset_no_attrs_hint VOL operations to native. Move minimzied object header tests from separate file to test/ohdr.c Some formatting changes.
  Re-format test/ohdr_mindset.c Fix a few transcription errors in other test files.
  formatting adjustments
  Reformat to be more consistent with existing code. Fix a few typos.
  add missing paramter - macro seemingly unused, but absence results in compiler complaint
  fix reference; move declaration in file
  Remove unused debugging print in '#if 0' block
  Fix typo. Fix CHECK of wrong ID (dset[2|3]_id).
  change test file name and apply 'h5_fixname' to it
  Sidestep and hide&flag minor issues causing test failures.
  Incorporate minimized dset ohdr tests into extant suite.
  ...
2018-12-29 14:31:31 -06:00
Larry Knox
126d1e6176 Add .lsf batch scripts and insert the build directory into the scripts
during configuration.
2018-12-28 16:50:48 -06:00
Vailin Choi
f808c108ed Fix for HDFFV-10659: The library abort with "infinite loop closing library"
after deleting attributes in densed storage.
The fix: When deleting attribute nodes from the name index v2 B-tree,
if an attribute is found in the intermediate B-tree nodes, which may be
merged/redistributed in the process, we need to free the dynamically
allocated spaces for the intermediate decoded attribute.
2018-12-28 16:49:11 -06:00
Dana Robinson
3ca19cca53 Flipped swapped testing strings. 2018-12-28 12:56:49 -08:00
Dana Robinson
dac76c579b Merge branch 'develop' into yay_plugins 2018-12-28 12:55:15 -08:00
Jacob Smith
f54fb420d0 Merge branch 'develop' into dset_ohdr_minimize 2018-12-28 12:45:10 -06:00
Jacob Smith
30493ce9b9 Specify variable type.
Remove unnecessary whitespace.
2018-12-28 10:17:09 -06:00
Dana Robinson
ba095e6a53 Merge pull request #1406 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:md_cache_logging_squash to develop
* commit '1ff756a1047d58f71c70deb48c797cb860904292':
  Updated the log function names.
  Squash merge of MDC logging changes.
2018-12-28 07:22:32 -06:00
Dana Robinson
1ff756a104 Updated the log function names. 2018-12-28 05:15:58 -08:00
Dana Robinson
552fec96e9 Merge branch 'develop' into md_cache_logging_squash 2018-12-27 22:22:24 -08:00
Dana Robinson
75dd3c9cab Merge branch 'develop' into yay_plugins 2018-12-27 22:20:09 -08:00
Dana Robinson
3a05e7109a Added test_vol_plugin.sh to the list of scripts to clean 2018-12-27 21:42:51 -08:00
Jordan Henderson
fe30b71086 Merge pull request #1386 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit 'b4fe787bb9fe4bfc4709a124df59dd987c9a09d2':
  Add test for H5Arename NULL/empty attribute name fix
  align H5Arename behavior with H5Arename_by_name
2018-12-27 23:05:20 -06:00
Dana Robinson
fafee5b8ae Fixed a CMake build issue (CMake still doesn't run the VOL plugin
tests)
2018-12-27 19:56:21 -08:00
Dana Robinson
544ab1c78a Added more sub-tests to the VOL plugin test. 2018-12-27 19:42:02 -08:00
Dana Robinson
621014be28 Added a simple test for registration of VOL connector plugins.
Autotools only for right now, but this will be fleshed out in future
work.
2018-12-27 15:50:04 -08:00
Dana Robinson
5b57c69ed4 Merge pull request #1412 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:yay_plugins to develop
* commit '9cc406633c29d4167031dc85b950858f90163cbc':
  Fixed plugin loading so it actually checks the plugin type.
2018-12-27 16:10:57 -06:00
Dana Robinson
9cc406633c Fixed plugin loading so it actually checks the plugin type. 2018-12-27 14:00:32 -08:00
Jacob Smith
29497cc4e1 Merge branch 'develop' into dset_ohdr_minimize 2018-12-27 12:33:32 -06:00
Dana Robinson
1cc890e333 Merge pull request #1410 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '9152547b766919eefb7163e17f0c03052a2d73f2':
  H5VLregister_by_value() should not set _BY_NAME when searching for plugins.
2018-12-27 11:10:05 -06:00
Dana Robinson
9152547b76 H5VLregister_by_value() should not set _BY_NAME when searching for
plugins.
2018-12-27 08:56:43 -08:00
Jacob Smith
b2afa88fa0 OHDR tests now accept h5_fileaccess() fapls.
Formatting, informative comments, and minor renaming.
2018-12-26 14:35:22 -06:00
Binh-Minh Ribler
9c6744778e Fixed documentation - typo only 2018-12-23 00:51:17 -06:00
Binh-Minh Ribler
c3f51c52d0 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_fixbug into develop 2018-12-23 00:18:42 -06:00
Binh-Minh Ribler
251ba120b5 Fixed CVE division-by-zero issues
Description:
    Fixed HDFFV-10577 and similar issues found in H5Dchunk.c.  All
    the occurrences are in:
        H5D__create_chunk_map_single
        H5D__create_chunk_file_map_hyper
        H5D__chunk_allocate
        H5D__chunk_update_old_edge_chunks
        H5D__chunk_prune_by_extent
        H5D__chunk_copy_cb
        H5D__chunk_collective_fill
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2018-12-23 00:18:13 -06:00
Jacob Smith
cfdbb220d8 Fix some CMake listings 2018-12-21 16:18:05 -06:00
Jacob Smith
db9cc49a6b Add error checking to the minimized dset header size calculation.
Update printf->HDprintf statements.
2018-12-21 15:47:49 -06:00
Allen Byrne
7d28a4295e Merge pull request #1407 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '991996b25122ff010b9af1bbb6cc05be491ce038':
  Remove unused CMake files
  Update option text
  Add reference file to list
  HDFFV-10656 remove moved source
  HDFFV-10656 Add CHECK_VOL support to CMake
2018-12-21 14:41:29 -06:00
Allen Byrne
991996b251 Remove unused CMake files 2018-12-21 12:22:32 -06:00
Allen Byrne
909fa39bc7 Update option text 2018-12-21 11:41:02 -06:00
Allen Byrne
99d1f614f1 Add reference file to list 2018-12-21 10:39:15 -06:00
Dana Robinson
18e6ec82d0 Squash merge of MDC logging changes. 2018-12-20 20:41:42 -08:00
Dana Robinson
d6adb6526d Merge pull request #1399 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_tweaks to develop
* commit '75a03ea0c36f24a6a3982b75a8c52325879bb569':
  Moved private native VOL connector functions to H5VLnative_private.h.
  Moved the remainder of the code into separate files.
  Split the native VOL connector code into multiple files and moved the attribute code over.
2018-12-20 19:48:36 -06:00
Quincey Koziol
830fac2fea Merge pull request #1402 in HDFFV/hdf5 from stackable_vol_fix_13 to develop
* commit '9e8cacaa5531f418f5d9d447c1251eb705da785a':
  Remove core VFD-specific property list call and regenerate encoded property lists.
2018-12-20 15:45:11 -06:00
Allen Byrne
3c8b00dbd8 HDFFV-10656 remove moved source 2018-12-20 15:35:37 -06:00
Allen Byrne
7e8923957f HDFFV-10656 Add CHECK_VOL support to CMake 2018-12-20 15:11:27 -06:00
Dana Robinson
75a03ea0c3 Merge branch 'develop' into vol_tweaks 2018-12-20 12:08:13 -08:00
Dana Robinson
a06249a21b Moved private native VOL connector functions to H5VLnative_private.h. 2018-12-20 10:47:00 -08:00
Quincey Koziol
9e8cacaa55 Remove core VFD-specific property list call and regenerate encoded property
lists.
2018-12-20 11:52:09 -06:00
Jacob Smith
13baaea005 Remove #if 0 block of deprecated code. 2018-12-20 11:18:59 -06:00
Jacob Smith
210ab50725 Fix mistake with H5E_BEGIN_TRY {...} H5E_END_TRY block containing ERROR-raising macros.
Formatting tweaks.
2018-12-20 11:12:53 -06:00
Quincey Koziol
416f68c670 Merge pull request #1401 in HDFFV/hdf5 from stackable_vol_fix_12 to develop
* commit 'ac5a65bb43dbb00808f4867d8f106143364742ad':
  Correct typo
2018-12-20 10:45:27 -06:00
Quincey Koziol
ac5a65bb43 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-12-20 10:19:33 -06:00
Quincey Koziol
2bbd1589fe Correct typo 2018-12-20 10:19:19 -06:00
Allen Byrne
99e4c14ea6 Merge pull request #1396 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f9e9c1ad0eeabce09b2f8613427b83daebbf8cb0':
  HDFFV-10664 Add new functions and constants to java interface
2018-12-20 08:27:53 -06:00
Dana Robinson
64eb1489de Added a helpful message to the flush script. 2018-12-20 03:43:53 -08:00
Dana Robinson
fe1a5b4279 Added a shell script so we can run the parallel flush test
on OpenMPI.
2018-12-20 03:03:16 -08:00
Dana Robinson
aad96a8c73 Moved the remainder of the code into separate files. 2018-12-19 19:19:05 -08:00
Dana Robinson
9cfe7fd18d Split the native VOL connector code into multiple files and
moved the attribute code over.
2018-12-19 17:41:50 -08:00
Quincey Koziol
34c0328c4d Merge pull request #1398 in HDFFV/hdf5 from stackable_vol_fix_11 to develop
* commit '9810526a89b1f91d441ccce6c6ca484778f99b33':
  Correct core VFD to run with a 1MB increment instead of a 1 byte increment!
2018-12-19 19:08:04 -06:00
Quincey Koziol
9810526a89 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-12-19 17:17:16 -06:00
Quincey Koziol
f1d8d889b4 Correct core VFD to run with a 1MB increment instead of a 1 byte increment! 2018-12-19 17:16:45 -06:00
Quincey Koziol
9fba6e082c Merge pull request #1397 in HDFFV/hdf5 from stackable_vol_fix_10 to develop
* commit '3587fe2638c45c087e970a3bdca07a9ffa7d435c':
  Switch return value to -1
  Fix return value type for get name operation.
2018-12-19 17:05:20 -06:00
Quincey Koziol
3587fe2638 Switch return value to -1 2018-12-19 16:54:02 -06:00
Quincey Koziol
371ed6a518 Fix return value type for get name operation. 2018-12-19 16:30:11 -06:00
Allen Byrne
a3121cf41a Merge pull request #1395 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'ec4902ae8d8bd009bb835d3a0bba335845f2c07d':
  Special text removal not conditional
  TRILABS special output removal
  TRILABS special text removal
2018-12-19 15:52:02 -06:00
Allen Byrne
ec4902ae8d Special text removal not conditional 2018-12-19 15:43:33 -06:00
Allen Byrne
c4913dd55f TRILABS special output removal 2018-12-19 15:41:15 -06:00
Jacob Smith
38de07aea3 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize 2018-12-19 15:14:51 -06:00
Jacob Smith
2b4e540fad Add "compact" storage test to relative header size comparisons. 2018-12-19 14:57:38 -06:00
Dana Robinson
33345b835c Merge pull request #1393 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_optional_enum_to_macros to develop
* commit 'f60e8bb05e3203054e27bf41d0ebc657537736ed':
  Moved the optional enums to H5VLnative.h and converted to an int typedef and a set of #defines.
2018-12-19 14:55:21 -06:00
Allen Byrne
0bcae40c8a TRILABS special text removal 2018-12-19 14:44:29 -06:00
Allen Byrne
f9e9c1ad0e HDFFV-10664 Add new functions and constants to java interface 2018-12-19 12:59:05 -06:00
Quincey Koziol
fc7f4e59aa Merge pull request #1394 in HDFFV/hdf5 from stackable_vol_fix_08 to develop
* commit 'b61ad0f7b68f974356a33b335e94e21a941c0621':
  Clear driver properties before returning them to application.
2018-12-19 07:37:00 -06:00
Quincey Koziol
b61ad0f7b6 Clear driver properties before returning them to application.
Move write_tracking and page_size properties to be inside the core VFD's
driver properties.
2018-12-18 22:30:12 -06:00
Dana Robinson
f60e8bb05e Moved the optional enums to H5VLnative.h and converted to an int
typedef and a set of #defines.
2018-12-18 13:34:34 -08:00
Jacob Smith
7541ed1fc7 Formatting adjustments. 2018-12-18 15:11:42 -06:00
Dana Robinson
bd096066c3 Merge pull request #1384 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:build_tweaks to develop
* commit 'fc64bafb143b1d259282913fdbf0ba9f1a0a8069':
  Updates the autotools tests to also emit the VOL connector for each test.
2018-12-18 14:12:21 -06:00
Dana Robinson
b486fd10a4 Merge pull request #1392 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_optional_enum_to_macros to develop
* commit '70c8c629ce1d7b1eb98220135ddcca1bf9c5b7fc':
  Added missing H5O calls.
  Fixed a missing H5R call.
  Made hbool_t processing consistent in va_lists.
  Fixed an enums-in-va_list issue in the passthru VOL connector.
  Updated enums in VOL va_lists to be passed as ints.
2018-12-18 13:53:02 -06:00
Jacob Smith
507d9423c8 Formatting adjustments 2018-12-18 13:51:12 -06:00
Jacob Smith
99bc714c4b Move H5Fset_dset_no_attrs_hint VOL operations to native.
Move minimzied object header tests from separate file to test/ohdr.c
Some formatting changes.
2018-12-18 13:42:03 -06:00
Dana Robinson
70c8c629ce Added missing H5O calls. 2018-12-18 10:37:49 -08:00
Dana Robinson
b73052799c Fixed a missing H5R call. 2018-12-18 10:03:29 -08:00
Dana Robinson
6a87cc96a6 Made hbool_t processing consistent in va_lists. 2018-12-18 10:00:35 -08:00
Jacob Smith
5efc08a06d Merge branch 'develop' into dset_ohdr_minimize 2018-12-18 11:50:58 -06:00
Dana Robinson
b6d27bdf90 Fixed an enums-in-va_list issue in the passthru VOL connector. 2018-12-18 09:30:18 -08:00
Dana Robinson
b55e5efc1c Merge branch 'develop' into vol_optional_enum_to_macros 2018-12-18 09:20:07 -08:00
Dana Robinson
55fc5067b6 Updated enums in VOL va_lists to be passed as ints. 2018-12-18 09:16:46 -08:00
Dana Robinson
e8108d7699 Merge branch 'develop' into vfd_init_cleanup 2018-12-18 09:07:28 -08:00
Quincey Koziol
f0c83dedb6 Merge pull request #1391 in HDFFV/hdf5 from stackable_vol_fix_07 to develop
* commit '2b496c1e19c19847bd6ab9b692b13db3d3afb0a9':
  Correct error from refactoring out H5VL_FILE_CACHE_VOL_CONN callback.
2018-12-18 10:44:32 -06:00
Quincey Koziol
2b496c1e19 Correct error from refactoring out H5VL_FILE_CACHE_VOL_CONN callback. 2018-12-18 10:19:40 -06:00
Dana Robinson
ddf2cbad1b Cleaned up and normalized VFD init calls. 2018-12-17 23:00:25 -08:00
Quincey Koziol
c3df26afb4 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-12-17 18:04:46 -06:00
Quincey Koziol
aadebc1b7e Merge pull request #1390 in HDFFV/hdf5 from stackable_vol_fix_06 to develop
* commit '3597bd469ff0073134b31765d9b87660cd3e0039':
  Revert change to MSC_VER, in favor of Dana's
  Remove H5VL_FILE_CACHE_VOL_CONN from file specific callbacks, as it turns out not to be necessary.
2018-12-17 18:03:59 -06:00
Quincey Koziol
a018d86050 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-12-17 17:36:53 -06:00
Quincey Koziol
59efe89450 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-12-17 17:36:45 -06:00
Dana Robinson
bacabb3534 Merge pull request #1364 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:h5i_reference_removal to develop
* commit 'e21c1cf7c6ee6dba5dd5bfd1a525227ac1304b53':
  Removed H5I_REFERENCE from the library. It has always been unused and has been marked 'deprecated' since 1.10.0. Fixes HDFFV-10252.
2018-12-17 17:35:59 -06:00
Dana Robinson
d8656bdbb2 Merge pull request #1389 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:strtok_windows_fix to develop
* commit 'a7618f432b671ad041ae63a83bf9b9bb08096dbe':
  Updated with extra sanity check and improved comment.
  Fixed an issue in the passthru Windows va_copy hack.
2018-12-17 17:34:44 -06:00
Quincey Koziol
3597bd469f Revert change to MSC_VER, in favor of Dana's 2018-12-17 17:28:51 -06:00
Quincey Koziol
c6831c7a75 Remove H5VL_FILE_CACHE_VOL_CONN from file specific callbacks, as it turns out
not to be necessary.

Also, correct _MSC_VER #ifdef
2018-12-17 17:25:10 -06:00
Dana Robinson
a7618f432b Updated with extra sanity check and improved comment. 2018-12-17 14:48:39 -08:00
Dana Robinson
a71b77433c Fixed an issue in the passthru Windows va_copy hack. 2018-12-17 14:33:33 -08:00
Dana Robinson
8909646693 Merge pull request #1388 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_optional_enum_to_macros to develop
* commit '9f175afce8c08bf6193e45ce391e05e4198dd61c':
  Updated va_arg-->HDva_arg in the native VOL connector.
  Added HD to va_* calls in a couple of library files.
2018-12-17 16:05:20 -06:00
Dana Robinson
9f175afce8 Updated va_arg-->HDva_arg in the native VOL connector. 2018-12-17 14:03:11 -08:00
Dana Robinson
02eb52b5fd Merge pull request #1387 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:strtok_windows_fix to develop
* commit 'b0457117d867d9850d042d7c3f71a747899b932e':
  Further va_list improvements.
  Added a helpful comment to the va_copy() Windows hack.
  Added a work-around for va_copy() on pre-2013 versions of Visual Studio.
2018-12-17 15:32:49 -06:00
Dana Robinson
3214de7924 Added HD to va_* calls in a couple of library files. 2018-12-17 13:30:31 -08:00
Jordan Henderson
b4fe787bb9 Add test for H5Arename NULL/empty attribute name fix
Split checking of NULL vs. empty string arguments
2018-12-17 14:30:54 -06:00
Dana Robinson
b0457117d8 Further va_list improvements. 2018-12-17 11:40:10 -08:00
Dana Robinson
6306766fb4 Added a helpful comment to the va_copy() Windows hack. 2018-12-17 10:34:20 -08:00
Dana Robinson
1b9326d37f Added a work-around for va_copy() on pre-2013 versions of Visual Studio. 2018-12-17 10:29:58 -08:00
Allen Byrne
59b23c198c Merge pull request #1385 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '8dbadb41a3b23d6d74effee7bef0302fd81b80a6':
  HDFFV-10663 add new function H5Fis_accessible
2018-12-17 12:29:50 -06:00
Jordan Henderson
16cbd591cd align H5Arename behavior with H5Arename_by_name 2018-12-17 12:01:20 -06:00
Dana Robinson
339aebc69a Merge pull request #1381 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_tweaks to develop
* commit '9ae9b3ef513613bb2fca15f96461a156148c2627':
  Moved the native VOL connector's optional enums to the public headers and renamed to include native/NATIVE in the name.
2018-12-17 11:24:58 -06:00
Allen Byrne
8dbadb41a3 HDFFV-10663 add new function H5Fis_accessible 2018-12-17 11:16:59 -06:00
Allen Byrne
1e9efded02 Merge pull request #1378 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '1e4c7bf9c96dfb353b643f41c136a8fa3f511df2':
  Use H5I_INVALID_HID
  HDFFV-10632 update new files
2018-12-17 08:46:03 -06:00
Dana Robinson
fc64bafb14 Updates the autotools tests to also emit the VOL connector
for each test.
2018-12-16 12:41:55 -08:00
Dana Robinson
f5886d5802 Merge pull request #1383 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:strtok_windows_fix to develop
* commit '1b5190011bde5f2f47b01429cd97c11ade66f911':
  Added #define to use strtok_s instead of strtok_r on Windows.
2018-12-16 12:20:47 -06:00
Allen Byrne
1e4c7bf9c9 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '50ca26f3ec428de408040335f2a2999e750d98b3':
  Updated the passthru VOL connector: * snprintf --> sprintf (for Windows compat) * tabs --> spaces * removed spurious parens from returns * Changed the logging macro to something less clash-prone
  Make sure to free copy of VOL connector's name when H5VL_register_connector fails
2018-12-16 11:39:14 -06:00
Dana Robinson
50ca26f3ec Merge pull request #1382 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'e21dec94d85b02b6dd3b2020cf026414cea1eb0d':
  Updated the passthru VOL connector: * snprintf --> sprintf (for Windows compat) * tabs --> spaces * removed spurious parens from returns * Changed the logging macro to something less clash-prone
2018-12-15 22:05:40 -06:00
Dana Robinson
1b5190011b Added #define to use strtok_s instead of strtok_r on Windows. 2018-12-15 20:02:37 -08:00
Dana Robinson
e21dec94d8 Updated the passthru VOL connector:
* snprintf --> sprintf (for Windows compat)
* tabs --> spaces
* removed spurious parens from returns
* Changed the logging macro to something less clash-prone
2018-12-15 18:17:16 -08:00
Allen Byrne
8f3a777a8a Use H5I_INVALID_HID 2018-12-15 06:25:02 -06:00
Dana Robinson
9ae9b3ef51 Moved the native VOL connector's optional enums to the
public headers and renamed to include native/NATIVE in the
name.
2018-12-15 02:05:00 -08:00
Jordan Henderson
bc0a08d997 Merge pull request #1379 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '74d167d738f719fc1076ed16360e9fd5b7ba4c98':
  Make sure to free copy of VOL connector's name when H5VL_register_connector fails
2018-12-14 19:31:41 -06:00
Jordan Henderson
74d167d738 Make sure to free copy of VOL connector's name when H5VL_register_connector fails 2018-12-14 13:15:09 -06:00
Allen Byrne
c92f11b368 HDFFV-10632 update new files 2018-12-14 08:12:51 -06:00
Jacob Smith
61350bf350 Re-format test/ohdr_mindset.c
Fix a few transcription errors in other test files.
2018-12-13 22:11:29 -06:00
Jacob Smith
8e4b34afd0 formatting adjustments 2018-12-13 19:40:33 -06:00
Quincey Koziol
7670f112ca Merge pull request #1377 in HDFFV/hdf5 from stackable_vol_fix_05 to develop
* commit '833a4f73fd8dc696f8bf500cd842d88949bb1519':
  Fix plugin code from referencing invalid key ID value, and also switch from strtok() to strtok_r() to avoid possible interference with / to application use of strtok().
2018-12-13 17:59:09 -06:00
Quincey Koziol
833a4f73fd Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-12-13 17:32:39 -06:00
Quincey Koziol
247a6afb7e Fix plugin code from referencing invalid key ID value, and also switch from
strtok() to strtok_r() to avoid possible interference with / to application
use of strtok().
2018-12-13 17:31:00 -06:00
Allen Byrne
dd6c06f9a7 Merge pull request #1375 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f9f6e9fe24d8b0996a79af57d80e21a950f5009f':
  Still need the stamp1 files if PREGEN
2018-12-13 16:04:40 -06:00
Allen Byrne
f9f6e9fe24 Still need the stamp1 files if PREGEN 2018-12-13 15:32:49 -06:00
Allen Byrne
d88040edb3 Merge pull request #1374 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '248442eb00ec254bf632ddf6a0f62ed5f442a3f0':
  If MPI is enabled java will not compile because of include.
2018-12-13 15:15:48 -06:00
Allen Byrne
c1eca48305 Merge pull request #1371 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '98309270710fea1aee7012ded776be4260c63df8':
  TRILABS - exclude host info lines
  HDFFV-10660 Add new files to OUTPUT section of custom commands
2018-12-13 15:13:57 -06:00
Allen Byrne
248442eb00 If MPI is enabled java will not compile because of include. 2018-12-13 14:10:38 -06:00
Jacob Smith
0a4834c264 Reformat to be more consistent with existing code.
Fix a few typos.
2018-12-13 14:02:29 -06:00
Allen Byrne
9830927071 TRILABS - exclude host info lines 2018-12-13 12:52:50 -06:00
Jacob Smith
8b9c4b50e3 add missing paramter - macro seemingly unused, but absence results in compiler complaint 2018-12-13 11:33:58 -06:00
Jacob Smith
a959914695 fix reference; move declaration in file 2018-12-13 10:47:52 -06:00
Jacob Smith
943b7f9c02 Merge branch 'develop' into dset_ohdr_minimize 2018-12-13 10:27:27 -06:00
Allen Byrne
88137324fc HDFFV-10660 Add new files to OUTPUT section of custom commands 2018-12-13 09:40:43 -06:00
Allen Byrne
1dd81af5a2 Merge pull request #1368 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6a87b59aeeda7839ff7b3b9f129192bd1579c6fa':
  HDFVIEW-4 Duplicate line
2018-12-13 09:35:19 -06:00
M. Scot Breitenfeld
ef21966d17 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2018-12-13 09:21:00 -06:00
Jordan Henderson
8faad0a959 Merge pull request #1369 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '76c0d8c434186107176fc83a0ce4e94b584196ae':
  Add test for H5Aget_info(_by_name/_by_idx) NULL info pointer
  align H5Aget_info behavior with H5Gget_info when null attribute pointer is supplied
2018-12-13 09:10:40 -06:00
Jordan Henderson
76c0d8c434 Add test for H5Aget_info(_by_name/_by_idx) NULL info pointer 2018-12-12 18:30:34 -06:00
Jacob Smith
ad6de59e4c Merge branch 'develop' into dset_ohdr_minimize 2018-12-12 17:34:13 -06:00
Jacob Smith
911b8e8fc2 Merge branch 'dset_ohdr_minimize' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize
Incorporate a few housekeeping changes and one fix.
2018-12-12 17:27:27 -06:00
Jacob Smith
ea73325250 Merge branch 'develop' into dset_ohdr_minimize 2018-12-12 17:26:08 -06:00
Jordan Henderson
55dbf69573 align H5Aget_info behavior with H5Gget_info when null attribute pointer is supplied 2018-12-12 17:05:56 -06:00
M. Scot Breitenfeld
fdf38bb5f4 HDFFV-10652
Implemented a process-0 read and then broadcast
for collective read of full datasets (H5S_ALL) by
all the processes in the file communicator.
2018-12-12 15:39:18 -06:00
Jacob Smith
5a38ab71be Remove unused debugging print in '#if 0' block 2018-12-12 14:17:15 -06:00
Jacob Smith
c81e310214 Fix typo.
Fix CHECK of wrong ID (dset[2|3]_id).
2018-12-12 14:03:56 -06:00
hdftest
afdf3094cc Merge pull request #1367 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'deb7d2fb9714acc8222815328f71b0aae7e74275':
  Use version 2 functions in test file to address compile errors for --with-default-api-version=v16 option.
2018-12-12 11:30:05 -06:00
Allen Byrne
6a87b59aee HDFVIEW-4 Duplicate line 2018-12-12 10:54:39 -06:00
Allen Byrne
8822bc3c41 Merge pull request #1349 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '139a12d13cda046fd3cd64a4f097eb3485f50173':
  HDFFV-10632 correct number
  HDFFV-10632 stder/stdout change note
  Add stamp files for generated  files
  HDFFV-10632 update autotools test scripts to match cmake
  HDFFV=10632 test cleanup
  Fix special macro stdout as empty
  Need nonexistent file to skip stdout compare
  HDFFV-10632 - split stderr and stdout in cmake
2018-12-12 09:29:10 -06:00
Allen Byrne
139a12d13c HDFFV-10632 correct number 2018-12-12 09:28:51 -06:00
Allen Byrne
ace20fc987 HDFFV-10632 stder/stdout change note 2018-12-12 09:27:45 -06:00
Allen Byrne
958e1f72cb Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '1be974ff963e2e538090bb3e65ba66feb93d5c68':
  HDFVIEW-4 note
  HDFVIEW-4 removed unused functions
  HDFVIEW-4 add datatype read to H5A like H5D
2018-12-12 09:17:07 -06:00
Allen Byrne
1be974ff96 Merge pull request #1365 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'ef6c80bbdbe6ce1ee4665a352099976d0fddf255':
  HDFVIEW-4 note
  HDFVIEW-4 removed unused functions
  HDFVIEW-4 add datatype read to H5A like H5D
2018-12-12 09:13:04 -06:00
Allen Byrne
ef6c80bbdb HDFVIEW-4 note 2018-12-12 09:12:50 -06:00
Allen Byrne
ce9bcb0dda HDFVIEW-4 removed unused functions 2018-12-12 08:50:58 -06:00
Larry Knox
deb7d2fb97 Use version 2 functions in test file to address compile errors for
--with-default-api-version=v16 option.
2018-12-12 06:53:26 -06:00
Jacob Smith
496de6922f change test file name and apply 'h5_fixname' to it 2018-12-11 17:45:12 -06:00
Allen Byrne
642d0cb00b Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '6f52793adcd5a14aa63731e3c33c9737b5a04d16':
  Minor tweak to address JIRA HDFFV-10611 (which was already fixed).
2018-12-10 16:52:54 -06:00
Allen Byrne
7ffba76bc3 HDFVIEW-4 add datatype read to H5A like H5D 2018-12-10 16:52:34 -06:00
Dana Robinson
6f52793adc Merge pull request #1363 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_minor_pr to develop
* commit '5d9a93b61d374c427554dd2ff9574539bc8861ab':
  Minor tweak to address JIRA HDFFV-10611 (which was already fixed).
2018-12-08 11:39:25 -06:00
Dana Robinson
e21c1cf7c6 Removed H5I_REFERENCE from the library. It has always been unused
and has been marked 'deprecated' since 1.10.0. Fixes HDFFV-10252.
2018-12-08 08:14:05 -08:00
Dana Robinson
5d9a93b61d Minor tweak to address JIRA HDFFV-10611 (which was already fixed). 2018-12-08 07:22:40 -08:00
Allen Byrne
962f35e761 Add stamp files for generated files 2018-12-07 16:02:00 -06:00
Allen Byrne
ce625a617e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '4643860aa940fb52da251f7023ec2e48d7d10f34':
  HDFFV-10635: Some minor changes to the test case and the comments in the library.
  HDFFV-10635: add a test case.
  HDFFV-10635: Allowing to write the same variable-length element more than once.
2018-12-07 15:57:56 -06:00
Ray Lu
4643860aa9 Merge pull request #1348 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/HDFFV-10635-hdf5-library-segmentation-fault to develop
* commit '3e8599591504c95d8a97100b9546174f6132dc97':
  HDFFV-10635: Some minor changes to the test case and the comments in the library.
  HDFFV-10635: add a test case.
  HDFFV-10635: Allowing to write the same variable-length element more than once.
2018-12-07 14:58:43 -06:00
Allen Byrne
ac34d3e157 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '3682071b4a3760959c2ccc80d6de58a8d81b5048':
  RELEASE.txt updates for fixes pushed to 1.10.5.
2018-12-07 11:44:53 -06:00
Dana Robinson
3682071b4a Merge pull request #1362 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '4484c5d6ef2186805da44abfbec9bf21fc5e4414':
  RELEASE.txt updates for fixes pushed to 1.10.5.
2018-12-07 11:42:21 -06:00
Allen Byrne
698d0490b1 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7796cbd4174e85aa211dbffa562ada7413f1dbf7':
  Fix build errors VOL changes, when using --disable-deprecated-symbols.
  Removed RELEASE.txt entry concerning --enable-debug/production configure flags as those changes were pushed to HDF5 1.10.
  Remove reference to h5_vol_external_log_native.
2018-12-07 11:26:03 -06:00
Dana Robinson
4484c5d6ef Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2018-12-07 08:33:28 -08:00
Dana Robinson
ec99efbae8 RELEASE.txt updates for fixes pushed to 1.10.5. 2018-12-07 08:31:52 -08:00
Quincey Koziol
7796cbd417 Merge pull request #1360 in HDFFV/hdf5 from stackable_vol_fix_04 to develop
* commit 'a60702605496bb5dfb12af0c0385590df85b31a3':
  Fix build errors VOL changes, when using --disable-deprecated-symbols.
2018-12-06 18:03:00 -06:00
Songyu Lu
3e85995915 HDFFV-10635: Some minor changes to the test case and the comments in the library. 2018-12-06 17:36:34 -06:00
Dana Robinson
026507404b Merge pull request #1358 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'dd23dac577c70d7fc0aa3fe21c1ebf52a18975d2':
  Removed RELEASE.txt entry concerning --enable-debug/production configure flags as those changes were pushed to HDF5 1.10.
2018-12-06 15:42:31 -06:00
Quincey Koziol
a607026054 Fix build errors VOL changes, when using --disable-deprecated-symbols. 2018-12-06 13:37:09 -06:00
Allen Byrne
11b4c1f3af HDFFV-10632 update autotools test scripts to match cmake 2018-12-06 12:48:39 -06:00
Dana Robinson
dd23dac577 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2018-12-06 10:10:39 -08:00
Dana Robinson
e3c40fef1f Removed RELEASE.txt entry concerning --enable-debug/production configure flags
as those changes were pushed to HDF5 1.10.
2018-12-06 10:08:50 -08:00
Quincey Koziol
b9e08da165 Merge pull request #1357 in HDFFV/hdf5 from stackable_vol_fix_03 to develop
* commit '0a7c64f6e874c92cd2540af0b1fa032be0091502':
  Remove reference to h5_vol_external_log_native.
2018-12-06 11:28:40 -06:00
Quincey Koziol
0a7c64f6e8 Remove reference to h5_vol_external_log_native. 2018-12-06 11:11:28 -06:00
Allen Byrne
2998dbfc70 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f2da47f732ded55837f6d008af46d0c448bec1f1':
  Update to new callbacks in H5VL_class_t.
2018-12-06 08:14:34 -06:00
Allen Byrne
eb1b3f42c4 HDFFV=10632 test cleanup 2018-12-06 07:54:19 -06:00
Quincey Koziol
f2da47f732 Merge pull request #1355 in HDFFV/hdf5 from stackable_vol_fix_02 to develop
* commit '592a22345517dc321c47b2df7e6d52c968fbae9b':
  Update to new callbacks in H5VL_class_t.
2018-12-05 18:47:03 -06:00
Songyu Lu
19a94503f3 HDFFV-10635: add a test case. 2018-12-05 16:48:47 -06:00
Jacob Smith
f1825f0d26 Sidestep and hide&flag minor issues causing test failures. 2018-12-05 16:39:39 -06:00
Allen Byrne
fe6a56c5cb Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'dbce6e852a508a9b5438ca0fb5278e1a10555635':
  Updates to t_filters_parallel for missing filters
2018-12-05 16:03:11 -06:00
Jordan Henderson
dbce6e852a Merge pull request #1356 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '406f7916ceaec959c0c22cdf05f45515f04a8529':
  Updates to t_filters_parallel for missing filters
2018-12-05 15:55:35 -06:00
Jordan Henderson
406f7916ce Updates to t_filters_parallel for missing filters 2018-12-05 15:23:44 -06:00
Quincey Koziol
592a223455 Update to new callbacks in H5VL_class_t. 2018-12-05 15:09:32 -06:00
Allen Byrne
307749cc71 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '55e87e5b86aacbb37c57614cd2e869541291caad': (51 commits)
  Correct Windows build.
  Refactor allocating & releasing pass through wrapper objects.
  Fix typo
  Remove duplicated comment.
  Add a couple of missing prototypes for static routines, along with updating a comment from VOL plugin -> connector.
  Switch H5VL_class_value_t from unsigned to int, and add "invalid" ID value.
  Correct "make check-vol" regression test target.
  Switch H5VL_class_value_t from enum to unsigned integer
  Add support for "make check-vol", along with a few minor cleanups, etc.
  Refactor infrastructure for setting FAPL information from environment variables during testing, including connecting native, pass-through, and dynamically loaded VOL connectors.   Also bring native and pass-through VOL connectors into alignment, removing the "H5VLnative_private.h" header.
  Remove example VOL connector, since it's been superceded by the pass-through VOL connector in the src subdirectory.
  Add pass-through VOL connector
  Update API tracing info for VOL functions and regenerate trace macros for VOL API calls.
  Added 'notify' callback for async requests; switched VOL class and info comparison to return comparison value as parameter, so they can return error values; "cancelled" -> "canceled"; switched order of 'wrap_object' and 'free_wrap_ctx' management callbacks.
  Add using FAPL from h5_fileaccess() to more tests.
  Remove unused test for unimplemented routine.
  Switch loc_params to VOL callbacks to pass struct by pointer instead of by value.
  Add info_to_str and str_to_info "management" callbacks for serializing and deserializing a connector's info object.
  Revert some of the changes to support the original property list value of metadata read attempts.
  Add VOL connector info to the flie access property list returned from H5Fget_access_plist().  Also, other misc. cleanups, etc.
  ...
2018-12-05 14:25:58 -06:00
Quincey Koziol
55e87e5b86 Merge pull request #1353 in HDFFV/hdf5 from stackable_vol_fix_01 to develop
* commit 'e395d1ed7c76ab224a862c396020758097681cad':
  Correct Windows build.
2018-12-05 14:09:05 -06:00
Quincey Koziol
e395d1ed7c Correct Windows build. 2018-12-05 13:33:08 -06:00
Quincey Koziol
14f463593b Merge pull request #1347 in HDFFV/hdf5 from stackable_vol to develop
* commit 'c58d84e721ef9fbda63abc834767a28dc978d121': (50 commits)
  Refactor allocating & releasing pass through wrapper objects.
  Fix typo
  Remove duplicated comment.
  Add a couple of missing prototypes for static routines, along with updating a comment from VOL plugin -> connector.
  Switch H5VL_class_value_t from unsigned to int, and add "invalid" ID value.
  Correct "make check-vol" regression test target.
  Switch H5VL_class_value_t from enum to unsigned integer
  Add support for "make check-vol", along with a few minor cleanups, etc.
  Refactor infrastructure for setting FAPL information from environment variables during testing, including connecting native, pass-through, and dynamically loaded VOL connectors.   Also bring native and pass-through VOL connectors into alignment, removing the "H5VLnative_private.h" header.
  Remove example VOL connector, since it's been superceded by the pass-through VOL connector in the src subdirectory.
  Add pass-through VOL connector
  Update API tracing info for VOL functions and regenerate trace macros for VOL API calls.
  Added 'notify' callback for async requests; switched VOL class and info comparison to return comparison value as parameter, so they can return error values; "cancelled" -> "canceled"; switched order of 'wrap_object' and 'free_wrap_ctx' management callbacks.
  Add using FAPL from h5_fileaccess() to more tests.
  Remove unused test for unimplemented routine.
  Switch loc_params to VOL callbacks to pass struct by pointer instead of by value.
  Add info_to_str and str_to_info "management" callbacks for serializing and deserializing a connector's info object.
  Revert some of the changes to support the original property list value of metadata read attempts.
  Add VOL connector info to the flie access property list returned from H5Fget_access_plist().  Also, other misc. cleanups, etc.
  Switch tool error output to match VOL changes within library
  ...
2018-12-05 13:03:59 -06:00
Allen Byrne
a68fd29208 Fix special macro stdout as empty 2018-12-05 09:44:13 -06:00
Allen Byrne
081e369ade Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '2f605eaa99e1d8fc359079f93b91522c561500b0':
  updated with HDFFV-10511
2018-12-05 09:37:08 -06:00
Scot Breitenfeld
2f605eaa99 Merge pull request #1351 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '988eed8cf776c14d3e0ddac9fecc372c74e5484c':
  updated with HDFFV-10511
2018-12-05 09:03:08 -06:00
Allen Byrne
d6de299f01 Need nonexistent file to skip stdout compare 2018-12-04 23:16:03 -06:00
Scot Breitenfeld
988eed8cf7 updated with HDFFV-10511 2018-12-04 12:25:30 -06:00
Quincey Koziol
c58d84e721 Refactor allocating & releasing pass through wrapper objects. 2018-12-03 13:11:17 -06:00
Allen Byrne
e3e24a2989 HDFFV-10632 - split stderr and stdout in cmake 2018-12-03 09:35:59 -06:00
Quincey Koziol
81d67d5fdc Fix typo 2018-11-30 15:00:38 -06:00
Quincey Koziol
50c4095c8c Remove duplicated comment. 2018-11-30 14:18:14 -06:00
Quincey Koziol
047269139f Add a couple of missing prototypes for static routines, along with updating
a comment from VOL plugin -> connector.
2018-11-30 14:12:32 -06:00
Songyu Lu
a89130553d HDFFV-10635: Allowing to write the same variable-length element more than once. 2018-11-30 09:02:03 -06:00
Quincey Koziol
beb7428f68 Switch H5VL_class_value_t from unsigned to int, and add "invalid" ID value. 2018-11-29 08:26:25 -06:00
Quincey Koziol
8c606f586e Correct "make check-vol" regression test target. 2018-11-28 22:54:46 -06:00
Quincey Koziol
f3ad03a538 Switch H5VL_class_value_t from enum to unsigned integer 2018-11-28 22:21:45 -06:00
Quincey Koziol
d442fe2d98 Add support for "make check-vol", along with a few minor cleanups, etc. 2018-11-28 19:07:30 -06:00
Quincey Koziol
6eabeabdaa Refactor infrastructure for setting FAPL information from environment
variables during testing, including connecting native, pass-through, and
dynamically loaded VOL connectors.   Also bring native and pass-through
VOL connectors into alignment, removing the "H5VLnative_private.h" header.
2018-11-28 17:38:03 -06:00
Quincey Koziol
3abf58dce0 Remove example VOL connector, since it's been superceded by the pass-through
VOL connector in the src subdirectory.
2018-11-28 10:38:52 -06:00
Quincey Koziol
238a207f2d Add pass-through VOL connector 2018-11-28 10:26:03 -06:00
Quincey Koziol
2db4b6df13 Update API tracing info for VOL functions and regenerate trace macros for VOL
API calls.
2018-11-28 10:22:29 -06:00
Quincey Koziol
bf79e1bd76 Added 'notify' callback for async requests; switched VOL class and info
comparison to return comparison value as parameter, so they can return error
values; "cancelled" -> "canceled"; switched order of 'wrap_object' and
'free_wrap_ctx' management callbacks.
2018-11-27 22:15:34 -06:00
Quincey Koziol
3c5706ff5b Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-27 18:51:57 -06:00
Dana Robinson
86c4e7ac0f Merge pull request #1345 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:openmpi_tweaks to develop
* commit '6fccabed2e8b522747ee8056a196273917af78c7':
  Missed some function renames in error text.
2018-11-27 15:05:03 -06:00
Ray Lu
041a8295ff Merge pull request #1344 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/HDFFV-10607-patches-for-warnings-in-the-core to develop
* commit '14de476c8cb1b797ad43bea3c71dfb32bcd2131c':
  HDFFV-10607 Fixing two compiler warnings in the library.
2018-11-27 14:59:43 -06:00
Dana Robinson
6fccabed2e Missed some function renames in error text. 2018-11-27 11:50:35 -08:00
Dana Robinson
3db8d69424 Merge pull request #1343 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:openmpi_tweaks to develop
* commit '8cf3bfb14bd2a80f13d269a9e84cd99f86f19254':
  Yanked all MPI-1 calls
  Updated H5S to use the MPI-2 function MPI_Type_get_exten() where available. OpenMPI 4.0 removed the deprecated MPI-1 MPI_type_extent() call by default, so this avoids needing a special OpenMPI build.
2018-11-27 13:08:54 -06:00
Dana Robinson
8cf3bfb14b Yanked all MPI-1 calls 2018-11-27 10:31:54 -08:00
Dana Robinson
bd820f7861 Merge branch 'develop' into openmpi_tweaks 2018-11-27 09:39:23 -08:00
Dana Robinson
b087f675e2 Merge pull request #1341 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'd517bdf9d36f423e7abad34e109b6ce694fd03c8':
  Pulled the RELEASE.txt note concerning HDFFV-10633 since that change was pushed to hdf5_1_10 in case we release the Windows VFD in 1.10.5.
2018-11-27 11:38:29 -06:00
Songyu Lu
14de476c8c HDFFV-10607 Fixing two compiler warnings in the library. 2018-11-27 09:04:42 -06:00
Dana Robinson
38c202df4d Updated H5S to use the MPI-2 function MPI_Type_get_exten()
where available. OpenMPI 4.0 removed the deprecated MPI-1
MPI_type_extent() call by default, so this avoids needing
a special OpenMPI build.
2018-11-26 22:10:06 -08:00
Dana Robinson
d517bdf9d3 Pulled the RELEASE.txt note concerning HDFFV-10633 since that
change was pushed to hdf5_1_10 in case we release the Windows VFD
in 1.10.5.
2018-11-24 11:56:28 -08:00
Quincey Koziol
3217ffa1ac Add using FAPL from h5_fileaccess() to more tests. 2018-11-22 01:21:50 -06:00
Quincey Koziol
340b7a4fb8 Remove unused test for unimplemented routine. 2018-11-22 01:08:47 -06:00
Quincey Koziol
f9b625ef5d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-21 23:13:04 -06:00
Quincey Koziol
3055e499d5 Switch loc_params to VOL callbacks to pass struct by pointer instead of by
value.
2018-11-21 23:12:24 -06:00
Larry Knox
9c7161e105 Merge pull request #1334 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '7bf6e98bd921c4ef1899144ab8a1f0d66a141141':
  Move wait_H5init.cmake up to config/cmake.
  Changes to CMake code to pause cmake/ctest, waiting for batch jobs to run and finish.
  Really don't run parallel tests without option specifying script.
  Add script and changes to wait for H5Tinit.c Add more sample batch scripts, specifically for sbatch, not for knl cross compile. Don't run parallel tests when no parallel test script is configured in HDF5options.cmake.
2018-11-21 09:55:08 -06:00
Quincey Koziol
8939a2190f Add info_to_str and str_to_info "management" callbacks for serializing and
deserializing a connector's info object.
2018-11-21 00:56:13 -06:00
Larry Knox
7bf6e98bd9 Move wait_H5init.cmake up to config/cmake. 2018-11-20 12:09:14 -06:00
Larry Knox
8544aae3e8 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into develop 2018-11-20 11:58:27 -06:00
Larry Knox
720bbdfe61 Changes to CMake code to pause cmake/ctest, waiting for batch jobs to
run and finish.
2018-11-20 11:03:58 -06:00
Larry Knox
5a90dd3cae Merge pull request #1338 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '3dc4055aaf2c0917569cba38d47df051cc0eeb79':
  Fix typo
  Standardize script
  add max count to options file
  Check PARALLEL_LEVEL maximum
2018-11-20 06:54:11 -06:00
Quincey Koziol
23ff0240ae Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-19 21:09:28 -06:00
Ray Lu
160107a97c Merge pull request #1335 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/HDFFV-10571-cve-2018-17237-divided-by-zero to develop
* commit 'c923cdad6e515c842f3795a5b6d754ad94021e09':
  HDFFV-10571: Minor format changes.
  HDFFV-10571: Minor change - reformatting the error check.
  HDFFV-10571: Minor change - adding the error check right after decoding of chunk dimension for safeguard.
  HDFFV-10571: Minor change - revised the comment to be clearer.
  HDFFV-10571 Divided by Zero vulnerability.  Minor fix: I added an error check to make sure the chunk size is not zero.
2018-11-19 17:20:06 -06:00
Jacob Smith
1fed1a7be7 Incorporate minimized dset ohdr tests into extant suite. 2018-11-19 14:08:31 -06:00
Allen Byrne
3dc4055aaf Fix typo 2018-11-19 11:41:11 -06:00
Allen Byrne
4bc283a0f2 Standardize script 2018-11-19 11:03:42 -06:00
Allen Byrne
d9fbacff90 add max count to options file 2018-11-19 11:02:20 -06:00
Allen Byrne
a26aedce04 Check PARALLEL_LEVEL maximum 2018-11-19 10:03:18 -06:00
Quincey Koziol
6c99961bb2 Revert some of the changes to support the original property list value of
metadata read attempts.
2018-11-18 00:57:09 -06:00
Quincey Koziol
d0d360ff2d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-18 00:39:27 -06:00
Quincey Koziol
59c28780d3 Add VOL connector info to the flie access property list returned from
H5Fget_access_plist().  Also, other misc. cleanups, etc.
2018-11-18 00:38:29 -06:00
Ray Lu
e9125d6a99 Merge pull request #1337 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/HDFFV-10601-issues-with-chunk-cache-hash2 to develop
* commit '4f5a52e595194562644517b7600f3b96d4008c17':
  HDFFV-10601: Adding the new hdf5/tools/test/perform/chunk_cache.c to MANIFEST.
  HDFFV-10601: Some compiler doesn't support clock_gettime().  So I changed to use gettimeofday (HDgettimeofday in the HDF5 library).
2018-11-17 19:03:30 -06:00
Songyu Lu
4f5a52e595 HDFFV-10601: Adding the new hdf5/tools/test/perform/chunk_cache.c to MANIFEST. 2018-11-16 16:25:50 -06:00
Songyu Lu
d25afb294c HDFFV-10601: Some compiler doesn't support clock_gettime(). So I changed to use gettimeofday (HDgettimeofday in the HDF5 library). 2018-11-16 12:06:30 -06:00
Songyu Lu
c923cdad6e HDFFV-10571: Minor format changes. 2018-11-15 16:50:13 -06:00
Songyu Lu
198bc059b0 HDFFV-10571: Minor change - reformatting the error check. 2018-11-15 15:05:23 -06:00
Songyu Lu
c132cb5565 HDFFV-10571: Minor change - adding the error check right after decoding of chunk dimension for safeguard. 2018-11-15 14:57:26 -06:00
Ray Lu
e07d097da1 Merge pull request #1316 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/HDFFV-10601-issues-with-chunk-cache-hash to develop
* commit 'cd13d24e5140578a880aebe4e2d8b899179d0870':
  HDFFV-10601: I added error checking to the HDF5 functions.
  HDFFV10601: Adding performance test to verify the improvement.
  HDFFV-10601: I changed to a better way to calculate the number of chunks in a dataset.
  HDFFV-10601 Issues with chunk cache hash value calcuation:
2018-11-15 09:43:46 -06:00
Scot Breitenfeld
73f881a838 Merge pull request #1325 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:J10511 to develop
* commit '9bbaca66ca1f987ede2f5c7e9c5938523a47262f':
  fixed sp.
  HDFFV-10511 -- Make fortran specific subroutines names PRIVATE
2018-11-15 09:27:16 -06:00
Songyu Lu
cd13d24e51 HDFFV-10601: I added error checking to the HDF5 functions. 2018-11-14 17:30:23 -06:00
Dana Robinson
e890eb89d2 Merge pull request #1336 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:sec2_to_posix to develop
* commit '3edd97731e90b7fc3a378e2c6e9c043a23327d93':
  Renamed h5repart's -family_to_sec2 to -family_to_single.
2018-11-14 16:21:08 -06:00
Dana Robinson
3edd97731e Renamed h5repart's -family_to_sec2 to -family_to_single. 2018-11-14 13:37:31 -08:00
Songyu Lu
1d89a55590 HDFFV-10571: Minor change - revised the comment to be clearer. 2018-11-14 14:54:03 -06:00
Songyu Lu
78af4c21cb HDFFV-10571 Divided by Zero vulnerability. Minor fix: I added an error check to make sure the chunk size is not zero. 2018-11-14 14:31:37 -06:00
Larry Knox
9620069142 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2018-11-14 11:37:49 -06:00
Larry Knox
38f7e3c86b Really don't run parallel tests without option specifying script. 2018-11-14 11:35:36 -06:00
Larry Knox
6cbd463d41 Add script and changes to wait for H5Tinit.c
Add more sample batch scripts, specifically for sbatch, not for knl
cross compile.
Don't run parallel tests when no parallel test script is configured in
HDF5options.cmake.
2018-11-14 11:19:28 -06:00
Dana Robinson
ca1788e082 Merge pull request #1332 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:java_test_error_stack to develop
* commit '110c1b671ea7f2f5e8154d66f6ca6fcfb00b2bb2':
  The Java tests will no longer fail when the zlib is not present.
2018-11-13 16:38:43 -06:00
Songyu Lu
2fe10c647c HDFFV10601: Adding performance test to verify the improvement. 2018-11-13 11:37:29 -06:00
Dana Robinson
110c1b671e The Java tests will no longer fail when the zlib is not present. 2018-11-13 07:45:56 -08:00
Quincey Koziol
e2ed2edf6e Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-12 16:23:54 -06:00
Dana Robinson
f515574dcf Merge pull request #1331 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:java_test_error_stack to develop
* commit 'ef29549f0d66612fcdeefc763785c6826c67ad8b':
  Updated the Java tests so that they don't fail when the error stack changes.
2018-11-12 16:05:16 -06:00
Dana Robinson
ef29549f0d Updated the Java tests so that they don't fail when the
error stack changes.
2018-11-12 13:31:10 -08:00
Allen Byrne
c2ceeb02b6 Merge pull request #1327 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '7e204759f861f4f482db2032127a4dc406fcd1d6':
  Fix generate file commands
  Fix target depends
  Fix target files for commands
2018-11-12 13:45:05 -06:00
Allen Byrne
7e204759f8 Fix generate file commands 2018-11-12 12:26:11 -06:00
Quincey Koziol
17f9cb4158 Switch tool error output to match VOL changes within library 2018-11-12 12:14:25 -06:00
Quincey Koziol
a442ce607b Fix a few error messages 2018-11-12 12:13:18 -06:00
Allen Byrne
ba609275d8 Fix target depends 2018-11-12 11:52:46 -06:00
Allen Byrne
fde902cb45 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '6a2e97bead3c4d366f28b6a1e4e338fc07014954':
  HDFFV-10537: Remove installation of Fortran test mod files
2018-11-12 08:55:11 -06:00
Quincey Koziol
1118672e8c Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-10 11:54:58 -06:00
Quincey Koziol
ca1b9025fe Switch switch remainder of API routines to use VOL callbacks. 2018-11-10 11:54:20 -06:00
Scot Breitenfeld
6a2e97bead Merge pull request #1329 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:J10537 to develop
* commit 'cd73b837db95493de0641b2c63537b42b8b57a84':
  HDFFV-10537: Remove installation of Fortran test mod files
2018-11-09 16:51:24 -06:00
M. Scot Breitenfeld
cd73b837db HDFFV-10537: Remove installation of Fortran test mod files
Removed from autools install, cmake does not have this issue.
2018-11-09 16:00:34 -06:00
Allen Byrne
6b959b1e21 Fix target files for commands 2018-11-09 14:38:11 -06:00
Allen Byrne
6e74d2f2ed Merge pull request #1324 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '1d2f7ca4901d126d677a32ecb4e2bc60b3b41182':
  TRILAB-36 only copy shared generated
2018-11-09 14:05:59 -06:00
M. Scot Breitenfeld
9bbaca66ca fixed sp. 2018-11-09 11:29:24 -06:00
M. Scot Breitenfeld
4fbd6bb8a5 HDFFV-10511 -- Make fortran specific subroutines names PRIVATE
Made non-public APIs private.
2018-11-09 11:24:42 -06:00
Allen Byrne
1d2f7ca490 TRILAB-36 only copy shared generated 2018-11-09 11:20:48 -06:00
Songyu Lu
3a13bb72e8 HDFFV-10601: I changed to a better way to calculate the number of chunks in a dataset. 2018-11-08 15:41:49 -06:00
Songyu Lu
709704528c Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~songyulu/hdf5_ray into bugfix/HDFFV-10601-issues-with-chunk-cache-hash 2018-11-08 10:16:47 -06:00
Quincey Koziol
140f72b748 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-07 15:20:28 -06:00
Allen Byrne
40338b9e40 Merge pull request #1298 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '4616c1e863ab756d22af696672ba9bc2fe0eea25':
  Add custom target to force wait on generated file
  TRILAB-81 fix typo
  TRILAB-82 fixed errors found in review
  Update windows test machine info
  TRILAB-81 Output error if filename length is greater then 255
  TRILAB-81 check for func success before using value
  TRILAB-81 Coverity fix
  Move options to root CMakeLists.txt
  TRILAB-34 fix required through testing
  TRILAB-34 add batch option (also patch2 from 10633)
  TRILAB-81 coverity fixes
2018-11-07 10:02:49 -06:00
Allen Byrne
4616c1e863 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '1652a60fcbe9894d7c34a778fb24dce1979fb9a9':
  HDFFV-10605 Only test plugins if SHARED enabled
  Correct platforms
  Correct extlib depends
  Commit version changes for additional files for 1.11.3 snapshot release.
2018-11-06 16:01:35 -06:00
Allen Byrne
1652a60fcb Merge pull request #1319 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '81cb24ac1db0f4936b19067cdb7fa4e14e0d00db':
  Commit version changes for additional files for 1.11.3 snapshot release.
2018-11-06 16:01:16 -06:00
Allen Byrne
0f4f4cf5dd Merge pull request #1320 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '79903575e64e1e8f46ce27e6212d5d5939a8a900':
  HDFFV-10605 Only test plugins if SHARED enabled
  Correct platforms
  Correct extlib depends
2018-11-06 15:47:10 -06:00
Allen Byrne
79903575e6 HDFFV-10605 Only test plugins if SHARED enabled 2018-11-06 15:45:58 -06:00
Allen Byrne
c77d044dd0 Correct platforms 2018-11-06 15:30:15 -06:00
Allen Byrne
b9b89705c3 Correct extlib depends 2018-11-06 15:10:55 -06:00
Allen Byrne
7f5d91fa8f Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '9f299a6eeb91b8bc59196ccbb7067285b23e6085':
  TRILAB-36 add custom target on generated files
  Fix typo in whitespace area
2018-11-06 15:08:36 -06:00
Allen Byrne
9f299a6eeb Merge pull request #1318 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '1bd3a2885865f4745209233ea84045a22e6dce9c':
  TRILAB-36 add custom target on generated files
  Fix typo in whitespace area
2018-11-06 15:07:37 -06:00
Larry Knox
81cb24ac1d Commit version changes for additional files for 1.11.3 snapshot release. 2018-11-06 10:56:36 -06:00
Quincey Koziol
ef9ffc630a Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-06 10:44:17 -06:00
Allen Byrne
1bd3a28858 TRILAB-36 add custom target on generated files 2018-11-06 09:35:11 -06:00
Allen Byrne
a6a46fb27f Add custom target to force wait on generated file 2018-11-06 09:32:34 -06:00
Allen Byrne
e753904d0b Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e6545faa5699aae4d5dca23ed40e3080fa9dc72d':
  Update HDF5-Examples version to be included in CMake-* tar/zip files.
  Snapshot version 1.11 release 3.
2018-11-05 16:57:51 -06:00
Allen Byrne
05419b19fc Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e6545faa5699aae4d5dca23ed40e3080fa9dc72d':
  Update HDF5-Examples version to be included in CMake-* tar/zip files.
  Snapshot version 1.11 release 3.
2018-11-05 16:57:39 -06:00
Larry Knox
e6545faa56 Merge pull request #1317 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:develop to develop
* commit 'be0d6b206aaa04f7d9cb406a71aeeb458ba67975':
  Update HDF5-Examples version to be included in CMake-* tar/zip files.
  Snapshot version 1.11 release 3.
2018-11-05 15:49:11 -06:00
hdftest
be0d6b206a Update HDF5-Examples version to be included in CMake-* tar/zip files. 2018-11-05 12:40:04 -06:00
hdftest
db48399bd8 Snapshot version 1.11 release 3. 2018-11-05 12:21:13 -06:00
Allen Byrne
550674d28a Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '20ad15a1a8e9008103fe7d30401408eaa2aff6e5':
  Fixed exit() to HDexit() in use_append_chunk.c and use_append_mchunks.c
  Fixed fprintf to HDfprintf in the following routines: 1) read_uc_file() in use_common.c 2) main() of use_append_chunk.c and use_append_mchunks.c
  Fix for HDFFV-10554 use_append_chunks in swmr use case test failure Fix the timing issue of the test by moving the open/close of the test file for the writer to use_append_chunk.c and use_append_mchunks.c.
2018-11-05 09:09:26 -06:00
Allen Byrne
9e0eb2fdca Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '20ad15a1a8e9008103fe7d30401408eaa2aff6e5':
  Fixed exit() to HDexit() in use_append_chunk.c and use_append_mchunks.c
  Fixed fprintf to HDfprintf in the following routines: 1) read_uc_file() in use_common.c 2) main() of use_append_chunk.c and use_append_mchunks.c
  Fix for HDFFV-10554 use_append_chunks in swmr use case test failure Fix the timing issue of the test by moving the open/close of the test file for the writer to use_append_chunk.c and use_append_mchunks.c.
2018-11-05 09:09:09 -06:00
Quincey Koziol
afd54bbe5c Remove most debugging shims & scaffolding. 2018-11-04 02:09:27 -06:00
Quincey Koziol
1daa7b830a Switch driver | plugin => connector. 2018-11-04 01:27:23 -05:00
Quincey Koziol
deb75622ca Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-11-04 00:25:36 -05:00
Quincey Koziol
df7cf2a9d3 Refactor, standardize, and revise the async request callbacks. 2018-11-04 00:05:08 -05:00
Songyu Lu
6fa26d7e49 HDFFV-10601 Issues with chunk cache hash value calcuation:
1. H5D__chunk_hash_val: When the number of chunks in the fastest changing dimension is larger than the number of slots in the hash table, H5D__chunk_hash_val abandons the normal hash value calculation algorithm and simply uses the scaled dimension.  This will cause chunks a selection that cuts across chunks in dimensions other than the fastest changing to all have the same hash value, and they will therefore always evict each other from the cache, having an obvious major performance impact. Eliminated the check  for the number of slots in this function and always use the full algorithm.

2. H5D__chunk_init: When the scaled dimensions (number of chunks in each dimension) are calculated in H5D__chunk_init, a simple divide ("/") operator is used with the dataset size in elements and the chunk size in elements. While this is fine when the dataset size is an exact multiple of the chunk size, in other cases, since "/" rounds down, it results in a scaled dimension one less than it should (it ignores the partial edge chunk). This has trickle down effects on hash value calculation that can cause excess hash value collisions and therefore performance issues. Changed the calculation to (((dataset_size - 1) / chunk_size) + 1).

Tested the build with Autotool and CMake.
2018-11-02 14:53:35 -05:00
Quincey Koziol
4806d29d9f Refactor and standardize named datatype VOL callbacks. 2018-11-01 17:02:27 -05:00
Vailin Choi
20ad15a1a8 Merge pull request #1314 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
* commit '51076d40617aa6f0236809c2c919cc6921b3bbc1':
  Fixed exit() to HDexit() in use_append_chunk.c and use_append_mchunks.c
  Fixed fprintf to HDfprintf in the following routines: 1) read_uc_file() in use_common.c 2) main() of use_append_chunk.c and use_append_mchunks.c
  Fix for HDFFV-10554 use_append_chunks in swmr use case test failure Fix the timing issue of the test by moving the open/close of the test file for the writer to use_append_chunk.c and use_append_mchunks.c.
2018-11-01 16:12:07 -05:00
Vailin Choi
51076d4061 Fixed exit() to HDexit() in use_append_chunk.c and use_append_mchunks.c 2018-11-01 15:00:40 -05:00
Quincey Koziol
1b00d04080 Refactor and standardize object VOL callbacks. 2018-11-01 14:54:44 -05:00
Vailin Choi
4f62c084f1 Fixed fprintf to HDfprintf in the following routines:
1) read_uc_file() in use_common.c
2) main() of use_append_chunk.c and use_append_mchunks.c
2018-11-01 12:03:34 -05:00
Quincey Koziol
a5cc4e272b Refactor and standardize the link VOL callbacks. Also fix error stack for
testing.
2018-11-01 11:22:54 -05:00
Allen Byrne
2c266f2cb6 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '3fcc1e7929d99272cf3d29883de78b1ad544ea38':
  A trivial change to reformat a comment.  The purpose is simply to try out Git.
2018-11-01 08:40:53 -05:00
Allen Byrne
0e1c2d1c9e Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '3fcc1e7929d99272cf3d29883de78b1ad544ea38':
  A trivial change to reformat a comment.  The purpose is simply to try out Git.
2018-11-01 08:40:38 -05:00
Quincey Koziol
a39486a341 Refactor and standardize group VOL callbacks. 2018-10-31 19:17:37 -05:00
Quincey Koziol
ef7c458d73 Update for change in error stack when opening a dataset. 2018-10-31 18:41:19 -05:00
Quincey Koziol
d66d5e01c0 Refactor and standarize file object callbacks, including some fixes on the
dataset callbacks.
2018-10-31 18:18:45 -05:00
Ray Lu
3fcc1e7929 Merge pull request #1315 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:bugfix/ray_test to develop
* commit 'b72e926ed0c981d14d5219b32042c3d0b938d1e1':
  A trivial change to reformat a comment.  The purpose is simply to try out Git.
2018-10-31 10:43:22 -05:00
Songyu Lu
b72e926ed0 A trivial change to reformat a comment. The purpose is simply to try out Git. 2018-10-31 09:54:08 -05:00
Allen Byrne
3042976b65 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '99c1e577da3a2dd45fbfee748220986c42962921':
  Removed a couple of extraneous commas from VOL example.
  Cleaned up VOL example.
  Updated MANIFEST file.
  Fixed VOL example to use a platform-independent format specifier for size_t.
2018-10-31 08:49:58 -05:00
Allen Byrne
a5e33551d7 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '99c1e577da3a2dd45fbfee748220986c42962921':
  Removed a couple of extraneous commas from VOL example.
  Cleaned up VOL example.
  Updated MANIFEST file.
  Fixed VOL example to use a platform-independent format specifier for size_t.
2018-10-31 08:49:45 -05:00
Dana Robinson
99c1e577da Merge pull request #1313 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_tweaks to develop
* commit 'ee12aff2ca89e92b99590f29096794a84c6bacdc':
  Removed a couple of extraneous commas from VOL example.
  Cleaned up VOL example.
  Updated MANIFEST file.
  Fixed VOL example to use a platform-independent format specifier for size_t.
2018-10-30 18:54:05 -05:00
Vailin Choi
d1d2cf776d Fix for HDFFV-10554 use_append_chunks in swmr use case test failure
Fix the timing issue of the test by moving the open/close of the test file for the writer to
use_append_chunk.c and use_append_mchunks.c.
2018-10-30 16:53:09 -05:00
Dana Robinson
ee12aff2ca Removed a couple of extraneous commas from VOL example. 2018-10-30 14:44:54 -07:00
Dana Robinson
7a5e632c0d Cleaned up VOL example. 2018-10-30 10:32:17 -07:00
Allen Byrne
98353c18bd Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '3145690c9590778b857def090489c6d890e42a5b':
  Add script to run tests with sbatch when not cross compiling. Add new files to MANIFEST.
2018-10-30 12:03:50 -05:00
Allen Byrne
b2147800a8 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '3145690c9590778b857def090489c6d890e42a5b':
  Add script to run tests with sbatch when not cross compiling. Add new files to MANIFEST.
2018-10-30 12:03:39 -05:00
Dana Robinson
ab9e964c3e Updated MANIFEST file. 2018-10-30 09:53:20 -07:00
Dana Robinson
12e929e1ec Fixed VOL example to use a platform-independent format
specifier for size_t.
2018-10-29 16:06:22 -07:00
Quincey Koziol
4c6d8d376c Remove erroneous call. 2018-10-29 17:26:33 -05:00
Quincey Koziol
8c37f531a9 Switch to using VOL callbacks, instead of direct calls to internal routines. 2018-10-29 17:24:33 -05:00
Larry Knox
3145690c95 Merge pull request #1312 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '41faaf271ca1de929c1e12ae13c40fc67a53edff':
  Add script to run tests with sbatch when not cross compiling. Add new files to MANIFEST.
2018-10-29 17:11:15 -05:00
Quincey Koziol
aaaf1acc08 Add ref counter to VOL object wrapping in API contexts, so that re-entrant /
recursive routines work correctly.  Another minor cleanup in the attribute code.
2018-10-29 16:52:00 -05:00
Allen Byrne
89bd227aeb Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ff34cd0a0506ca16f4971cf03bd1b6e33bfa132c':
  Updated RELEASE.txt to reflect HDFFV-10609 work (H5Xpkg.h files being incorrectly installed).
  Add files and changes to cross compile with CrayLinuxEnvironment and run ctest tests with a batch job on knl compute nodes.
2018-10-29 16:44:09 -05:00
Larry Knox
41faaf271c Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop 2018-10-29 16:18:27 -05:00
Larry Knox
f031cc7b7a Add script to run tests with sbatch when not cross compiling.
Add new files to MANIFEST.
2018-10-29 16:17:10 -05:00
Allen Byrne
ae0f4a23c0 Fix typo in whitespace area 2018-10-29 15:52:39 -05:00
Dana Robinson
ff34cd0a05 Merge pull request #1311 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:cmake_tweaks to develop
* commit 'c9273522e9a7e946802d8545b2532f9129b459a9':
  Updated RELEASE.txt to reflect HDFFV-10609 work (H5Xpkg.h files being incorrectly installed).
2018-10-29 15:35:55 -05:00
Dana Robinson
c9273522e9 Updated RELEASE.txt to reflect HDFFV-10609 work (H5Xpkg.h files
being incorrectly installed).
2018-10-29 12:59:25 -07:00
Larry Knox
81c0357645 Merge pull request #1309 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'b24259ed8cdb273273f82c2b3f3a2dcac60b32ba':
  Add files and changes to cross compile with CrayLinuxEnvironment and run ctest tests with a batch job on knl compute nodes.
2018-10-29 14:57:00 -05:00
Larry Knox
b24259ed8c Add files and changes to cross compile with CrayLinuxEnvironment and run
ctest tests with a batch job on knl compute nodes.
2018-10-29 14:24:08 -05:00
Quincey Koziol
ca5ff0c0c2 Convert dataset callbacks to standard form, for wrapping object IDs, etc.
Also, fix a few attribute issues that I missed.
2018-10-29 13:15:56 -05:00
Allen Byrne
2c48f6bd00 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '7db3ea76da5d3b5c237a707b09d1618d3206ba83':
  Makes the installed header files the same between the autotools and CMake.
2018-10-29 11:10:27 -05:00
Dana Robinson
7db3ea76da Merge pull request #1305 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:cmake_tweaks to develop
* commit '62b92ddf4096d9b8f6235587ec16f34f6c6fa119':
  Makes the installed header files the same between the autotools and CMake.
2018-10-29 09:16:23 -05:00
Quincey Koziol
8fd2e1d36e Convert attribute VOL callbacks to a standard form that sets up the wrapper
object info in a single place.
2018-10-28 20:51:16 -05:00
Quincey Koziol
ad92351809 Clean up va_list properly on error. 2018-10-28 02:03:08 -05:00
Quincey Koziol
58202337dd Minor coding style cleanups 2018-10-28 02:02:45 -05:00
Quincey Koziol
8ee361f185 Move all callback-related routines into the callback source file, standardizing
their coding style
2018-10-28 01:31:28 -05:00
Quincey Koziol
50dd616eb5 Correct error with parsing of "FUNC_ENTER_API_NOINIT" 2018-10-27 17:38:32 -05:00
Quincey Koziol
9bc6644ed1 Duplicate name of VOL plugin class, to avoid continuing to refer to the caller's
string when making a copy of the class for internal use.
2018-10-27 16:15:39 -05:00
Quincey Koziol
fb6ecf33b0 Fix names of VOL API routines. 2018-10-27 02:43:40 -05:00
Quincey Koziol
9c7b96b42f Move (final?) file operation from directly calling into library code to using
the file_optional VOL callback.
2018-10-27 02:21:48 -05:00
Quincey Koziol
43ffc1deb5 Remove some VOL-specific internal coding. 2018-10-27 02:06:43 -05:00
Quincey Koziol
83e03772eb Add VOL object wrapping to API context when refreshing groups, named datatypes
and objects.
2018-10-27 01:55:31 -05:00
Quincey Koziol
6e84fd8327 Remove virtual dataset refresh code's direct use of native VOL plugin's ID. 2018-10-27 01:33:07 -05:00
Dana Robinson
b29101c971 Merge branch 'develop' into cmake_tweaks 2018-10-26 20:49:07 -07:00
Dana Robinson
62b92ddf40 Makes the installed header files the same between the autotools
and CMake.

* CMake will no longer install private generated headers and tools
  library headers.
* Several empty public header files (which represent internal packages)
  were removed. These were only installed by CMake.
* Autotools installs will install H5FDwindows.h.

Fixes HDFFV-10614.
2018-10-26 20:44:29 -07:00
Quincey Koziol
ce3d1ec9ea Eliminate last call to H5VL_native_register, shifting everything over to
the VOL plugin wrapping code.
2018-10-26 17:27:10 -05:00
Quincey Koziol
171deaa588 Checkpoint progress on stacking VOL plugins - all standalone regression tests
in the 'test' directory appear to be working.
2018-10-26 16:09:06 -05:00
Quincey Koziol
305997501d Updates after merging changes from develop. 2018-10-26 00:54:29 -05:00
Quincey Koziol
4a32895724 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into stackable_vol 2018-10-25 18:32:13 -05:00
Quincey Koziol
0df6e44a6e Squashed commit of private branch changes to support stackable VOL plugins.
modified:   test/dsets.c
2018-10-24 23:52:47 -05:00
Allen Byrne
29afe82e79 TRILAB-81 fix typo 2018-10-24 15:39:09 -05:00
Allen Byrne
ee54368066 TRILAB-82 fixed errors found in review 2018-10-24 14:55:16 -05:00
Allen Byrne
f8b5d40c76 Update windows test machine info 2018-10-23 10:15:03 -05:00
Allen Byrne
1d06bbe523 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '47f30b474bdc498c20bd6d2a0ba7e8947ab389f0':
  HDFFV-10608 Move toolchain files into a subfolder
  TRILAB-36 add option for test script batch command
  Fixed warnings in the VOL example and run it from the script.
  Split H5VLnative.h into public and private files and updated
2018-10-23 09:32:00 -05:00
Allen Byrne
47f30b474b Merge pull request #1301 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '096279caf76a542306b840fb90e1e753e8bbf748':
  HDFFV-10608 Move toolchain files into a subfolder
  TRILAB-36 add option for test script batch command
2018-10-22 16:33:43 -05:00
Allen Byrne
096279caf7 HDFFV-10608 Move toolchain files into a subfolder 2018-10-22 16:08:52 -05:00
Allen Byrne
164bae2439 TRILAB-36 add option for test script batch command 2018-10-22 15:39:03 -05:00
Dana Robinson
8a12b57483 Merge pull request #1300 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_tweaks to develop
* commit 'b33a2e7dfe76a2947c12462adb40c88af9c92e75':
  Fixed warnings in the VOL example and run it from the script.
  Split H5VLnative.h into public and private files and updated
2018-10-22 10:59:07 -05:00
Dana Robinson
b33a2e7dfe Fixed warnings in the VOL example and run it from the script. 2018-10-21 10:08:26 -07:00
Dana Robinson
46c5b059f1 Split H5VLnative.h into public and private files and updated 2018-10-20 13:06:37 -07:00
Allen Byrne
9838dba4a4 TRILAB-81 Output error if filename length is greater then 255 2018-10-19 14:53:18 -05:00
Allen Byrne
cce1727525 TRILAB-81 check for func success before using value 2018-10-19 14:45:04 -05:00
Allen Byrne
6e84657314 TRILAB-81 Coverity fix 2018-10-19 14:03:51 -05:00
Allen Byrne
e1308fc432 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5f99891e6dc59524fb6e43ca96a86df22b403c61':
  Move options to root cmake file
  EED-258 Add modules uses toolchain files
  Updates to the VOL ID and object API calls.
2018-10-19 13:49:55 -05:00
Allen Byrne
5f99891e6d Merge pull request #1299 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '494d39f1c2f6225c732cb857c860d6b475d03226':
  Move options to root cmake file
  EED-258 Add modules uses toolchain files
2018-10-19 13:49:33 -05:00
Allen Byrne
494d39f1c2 Move options to root cmake file 2018-10-19 13:34:31 -05:00
Allen Byrne
cd7a896ee4 Move options to root CMakeLists.txt 2018-10-19 13:33:12 -05:00
Dana Robinson
4e575a0865 Merge pull request #1297 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '2d6d5cad0cc426cd53b9d4fda15e53d8021e4c7b':
  Updates to the VOL ID and object API calls.
2018-10-18 16:05:40 -05:00
Allen Byrne
7e00924d1b EED-258 Add modules uses toolchain files 2018-10-18 14:44:27 -05:00
Allen Byrne
e3e0289d43 TRILAB-34 fix required through testing 2018-10-17 11:06:45 -05:00
Allen Byrne
e769ee8b5d TRILAB-34 add batch option (also patch2 from 10633) 2018-10-17 11:01:01 -05:00
Allen Byrne
633b7f93ce TRILAB-81 coverity fixes 2018-10-17 10:57:56 -05:00
Allen Byrne
a82aee9a5f Merge pull request #1292 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '2e28fad2d007841c08cdb3f06a3bd177d12ce30e':
  TRILAB-34 remove extra arg
  TRILAB-34 Add batch script config command
  TRILAB-36 Revert to target_file and correct property
  Add generated propoerty to H5lib_settings
  HDFFV-10603 patch 6
  TRILAB-34 batch command options
  Correct quote char
  Add more descriptive option name
  HDFFV-10603 fixup cmake usage
  TRILABS-34 add batch option. Also fix cmakedefine01 usage
2018-10-17 10:54:10 -05:00
Dana Robinson
2d6d5cad0c Updates to the VOL ID and object API calls.
This brings the H5VL code in line with the H5I code regarding
naming, parameter order, etc.

Several public API calls were affected by this change.

These changed names to reflect their use with VOL drivers:
    H5VLregister()          -->     H5VLregister_driver()
    H5VLregister_by_name()  -->     H5VLregister_driver_by_name()
    H5VLunregister()        -->     H5VLunregister_driver()
    H5VLis_registered()     -->     H5VLis_driver_registered()

This call was renamed to match H5Iregister(). The order of the first
two parameters also reversed and the object pointer is now const.
    H5VLobject_register()   -->     H5VLregister()
2018-10-17 02:06:28 -07:00
Allen Byrne
2e28fad2d0 TRILAB-34 remove extra arg 2018-10-16 16:46:45 -05:00
Allen Byrne
c39449fa12 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '1e8ef703cdc057211b3587be776a6e9f62e8f76f':
  Fixed a C++ style commenting issue and removed an unused field from H5F_trav_obj_ids_t.
  Fixed a memory issue in H5Drefresh() where the dataset's H5VL_object_t gets closed but we try to use it to find the driver.
2018-10-16 13:10:48 -05:00
Allen Byrne
6b65a1b78f TRILAB-34 Add batch script config command 2018-10-16 12:06:07 -05:00
Allen Byrne
77f284a175 TRILAB-36 Revert to target_file and correct property 2018-10-16 11:33:44 -05:00
Allen Byrne
db3fe90abd Add generated propoerty to H5lib_settings 2018-10-15 16:57:50 -05:00
Allen Byrne
2e4e4f38e6 HDFFV-10603 patch 6 2018-10-15 13:49:53 -05:00
Allen Byrne
689f184345 TRILAB-34 batch command options 2018-10-12 13:55:29 -05:00
Dana Robinson
1e8ef703cd Merge pull request #1294 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'b0b9eda809282f362eb0e49bebd2956ba5a11bbc':
  Fixed a C++ style commenting issue and removed an unused field from H5F_trav_obj_ids_t.
2018-10-12 13:24:08 -05:00
Dana Robinson
b0b9eda809 Fixed a C++ style commenting issue and removed an unused field
from H5F_trav_obj_ids_t.
2018-10-12 10:47:47 -07:00
Dana Robinson
bb9e268782 Merge pull request #1293 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit 'c3a813a37fb700d2d1039d6fdc54d8e377412b76':
  Fixed a memory issue in H5Drefresh() where the dataset's H5VL_object_t gets closed but we try to use it to find the driver.
2018-10-12 11:41:31 -05:00
Dana Robinson
c3a813a37f Fixed a memory issue in H5Drefresh() where the dataset's H5VL_object_t
gets closed but we try to use it to find the driver.
2018-10-11 15:08:02 -07:00
Allen Byrne
42c8dd66d7 Correct quote char 2018-10-11 14:34:34 -05:00
Allen Byrne
46e7e5f8f2 Add more descriptive option name 2018-10-11 12:35:53 -05:00
Allen Byrne
4659e43a6b HDFFV-10603 fixup cmake usage 2018-10-11 12:24:15 -05:00
Allen Byrne
d69b541c20 TRILABS-34 add batch option. Also fix cmakedefine01 usage 2018-10-11 11:31:09 -05:00
Dana Robinson
39b3b52a94 Merge pull request #1291 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:vol_squash to develop
* commit 'e962df1591bc6eaee5b9e318de83b9c6698bc7b6':
  VOL FEATURE
2018-10-10 16:26:21 -05:00
Dana Robinson
e962df1591 VOL FEATURE 2018-10-10 08:10:15 -07:00
Dana Robinson
471150151d Merge pull request #1282 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:H5I_debug to develop
* commit '75b84b09bd249b36a063fd51ecd3383801b0118b':
  Updated the H5I debug dump to not segfault when types are not initialized or contain zero IDs in the skip list.
  The H5I debug ID dump function is now always available instead of hidden behind an H5_DEBUG_OUTPUT ifdef.
2018-10-06 22:35:29 -05:00
Dana Robinson
75b84b09bd Updated the H5I debug dump to not segfault when types are not initialized
or contain zero IDs in the skip list.
2018-10-05 22:16:51 -07:00
Dana Robinson
1b2c820b4b The H5I debug ID dump function is now always available instead
of hidden behind an H5_DEBUG_OUTPUT ifdef.
2018-10-05 21:47:51 -07:00
Allen Byrne
cd69ff0181 Merge pull request #1278 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '299852b6b565c906938ffaad5bb8e841b82118ab':
  Update examples version
  Fix typo
  Reconciled docs with 1.10 branch
  TRILABS-34 improve cross compile with emulator
  TRILABS-34 Cleanup try_run
  TRILABS-34 avoid try-run output capture
2018-10-04 17:00:35 -05:00
Allen Byrne
299852b6b5 Update examples version 2018-10-04 16:59:22 -05:00
Allen Byrne
7d5ced1d23 Fix typo 2018-10-04 16:56:44 -05:00
Allen Byrne
1fc646e52b Reconciled docs with 1.10 branch 2018-10-04 16:48:34 -05:00
Allen Byrne
4442b5b743 TRILABS-34 improve cross compile with emulator 2018-10-04 16:06:31 -05:00
Allen Byrne
a5301ee6b8 TRILABS-34 Cleanup try_run 2018-10-04 15:34:29 -05:00
Allen Byrne
9c39016e1d TRILABS-34 avoid try-run output capture 2018-10-04 14:00:49 -05:00
Allen Byrne
36594716c3 Merge pull request #1277 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '2a95ab5acbe032f58891b653f56b9db8a4938d95':
  TRILABS-21 add toolchain related info and files
  TRILABS-21 Add intel compiler support
  Fix undef for Xl compilers
  TRILAB-21 Intel flags
2018-10-04 13:04:53 -05:00
Allen Byrne
2a95ab5acb TRILABS-21 add toolchain related info and files 2018-10-04 11:40:33 -05:00
Allen Byrne
284cb8ffc0 TRILABS-21 Add intel compiler support 2018-10-04 10:42:44 -05:00
Allen Byrne
d581cbeb9e Merge pull request #1276 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '1cac34fc5bdae7f6cc265a4f94f82048642e5de7':
  Fix defines for XL compiler
2018-10-03 16:42:56 -05:00
Allen Byrne
1cac34fc5b Fix defines for XL compiler 2018-10-03 16:39:50 -05:00
Allen Byrne
c5256dcd9d Fix undef for Xl compilers 2018-10-03 16:24:46 -05:00
Allen Byrne
3209d1278f TRILAB-21 Intel flags 2018-10-02 18:13:21 -05:00
Jacob Smith
f5114fcddb Remove unnecessary H5_now() call; remove ohdr v2 mtime addition. 2018-10-02 10:50:37 -05:00
Allen Byrne
40179a9496 Merge pull request #1261 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'a2da9930af38a86387466a2021b71a2cc7484f1b':
  replace page chars
  Remove obsolete comment
2018-09-27 13:41:31 -05:00
Allen Byrne
a2da9930af replace page chars 2018-09-27 11:50:22 -05:00
Allen Byrne
8e48f6ec3a Remove obsolete comment 2018-09-27 09:58:27 -05:00
Allen Byrne
cc8538e1ed Merge pull request #1258 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'd26bb4d26ce5a23804a80c16dcb53e5f3eb957e4':
  HDFFV-10594 - mac must be space separated
  HDFFV-10594 - Add rpath configuration note
  Add extra path option for build location
  Use relative RPATH paths
2018-09-26 15:47:19 -05:00
Allen Byrne
d26bb4d26c HDFFV-10594 - mac must be space separated 2018-09-26 15:12:44 -05:00
Allen Byrne
ebec5c6117 HDFFV-10594 - Add rpath configuration note 2018-09-26 12:25:02 -05:00
Allen Byrne
5527dbfac2 Add extra path option for build location 2018-09-26 12:05:43 -05:00
Allen Byrne
01e40b31fe Use relative RPATH paths 2018-09-26 09:40:03 -05:00
Larry Knox
ab84c029c4 Merge pull request #1257 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '532a8df687e6acff18453fec6b8fe22f4bc65ebe':
  HDFFV-10531 document option for external libs
2018-09-25 15:05:47 -05:00
Allen Byrne
532a8df687 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '8e3b094bad1706b444554cd23591fd1c4431c1f1':
  Remainder of vol_normalization changes (dataset, attribute, files, objects).
2018-09-25 09:13:50 -05:00
Dana Robinson
8e3b094bad Merge pull request #1255 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '8a4695ed590809754794864d0473d15f8c1c69e3':
  Remainder of vol_normalization changes (dataset, attribute, files, objects).
2018-09-24 18:21:48 -05:00
Dana Robinson
8a4695ed59 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '2618dc314b9e4875e6ece7ee8696846ac2d02183':
  Remove extra unneeded
  Remove libsettings from pregenerated block
  CMake changes for SKIPPED and flush tests
  Correct $withval usage in configure
  HDFFV-10332 Adjust checks and generation of files
  HDFFV-10332 Use pre-generated files
2018-09-24 17:52:56 -05:00
Allen Byrne
ed6cfe8ee6 HDFFV-10531 document option for external libs 2018-09-24 16:18:42 -05:00
Allen Byrne
2618dc314b Merge pull request #1246 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '96d5da7f1ad681573d42d2a4fd9e422fe049442d':
  Remove extra unneeded
  Remove libsettings from pregenerated block
  Correct $withval usage in configure
  HDFFV-10332 Adjust checks and generation of files
  HDFFV-10332 Use pre-generated files
2018-09-24 16:17:39 -05:00
Allen Byrne
96d5da7f1a Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'e96bd2d46e208e0eb6c62cfcc4f86141f933884e':
  CMake changes for SKIPPED and flush tests
  H5S adjust callbacks now return an herr_t instead of void.
  Normalization with vol_integration (property lists, file drivers, other misc).
2018-09-24 15:55:19 -05:00
Allen Byrne
e96bd2d46e Merge pull request #1256 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '8d7bdb704163327cacf8be3a4e03f02fb88a957b':
  CMake changes for SKIPPED and flush tests
2018-09-24 15:54:31 -05:00
Allen Byrne
9045cf049f Remove extra unneeded 2018-09-24 15:31:39 -05:00
Allen Byrne
a8f46df2c2 Remove libsettings from pregenerated block 2018-09-24 15:29:26 -05:00
Allen Byrne
8d7bdb7041 CMake changes for SKIPPED and flush tests 2018-09-24 14:38:46 -05:00
Dana Robinson
2874af2cac Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2018-09-24 12:24:28 -07:00
Dana Robinson
a56b4db4ae Remainder of vol_normalization changes (dataset, attribute, files, objects). 2018-09-24 12:23:41 -07:00
Dana Robinson
496de34110 Merge pull request #1254 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '37309c1bd98b3d810f09569c72ac375e75117a91':
  H5S adjust callbacks now return an herr_t instead of void.
2018-09-24 14:06:13 -05:00
Dana Robinson
37309c1bd9 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2018-09-24 08:35:53 -07:00
Dana Robinson
30cd579a14 H5S adjust callbacks now return an herr_t instead of void. 2018-09-24 08:35:13 -07:00
Dana Robinson
8fb7c5a94f Merge pull request #1253 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '987bca5a34a09cd564445d53f58cf1e428e43276':
  Normalization with vol_integration (property lists, file drivers, other misc).
2018-09-24 10:01:53 -05:00
Allen Byrne
5b07855b2d Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '5c99d4e4df67699b81f1323e27a4df935d90e465':
  Normalization with vol_integration (misc internal and datatype)
2018-09-24 07:55:05 -05:00
Dana Robinson
987bca5a34 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2018-09-21 12:12:49 -07:00
Dana Robinson
265652fe54 Normalization with vol_integration (property lists, file drivers,
other misc).
2018-09-21 12:12:05 -07:00
Dana Robinson
5c99d4e4df Merge pull request #1252 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '1c8916ca0e9fe3447efe205094a2b5d3d5ccf8f6':
  Normalization with vol_integration (misc internal and datatype)
2018-09-21 12:42:06 -05:00
Allen Byrne
d8aa676175 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'f03758613a6ec83e5ddd664590d162ccc888f13e':
  Snapshot version 1.11 release 2.
  Normalization with vol_integration (test code and H5Xtest.c)
2018-09-21 12:17:19 -05:00
Dana Robinson
1c8916ca0e Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~derobins/hdf5_der into develop 2018-09-20 13:39:31 -07:00
Dana Robinson
b48686febd Normalization with vol_integration (misc internal and datatype) 2018-09-20 13:38:40 -07:00
Allen Byrne
f03758613a Merge pull request #1251 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:develop to develop
* commit '04a2d68778bc978ac62b03b5b5bfa034e2ced7f7':
  Snapshot version 1.11 release 2.
2018-09-20 15:32:32 -05:00
Jacob Smith
ff7d250093 Remove unused/redundant external file link test 2018-09-20 15:25:10 -05:00
Jacob Smith
9dec62e0ae Modify MTIME size behavior to be closer to expectations (we hope).
Minor code cleanup.
2018-09-20 15:15:49 -05:00
hdftest
04a2d68778 Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~hdftest/hdf5_hft into develop 2018-09-20 14:59:17 -05:00
hdftest
e2f6e6f62f Snapshot version 1.11 release 2. 2018-09-20 14:54:10 -05:00
Jacob Smith
5f8f703dec Continued progress in implementing tests. 2018-09-20 14:16:26 -05:00
Dana Robinson
d3074fa8bd Merge pull request #1250 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop to develop
* commit '67a126c7ba8825ffb193c930c7b8cae939b3446d':
  Normalization with vol_integration (test code and H5Xtest.c)
2018-09-20 14:13:27 -05:00
Dana Robinson
67a126c7ba Normalization with vol_integration (test code and H5Xtest.c) 2018-09-20 10:40:51 -07:00
Allen Byrne
2862c93a2b Correct $withval usage in configure 2018-09-20 10:15:33 -05:00
Allen Byrne
a2da8fc776 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '99299e195b5294549b75b28321ae7f8d2c6f8644':
  Fix missed replacement
2018-09-20 10:01:58 -05:00
Allen Byrne
99299e195b Merge pull request #1248 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'b3ad9e1c0e3d70233518ee84bd68935f5adb3b89':
  Fix missed replacement
2018-09-20 10:01:12 -05:00
Allen Byrne
569682b478 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'bbafe0debae9886988e4b7ec31bb8ef7292e43f9':
  Remove extra constant
  Fix typo
  Add Constants to all ERR STK checks
  Use constants for test comparisons
  Develop normalization with vol_integration. Mostly peripheral things like the tools and wrappers, with just enough core library code to support that.
2018-09-20 09:04:51 -05:00
Allen Byrne
b3ad9e1c0e Fix missed replacement 2018-09-20 09:01:57 -05:00
Allen Byrne
bbafe0deba Merge pull request #1247 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '59f36c5cdef1899742feb1c06ee09886e2d0a220':
  Remove extra constant
  Fix typo
  Add Constants to all ERR STK checks
  Use constants for test comparisons
2018-09-19 17:02:26 -05:00
Dana Robinson
bbde33f6f9 Merge pull request #1245 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_pull_request to develop
* commit 'eb78fd88325d58a95c026129f1e2b4c7c50f621a':
  Develop normalization with vol_integration. Mostly peripheral things like the tools and wrappers, with just enough core library code to support that.
2018-09-19 16:48:52 -05:00
Allen Byrne
59f36c5cde Remove extra constant 2018-09-19 10:52:43 -05:00
Allen Byrne
bd1be52990 Fix typo 2018-09-19 08:59:03 -05:00
Allen Byrne
cd290ddecb Add Constants to all ERR STK checks 2018-09-19 08:58:08 -05:00
Allen Byrne
d2806d4875 HDFFV-10332 Adjust checks and generation of files 2018-09-19 08:52:13 -05:00
Allen Byrne
fe418f6c23 Use constants for test comparisons 2018-09-19 08:06:05 -05:00
Allen Byrne
521eebbce2 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'ec53237fb849042b4a5b276a3e66a98ebb3710ee':
  Removed 'VOL' versions of FUNC_ENTER macros as well as empty functions orginally intended to support the full SWMR feature.
2018-09-19 07:44:32 -05:00
Dana Robinson
eb78fd8832 Develop normalization with vol_integration.
Mostly peripheral things like the tools and wrappers,
with just enough core library code to support that.
2018-09-18 22:57:37 -07:00
Dana Robinson
ec53237fb8 Merge pull request #1244 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:develop_pull_request to develop
* commit '680cf4d946fd10d50e0f7acdc5bc93f91037fb4f':
  Removed 'VOL' versions of FUNC_ENTER macros as well as empty functions orginally intended to support the full SWMR feature.
2018-09-18 20:48:50 -05:00
Allen Byrne
deaa1db852 HDFFV-10332 Use pre-generated files 2018-09-18 17:31:40 -05:00
Allen Byrne
44de4ee2e5 Merge pull request #1243 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '6c78869c19a88edfd7b6a2a99a8fb8f5febf0b7a':
  Fix whitespace and exit status
  HDFFV-9059 take file as argument
  HDFFV-9059 Allow detect to take a file as an argument
2018-09-18 16:39:28 -05:00
Dana Robinson
680cf4d946 Removed 'VOL' versions of FUNC_ENTER macros as well as empty functions
orginally intended to support the full SWMR feature.
2018-09-18 14:10:14 -07:00
Allen Byrne
6c78869c19 Fix whitespace and exit status 2018-09-18 13:22:48 -05:00
Larry Knox
cb5b36e4dc Merge pull request #1241 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'dfa58496a1f8d667de72a11affe0f5a2e3ae4558':
  Update COPYING file with new HDF5 license.
2018-09-18 13:03:17 -05:00
Allen Byrne
595b2d54ed HDFFV-9059 take file as argument 2018-09-18 12:35:17 -05:00
Allen Byrne
99f743ed1a HDFFV-9059 Allow detect to take a file as an argument 2018-09-18 10:29:12 -05:00
Larry Knox
dfa58496a1 Update COPYING file with new HDF5 license. 2018-09-17 16:09:59 -05:00
Jacob Smith
4e4d737eca Change H5F internals access 2018-09-14 15:49:45 -05:00
Jacob Smith
e1f3a10c52 Make questionable tests fail with TODOs 2018-09-14 15:24:00 -05:00
Jacob Smith
14c044f1b1 Change to use internal routines to get dcpl minimize setting.
Fix external file/link problem:
    Include H5Fpkg.h to access file private variables directly.
2018-09-14 15:10:01 -05:00
Jacob Smith
6af06e74be Add modtime dataset to explicitly not track 2018-09-14 13:55:56 -05:00
Jacob Smith
1e3efbcf52 Refactor file- and dataset-creation code for easier reading.
Add modification message test logic.
Minor formatting tweaks.
2018-09-14 13:34:34 -05:00
Jacob Smith
dbf6afee39 Remove redundant code and refactor 2018-09-12 15:40:26 -05:00
Jacob Smith
5beeb64c29 Add presumptive test for external links. 2018-09-12 15:38:32 -05:00
Jacob Smith
dde5666f42 Add additional tests (or placeholders for same).
Tests use h5_fixname().
Small changes.
2018-09-12 14:06:55 -05:00
Jacob Smith
7ef8d1d848 Add new test file 2018-09-11 16:45:33 -05:00
Jacob Smith
602dd3ac15 Stash work on object header reduction code and tests.
CMake stuff is not verified.
2018-09-11 16:37:14 -05:00
Allen Byrne
fbf837eac3 Merge pull request #1233 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'c9771263ae300a65f6f9ae518da766a314002bed':
  Minor text corrections
  HDFFV-10569 Add unsupported option notes to docs
2018-09-10 09:29:46 -05:00
Allen Byrne
c9771263ae Minor text corrections 2018-09-05 16:30:09 -05:00
Allen Byrne
1d2beee51f HDFFV-10569 Add unsupported option notes to docs 2018-09-04 11:43:15 -05:00
Allen Byrne
c834d9f99d Merge pull request #1232 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'fddbbc158d170b4e3a7ffd663f9799fd7e01a6a0':
  HDFFV-10568 fix hdf5_java library dependency
  Remove another extra path var
  Move muti-config dir setting to root process
  Fix one more intermediate location
  Use different variable
  Cleanup and add intermediate dir for java
2018-08-31 21:40:32 -05:00
Allen Byrne
fddbbc158d HDFFV-10568 fix hdf5_java library dependency 2018-08-31 21:00:16 -05:00
Allen Byrne
b951d1eae2 Remove another extra path var 2018-08-31 20:52:15 -05:00
Allen Byrne
fed65c435a Move muti-config dir setting to root process 2018-08-31 19:01:43 -05:00
Allen Byrne
a20168db02 Fix one more intermediate location 2018-08-31 14:45:32 -05:00
Allen Byrne
55e0b1e81e Use different variable 2018-08-31 14:05:25 -05:00
Allen Byrne
05c5d40dd5 Cleanup and add intermediate dir for java 2018-08-31 13:29:36 -05:00
Larry Knox
031088fc12 Merge pull request #1230 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '67220d101fbea90eab1c5bda0af531d39829c170':
  Java must use shared libs to allow dlopen calls
2018-08-30 22:18:25 -05:00
Allen Byrne
67220d101f Java must use shared libs to allow dlopen calls 2018-08-30 18:54:10 -05:00
Allen Byrne
e12f770b3e Merge pull request #1229 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'cd35778542c3c6e51ad334e6e4cf4be9f08bcaf8':
  Correct names
  Call new function
2018-08-30 13:00:21 -05:00
Larry Knox
fd2e588122 Merge pull request #1228 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'e6f8a55d8c42270efd7c870b7cee07b0d4ba7d08':
  Correct default API version for develop to 112.
2018-08-30 12:58:37 -05:00
Allen Byrne
cd35778542 Correct names 2018-08-30 08:38:28 -05:00
Allen Byrne
370db827ee Call new function 2018-08-30 08:29:21 -05:00
Larry Knox
e6f8a55d8c Correct default API version for develop to 112. 2018-08-29 23:06:50 -05:00
Allen Byrne
80c9c77d2e Merge pull request #1226 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'ff13ed67a9ce20e5f598bd46cd6dd544b5237e22':
  Fix typo
  HD prefix and whitespace
2018-08-28 15:09:31 -05:00
Allen Byrne
ff13ed67a9 Fix typo 2018-08-28 12:08:06 -05:00
Allen Byrne
27af9a7922 HD prefix and whitespace 2018-08-28 10:54:54 -05:00
Larry Knox
553b1a01f8 Merge pull request #1224 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '763b95c6b0f027025a5a5bfb203b77317ffa2368':
  Update RELEASE.txt with suggested changes
  Update MANIFEST file for new t_coll_md_read.c file
  Remove now-unused local variable
  Add fix for HDFFV-10501
2018-08-27 16:24:20 -05:00
Jordan Henderson
763b95c6b0 Update RELEASE.txt with suggested changes 2018-08-27 15:13:54 -05:00
Jordan Henderson
556bfd498c Update MANIFEST file for new t_coll_md_read.c file
Remove old line from copyright notice
2018-08-27 08:56:17 -05:00
Jordan Henderson
726642498c Remove now-unused local variable 2018-08-25 23:05:55 -05:00
Jordan Henderson
4cd10fa88e Add fix for HDFFV-10501
Add test for HDFFV-10501 fix

Add release note for HDFFV-10501 fix
2018-08-25 22:54:30 -05:00
Allen Byrne
cb9797f497 Merge pull request #1222 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'a02414cc24e01096a239fc774ce94c38655f53ce':
  Revert testfile FILE change
  change FILE path
  Add testfiles to data copy
  Same changes needed for examples as test
  Correct name of test jar
  Only remove test jars
  Remove obsolete var
  Correct name of osx installer
  DT location incorrect
2018-08-24 10:27:42 -05:00
Allen Byrne
a02414cc24 Revert testfile FILE change 2018-08-23 21:27:32 -05:00
Allen Byrne
c9b37b93e9 change FILE path 2018-08-23 21:22:32 -05:00
Allen Byrne
510950623a Add testfiles to data copy 2018-08-23 17:26:33 -05:00
Allen Byrne
958c7bd833 Same changes needed for examples as test 2018-08-23 16:30:13 -05:00
Allen Byrne
22eda96a9c Correct name of test jar 2018-08-23 14:53:05 -05:00
Allen Byrne
d9d78f705e Only remove test jars 2018-08-23 14:21:16 -05:00
Allen Byrne
0651432031 Remove obsolete var 2018-08-23 13:19:35 -05:00
Larry Knox
0f7e13cdb5 Merge pull request #1219 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'd20fd310e42b73e9037fb1a3bcc5e55d5e5c5162':
  Change prefix in example scripts to relative path to bin. This was done for 1.8, and works wherever installed without the need to replace the original prefix.
2018-08-23 10:41:02 -05:00
Allen Byrne
a87f597d89 Correct name of osx installer 2018-08-23 09:40:22 -05:00
Allen Byrne
2417775bb3 DT location incorrect 2018-08-23 08:58:35 -05:00
Allen Byrne
8ba735e1c3 Merge pull request #1218 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '0483f47192df44235154954256fa0b927fb7c94f':
  Use project vars
  Fix for packaging prefix in examples
2018-08-23 08:07:47 -05:00
Larry Knox
d20fd310e4 Change prefix in example scripts to relative path to bin. This was done
for 1.8, and works wherever installed without the need to replace the
original prefix.
2018-08-23 07:37:00 -05:00
Allen Byrne
0483f47192 Use project vars 2018-08-22 14:10:38 -05:00
Allen Byrne
9d1dae5daf Fix for packaging prefix in examples 2018-08-22 12:13:53 -05:00
Allen Byrne
9dd922a75c Merge pull request #1217 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'fbd17f62ea505face5fb650d78a47135e288f0b6':
  Add installib path to test command
  Fix OSX SIP for libs
2018-08-22 10:37:28 -05:00
Allen Byrne
fbd17f62ea Add installib path to test command 2018-08-21 10:22:15 -05:00
Allen Byrne
085ec19a21 Fix OSX SIP for libs 2018-08-21 10:03:26 -05:00
Allen Byrne
6bfc56056a Merge pull request #1213 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f356d587a286f6407c9693c34201c89ea3adbbe1':
  Update fortran windows 10 version
2018-08-21 07:31:55 -05:00
Allen Byrne
f356d587a2 Update fortran windows 10 version 2018-08-20 18:26:57 -05:00
Allen Byrne
45603a6cdf Merge pull request #1211 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '732aae11c53fb63cdab58735604babbfd4d5db44':
  HDFFV-10547 develop needs 1.12 default option
  Fix quote
  HDFFV-10547 requires updated examples version
2018-08-20 18:08:11 -05:00
Allen Byrne
732aae11c5 HDFFV-10547 develop needs 1.12 default option 2018-08-20 15:07:19 -05:00
Allen Byrne
c78f43b25e Fix quote 2018-08-20 12:01:49 -05:00
Allen Byrne
b33fdb17c3 HDFFV-10547 requires updated examples version 2018-08-20 11:25:09 -05:00
Allen Byrne
91e9ba76c9 Merge pull request #1210 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'caa4324217914227ad5a9ea83215a0508226d725':
  HDFFV-10553 Update html tags
2018-08-20 11:22:13 -05:00
Allen Byrne
caa4324217 HDFFV-10553 Update html tags 2018-08-20 08:19:02 -05:00
Allen Byrne
965f673cea Merge pull request #1206 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'ae7da889ece8ea6cfe3207f146ee991951b5ce66':
  HDFFV-10552 Add missing HDF5_USE_110[2]_API_DEFAULT option
2018-08-17 14:56:45 -05:00
Allen Byrne
ae7da889ec HDFFV-10552 Add missing HDF5_USE_110[2]_API_DEFAULT option 2018-08-17 14:48:43 -05:00
Allen Byrne
105a05cb90 Merge pull request #1205 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit 'a6100a3445921480a9d65dbfc49e7600e7923bd5':
  HDFFV-10536 callback crash fixed by using stack structure
2018-08-17 14:25:10 -05:00
Allen Byrne
a6100a3445 HDFFV-10536 callback crash fixed by using stack structure 2018-08-17 14:12:11 -05:00
Allen Byrne
a7a814fa83 Merge pull request #1204 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '454b04176ae8daeadcd26bb532ed77c4c051a9c3':
  Update cmake warnings to match the autotools files better
2018-08-17 13:47:48 -05:00
Allen Byrne
454b04176a Update cmake warnings to match the autotools files better 2018-08-16 15:45:31 -05:00
Larry Knox
7d7929d43f Merge pull request #1198 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '201d1722dc14f5adb0ab5c42b11fac15e9da8454':
  Fix JIRA number format
2018-08-16 15:32:30 -05:00
Allen Byrne
201d1722dc Fix JIRA number format 2018-08-16 15:31:02 -05:00
Allen Byrne
42b1c08ee0 Merge pull request #1196 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:develop to develop
* commit '12adeedf6b817d99d00051d0549448f52a65c6a4':
  HDFFV-10552 fix version script (missed when 1.11 created)
2018-08-16 15:12:11 -05:00
Allen Byrne
12adeedf6b HDFFV-10552 fix version script (missed when 1.11 created) 2018-08-16 15:06:29 -05:00
Binh-Minh Ribler
8e92fd2b36 Merge pull request #1192 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp4:develop to develop
Add CVE issues.

* commit '7c2d969e85eac7c72f3a289385b2707ea3e77217':
  Added notes about CVE issues.
2018-08-14 23:05:47 -05:00
Binh-Minh Ribler
7c2d969e85 Added notes about CVE issues. 2018-08-14 18:22:10 -05:00
Jordan Henderson
5647dea421 Merge pull request #1186 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '4f4f177b0af6063c0c22ec2e1a9ca99549bc8aac':
  Rearrange issues by date order
  RELEASE.txt changes for MPI updates
2018-08-09 13:08:02 -05:00
Jordan Henderson
4f4f177b0a Rearrange issues by date order 2018-08-09 11:38:23 -05:00
Jordan Henderson
f82395f2db Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~jhenderson/hdf5 into develop 2018-08-09 11:26:29 -05:00
Jordan Henderson
90699af5f4 RELEASE.txt changes for MPI updates 2018-08-09 11:26:10 -05:00
Larry Knox
9c52453657 Merge pull request #1185 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '01c9aa1e76857bf22771342dadf87af08979aa33':
  Update Drop Site options and Coverage settings
2018-08-09 11:09:36 -05:00
Allen Byrne
01c9aa1e76 Update Drop Site options and Coverage settings 2018-08-09 10:59:32 -05:00
Larry Knox
b5c6121a5d Merge pull request #1178 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit 'a3385675b3cdc2102457a9f91877cc27778ab29a':
  Reorder bugfix release notes from latest to earliest, and miscellaneous format cleanup.
  Add RELEASE.txt entry for HDFFV-10475
2018-08-07 15:25:13 -05:00
Larry Knox
a3385675b3 Reorder bugfix release notes from latest to earliest, and miscellaneous
format cleanup.
2018-08-07 13:18:56 -05:00
Larry Knox
bd27f0d419 Add RELEASE.txt entry for HDFFV-10475 2018-08-07 11:45:23 -05:00
Allen Byrne
f455ac063f Merge pull request #1176 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'f9074881cdfe04e96e7faa43e955b42428d9fcb9':
  HDFFV-10544 Add more descriptive text
2018-08-06 11:56:19 -05:00
Allen Byrne
f9074881cd HDFFV-10544 Add more descriptive text 2018-08-06 11:31:20 -05:00
Allen Byrne
fe7aaff8cc Merge pull request #1175 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '6e4c036d5dc476396428f4b044e23043a80e8df7':
  HDFFV-10544 Correct var name
  HDFFV-10544 remove native from class function
  HDFFV-10544 correct typo
  HDFFV-10544 add release note
  HDFFV-10544 add class name to error text
  HDFFV-10544 exception variable as local class
  Improve error handling of exceptions
2018-08-06 11:00:48 -05:00
Allen Byrne
6e4c036d5d HDFFV-10544 Correct var name 2018-08-06 11:00:28 -05:00
Allen Byrne
4d5255106c HDFFV-10544 remove native from class function 2018-08-06 09:56:01 -05:00
Allen Byrne
9efb9b7426 HDFFV-10544 correct typo 2018-08-06 09:44:41 -05:00
Allen Byrne
565ee9e7f9 HDFFV-10544 add release note 2018-08-06 09:39:44 -05:00
Allen Byrne
2f4832fe09 HDFFV-10544 add class name to error text 2018-08-06 09:23:21 -05:00
Allen Byrne
ca7d4f85a5 HDFFV-10544 exception variable as local class 2018-08-06 09:15:08 -05:00
Allen Byrne
762c14fde5 Improve error handling of exceptions 2018-08-06 08:14:04 -05:00
Allen Byrne
51d31c5ff8 Merge pull request #1173 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit 'b4571f619018f428569cbae5d025935ac5f1788e':
  Typo fix
  Set CMAKE_REQUIRED_INCLUDES instead of using path in call
2018-08-02 11:48:02 -05:00
Allen Byrne
b4571f6190 Typo fix 2018-08-02 10:38:54 -05:00
Allen Byrne
2c17b19861 Set CMAKE_REQUIRED_INCLUDES instead of using path in call 2018-08-02 10:22:37 -05:00
Jordan Henderson
70de0b18e3 Merge pull request #1167 in HDFFV/hdf5 from ~JHENDERSON/hdf5:bugfix/MPI2_only_fixes to develop
* commit '9aa2eaeb9ed9c94f63973cb55f13de256558497c':
  Add Autotools and CMake checks for big I/O MPI-3 functions
  Add hdf5settings section for parallel compression status in CMake builds
  Switch to CheckSymbolExists in CMake
  Add configure check for MPI_Mprobe and MPI_Imrecv functions
2018-08-02 09:25:00 -05:00
Jordan Henderson
9aa2eaeb9e Add Autotools and CMake checks for big I/O MPI-3 functions 2018-07-31 13:42:19 -05:00
Jordan Henderson
5e138dc1e9 Add hdf5settings section for parallel compression status in CMake builds 2018-07-31 10:45:43 -05:00
Allen Byrne
cca9fbcff0 Merge pull request #1163 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '77cb2dca17bf739fe8cf0979793bb0f00347a692':
  HDFFV-10508 rework sentence
  HDFFV-10508 clarify library differences
  HDFFV-10508 spelling and grammer
  HDFFV-10508 more config fixes
  HDFFV-10508 correct sizeof
  HDFFV-10508 pubconf changes found
  HDFFV-10508 Document binary diffs
  HDFFV-9755 Document BUILD_STATIC_EXECS
2018-07-31 09:56:44 -05:00
Allen Byrne
77cb2dca17 HDFFV-10508 rework sentence 2018-07-31 09:56:12 -05:00
Allen Byrne
2822921c23 HDFFV-10508 clarify library differences 2018-07-31 09:41:11 -05:00
Allen Byrne
b8945eac22 HDFFV-10508 spelling and grammer 2018-07-31 09:28:17 -05:00
Scot Breitenfeld
3c781c18c9 Merge pull request #1165 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '2b41860efdd24a003a0981505553cf8b1040ea0a':
  Removed FORTRAN_SIZEOF_LONG_DOUBLE from public .h files
2018-07-30 17:15:36 -05:00
Allen Byrne
496372dc18 HDFFV-10508 more config fixes 2018-07-30 17:10:00 -05:00
M. Scot Breitenfeld
2b41860efd Merge branch 'develop' of ssh://bitbucket.hdfgroup.org:7999/~brtnfld/hdf5_msb into develop 2018-07-30 17:01:54 -05:00
M. Scot Breitenfeld
d105690263 Removed FORTRAN_SIZEOF_LONG_DOUBLE from public .h files 2018-07-30 17:01:44 -05:00
Allen Byrne
323635f2b5 HDFFV-10508 correct sizeof 2018-07-30 16:31:39 -05:00
Allen Byrne
63fa8acbac Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'b6d1e9abdc2571f6d7b56ebab26a245d2f036516':
  Fixed typo in H5_H5CONFIG_F_IKIND name
2018-07-30 16:30:51 -05:00
Allen Byrne
b6d1e9abdc Merge pull request #1164 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:develop to develop
* commit '8f79022bc63c7eca3af66eec7c2a99585a7c5397':
  Fixed typo in H5_H5CONFIG_F_IKIND name
2018-07-30 16:29:55 -05:00
M. Scot Breitenfeld
8f79022bc6 Fixed typo in H5_H5CONFIG_F_IKIND name 2018-07-30 16:17:27 -05:00
Allen Byrne
2770f0bf9f HDFFV-10508 pubconf changes found 2018-07-30 15:46:42 -05:00
Allen Byrne
c0ff42f676 HDFFV-10508 Document binary diffs 2018-07-30 15:09:50 -05:00
Allen Byrne
b33ba00c9c HDFFV-9755 Document BUILD_STATIC_EXECS 2018-07-30 12:39:38 -05:00
Allen Byrne
958cc1a969 Merge pull request #1161 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '91f20982daf2f76d4b8f3ba4f4659db7cd62c821':
  HDFFV-10534 add note
2018-07-30 12:10:10 -05:00
Allen Byrne
91f20982da HDFFV-10534 add note 2018-07-30 11:51:20 -05:00
Allen Byrne
882e59d1b3 Merge pull request #1157 in HDFFV/hdf5 from ~JHENDERSON/hdf5:bugfix/CMake_MPI_libs_fix to develop
* commit 'd075c0854d1ffb5a8eae23c5eb9a4456067f30c9':
  Add quotes to places where MPI_C_LIBRARIES are linked against
2018-07-30 11:45:55 -05:00
Binh-Minh Ribler
94e96737a7 Merge pull request #1158 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp4:develop to develop
Typos in comments

* commit '7d9f5ed49a560fe8801b77cce8ffb60a2ec5e846':
  Fixed document format Platforms tested:     Linux/64 (jelly) (only in comment sections)
  Fixed missing backslash
2018-07-30 11:04:16 -05:00
Allen Byrne
7fe579d1f5 Merge pull request #1160 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '49a8da4ea79677804131aef87287f80b30658fd1':
  HDFFV-10534
  Add missing test option
  Add test file with unwritten datasets
2018-07-30 10:41:51 -05:00
Allen Byrne
49a8da4ea7 HDFFV-10534 2018-07-30 08:57:12 -05:00
Binh-Minh Ribler
7d9f5ed49a Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_bmr_cpp4 into develop 2018-07-28 08:05:16 -05:00
Binh-Minh Ribler
4578eb0fc1 Fixed document format
Platforms tested:
    Linux/64 (jelly) (only in comment sections)
2018-07-28 08:00:32 -05:00
Jordan Henderson
d075c0854d Add quotes to places where MPI_C_LIBRARIES are linked against 2018-07-27 14:58:01 -05:00
Jordan Henderson
256fc4754b Switch to CheckSymbolExists in CMake 2018-07-27 12:49:42 -05:00
Allen Byrne
e4741cd8f2 Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '272eb4b8bffd2ab732d268c421583587317b8dc2':
  RELEASE.txt updates for HDFFV-10467 and HDFFV-10509
  Update HDF5 examples to correct version.
  Correct a few typos.
  Correct typo in comment in config/gnu-flags.
  Update bine/release to create batch scripts and build-unix-sh, and to put files in a subdirectory.
2018-07-27 10:15:25 -05:00
Larry Knox
272eb4b8bf Merge pull request #1152 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '5550fb330a00ef75b6ab6daa6d8dae8bcf832185':
  RELEASE.txt updates for HDFFV-10467 and HDFFV-10509
2018-07-26 17:05:59 -05:00
Jordan Henderson
e1e10743cf Add configure check for MPI_Mprobe and MPI_Imrecv functions
Add line to libhdf5settings file for status of Parallel writes to
filtered datasets status

Surround Parallel Compression code in MPI_VERSION >= 3 checks

Add disabled message for Parallel Compression built w/ MPI-2

Modify Parallel Compression tests to only run the parallel filtered read
tests when parallel filtered writes are disabled

Update big I/O code to handle being built with MPI-2

Add checks to CMakeLists.txt for MPI_Mprobe and MPI_Imrecv
2018-07-26 12:50:26 -05:00
Jordan Henderson
5550fb330a RELEASE.txt updates for HDFFV-10467 and HDFFV-10509 2018-07-25 13:16:41 -05:00
Allen Byrne
14c060bbeb Add missing test option 2018-07-24 14:15:32 -05:00
Allen Byrne
b14c8bdb1c Add test file with unwritten datasets 2018-07-24 12:00:07 -05:00
Binh-Minh Ribler
f5551a9602 Fixed missing backslash 2018-07-24 08:39:16 -05:00
884 changed files with 84689 additions and 49943 deletions

30
BRANCH.md Normal file
View File

@@ -0,0 +1,30 @@
This branch is for the development of a test VOL connector to better
test the VOL API. In particular, this will expose any issues where
we've baked 'native file'-ness into the API.
The intent is to implement 100% of the HDF5 library's functionality
so it can be transparently subbed in for the native VOL connector.
The JSON parser I've chosen is Jannsen, which is used in other THG
products and projects and has an MIT license.
It currently only supports the Autotools, but it will not be difficult
to add CMake support.
Plan:
* Implement configuration and building via the autotools. (DONE)
* Add a test program that loads the connector. (DONE)
* Implement basic file operations.
* Implement group operations.
* Implement basic dataset operations.
* Implement basic attribute operations.
NOTES:
* The internets says to use libuuid to generate UUIDs as it's pretty
lightweight.
* Due to dependencies on libuuid and jansson, we're going to need to
protect the code and only build when everything is present. I think
this is okay since this is more of a test for ensuring the VOL doesn't
suck than it is a test that someone's build is working normally.
* Partial I/O is going to be crazy slow unless I want to add in some
sort of optimized data container behind the scenes.

View File

@@ -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)

View File

@@ -104,6 +104,12 @@ endif ()
# Configure the hdf5-config-version .cmake file for the install directory
#-----------------------------------------------------------------------------
if (NOT HDF5_EXTERNALLY_CONFIGURED)
# 3.11 or greater
#write_basic_package_version_file (
# ${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake
# VERSION ${HDF5_PACKAGE_VERSION}
# COMPATIBILITY SameMinorVersion
#)
configure_file (
${HDF_RESOURCES_DIR}/hdf5-config-version.cmake.in
${HDF5_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-config-version.cmake @ONLY
@@ -125,7 +131,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 +140,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 +221,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

View File

@@ -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}")
@@ -430,7 +433,7 @@ 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 +446,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 +481,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 +560,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 +572,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 +631,26 @@ 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" OFF)
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 ()
#-----------------------------------------------------------------------------
# Option to use 1.12.x API
#-----------------------------------------------------------------------------
option (HDF5_USE_112_API_DEFAULT "Use the HDF5 1.12.x API by default" ON)
set (H5_USE_112_API_DEFAULT 0)
if (HDF5_USE_112_API_DEFAULT)
set (H5_USE_112_API_DEFAULT 1)
set (DEFAULT_API_VERSION "v112")
endif ()
#-----------------------------------------------------------------------------
# Include user macros
#-----------------------------------------------------------------------------
@@ -625,8 +683,10 @@ endif ()
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
message (STATUS " **** thread-safety option not supported with static library **** ")
message (STATUS " **** thread-safety option will not be used building static library **** ")
if (WIN32)
message (STATUS " **** thread-safety option not supported with static library **** ")
message (STATUS " **** thread-safety option will not be used building static library **** ")
endif ()
if (HDF5_ENABLE_PARALLEL)
if (NOT ALLOW_UNSUPPORTED)
message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
@@ -664,9 +724,9 @@ if (HDF5_ENABLE_THREADSAFE)
endif ()
endif ()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)
if (NOT Threads_FOUND)
message (STATUS " **** thread-safe package not found - threads still might work **** ")
find_package(Threads REQUIRED)
if (Threads_FOUND)
set (H5_HAVE_THREADSAFE 1)
endif ()
endif ()
@@ -700,6 +760,11 @@ if (BUILD_TESTING)
"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)
@@ -707,6 +772,13 @@ if (BUILD_TESTING)
mark_as_advanced (HDF5_TEST_FHEAP_VFD)
endif ()
option (HDF5_TEST_VOL "Execute tests with different VOL connectors" OFF)
mark_as_advanced (HDF5_TEST_VOL)
if (HDF5_TEST_VOL)
option (HDF5_TEST_FHEAP_VOL "Execute fheap test with different VOL connectors" ON)
mark_as_advanced (HDF5_TEST_FHEAP_VOL)
endif ()
option (HDF_TEST_EXPRESS "Control testing framework (0-3)" "0")
mark_as_advanced (HDF_TEST_EXPRESS)
@@ -770,25 +842,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 +931,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)

43
COPYING
View File

@@ -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,27 @@ 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 +55,9 @@ 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 +98,9 @@ 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.
-----------------------------------------------------------------------------

View File

@@ -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=HDF5Trunk")
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

189
MANIFEST
View File

@@ -23,6 +23,7 @@
./.autom4te.cfg _DO_NOT_DISTRIBUTE_
./.h5chkright.ini _DO_NOT_DISTRIBUTE_
./ACKNOWLEDGMENTS
./BRANCH.md _DO_NOT_DISTRIBUTE_
./COPYING
./COPYING_LBNL_HDF5
./MANIFEST
@@ -92,6 +93,20 @@
./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/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,7 +460,10 @@
./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/README_HDF5_CMake
./release_docs/README_HPC
./release_docs/RELEASE.txt
./release_docs/USING_HDF5_CMake.txt
./release_docs/USING_HDF5_VS.txt
@@ -481,7 +499,6 @@
./src/H5Apublic.h
./src/H5AC.c
./src/H5ACdbg.c
./src/H5AClog.c
./src/H5ACmodule.h
./src/H5ACmpio.c
./src/H5ACpkg.h
@@ -494,7 +511,6 @@
./src/H5Bmodule.h
./src/H5Bpkg.h
./src/H5Bprivate.h
./src/H5Bpublic.h
./src/H5B2.c
./src/H5B2cache.c
./src/H5B2dbg.c
@@ -505,7 +521,6 @@
./src/H5B2module.h
./src/H5B2pkg.h
./src/H5B2private.h
./src/H5B2public.h
./src/H5B2stat.c
./src/H5B2test.c
./src/H5C.c
@@ -513,6 +528,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
@@ -525,8 +543,8 @@
./src/H5CS.c
./src/H5CSprivate.h
./src/H5CX.c
./src/H5CXprivate.h
./src/H5CXmodule.h
./src/H5CXprivate.h
./src/H5D.c
./src/H5Dbtree.c
./src/H5Dbtree2.c
@@ -575,6 +593,7 @@
./src/H5EAsblock.c
./src/H5EAstat.c
./src/H5EAtest.c
./src/H5ESpublic.h
./src/H5F.c
./src/H5Faccum.c
./src/H5Fcwfs.c
@@ -649,7 +668,6 @@
./src/H5FSmodule.h
./src/H5FSpkg.h
./src/H5FSprivate.h
./src/H5FSpublic.h
./src/H5FSsection.c
./src/H5FSstat.c
./src/H5FStest.c
@@ -689,7 +707,6 @@
./src/H5HFmodule.h
./src/H5HFpkg.h
./src/H5HFprivate.h
./src/H5HFpublic.h
./src/H5HFsection.c
./src/H5HFspace.c
./src/H5HFstat.c
@@ -701,7 +718,6 @@
./src/H5HGmodule.h
./src/H5HGpkg.h
./src/H5HGprivate.h
./src/H5HGpublic.h
./src/H5HGquery.c
./src/H5HL.c
./src/H5HLcache.c
@@ -712,7 +728,6 @@
./src/H5HLpkg.h
./src/H5HLprfx.c
./src/H5HLprivate.h
./src/H5HLpublic.h
./src/H5HP.c
./src/H5HPprivate.h
./src/H5I.c
@@ -885,6 +900,25 @@
./src/H5Tvlen.c
./src/H5TS.c
./src/H5TSprivate.h
./src/H5VL.c
./src/H5VLcallback.c
./src/H5VLint.c
./src/H5VLmodule.h
./src/H5VLnative.c
./src/H5VLnative.h
./src/H5VLnative_attr.c
./src/H5VLnative_dataset.c
./src/H5VLnative_datatype.c
./src/H5VLnative_file.c
./src/H5VLnative_group.c
./src/H5VLnative_link.c
./src/H5VLnative_object.c
./src/H5VLnative_private.h
./src/H5VLpassthru.c
./src/H5VLpassthru.h
./src/H5VLpkg.h
./src/H5VLprivate.h
./src/H5VLpublic.h
./src/H5VM.c
./src/H5VMprivate.h
./src/H5WB.c
@@ -944,6 +978,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
@@ -997,6 +1032,7 @@
./test/gen_deflate.c
./test/gen_file_image.c
./test/gen_filespace.c
./test/gen_filters.c
./test/gen_mergemsg.c
./test/gen_new_array.c
./test/gen_new_fill.c
@@ -1026,11 +1062,15 @@
./test/h5test.h
./test/hyperslab.c
./test/istore.c
./test/json_vol.c
./test/json_vol_connector.c
./test/json_vol_connector.h
./test/le_data.h5
./test/le_extlink1.h5
./test/le_extlink2.h5
./test/lheap.c
./test/links.c
./test/memleak_H5O_dtype_decode_helper_H5Odtype.h5
./test/mergemsg.h5
./test/mf.c
./test/mount.c
@@ -1040,6 +1080,8 @@
./test/noencoder.h5
./test/none.h5
./test/ntypes.c
./test/null_vol_connector.c
./test/null_vol_connector.h
./test/ohdr.c
./test/objcopy.c
./test/page_buffer.c
@@ -1075,17 +1117,21 @@
./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/test_filters_le.h5
./test/test_filters_be.h5
./test/testflushrefresh.sh.in
./test/testframe.c
./test/testhdf5.c
./test/testhdf5.h
./test/test_json_vol.sh.in
./test/testlibinfo.sh.in
./test/test_usecases.sh.in
./test/test_vol_plugin.sh.in
./test/testmeta.c
./test/testswmr.sh.in
./test/testvdsswmr.sh.in
@@ -1127,16 +1173,14 @@
./test/use_common.c
./test/use_disable_mdc_flushes.c
./test/use.h
./test/vfd.c
./test/test_filters_le.h5
./test/test_filters_be.h5
./test/gen_filters.c
./test/chunk_info.c
./test/vds.c
./test/vds_swmr.h
./test/vds_swmr_gen.c
./test/vds_swmr_reader.c
./test/vds_swmr_writer.c
./test/vfd.c
./test/vol.c
./test/vol_plugin.c
./test/testfiles/err_compat_1
./test/testfiles/err_compat_2
@@ -1247,6 +1291,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 +1311,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 +1418,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 +1498,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
@@ -1504,10 +1558,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 +1616,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,6 +1653,15 @@
./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
@@ -1797,6 +1857,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 +2323,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 +2429,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 +2524,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 +2625,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
@@ -2601,6 +2655,7 @@
./tools/test/perform/build_h5perf_alone.sh
./tools/test/perform/build_h5perf_serial_alone.sh
./tools/test/perform/chunk.c
./tools/test/perform/chunk_cache.c
./tools/test/perform/direct_write_perf.c
./tools/test/perform/gen_report.pl
./tools/test/perform/iopipe.c
@@ -2739,16 +2794,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 +2906,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
@@ -2858,6 +2940,8 @@
./java/src/jni/h5sImp.h
./java/src/jni/h5tImp.c
./java/src/jni/h5tImp.h
./java/src/jni/h5vlImp.c
./java/src/jni/h5vlImp.h
./java/src/jni/h5zImp.c
./java/src/jni/h5zImp.h
@@ -3096,6 +3180,7 @@
./java/test/testfiles/JUnit-TestH5Tparams.txt
./java/test/testfiles/JUnit-TestH5Tbasic.txt
./java/test/testfiles/JUnit-TestH5T.txt
./java/test/testfiles/JUnit-TestH5VL.txt
./java/test/testfiles/JUnit-TestH5Z.txt
./java/test/h5ex_g_iterate.orig
./java/test/TestH5.java
@@ -3133,6 +3218,7 @@
./java/test/TestH5Tparams.java
./java/test/TestH5Tbasic.java
./java/test/TestH5T.java
./java/test/TestH5VL.java
./java/test/TestH5Z.java
./java/test/TestAll.java
@@ -3144,6 +3230,11 @@
./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
@@ -3173,6 +3264,8 @@
./config/cmake/UseJavaSymlinks.cmake
./config/cmake/userblockTest.cmake
./config/cmake/vfdTest.cmake
./config/cmake/volTest.cmake
./config/cmake/wait_H5Tinit.cmake
./config/cmake_ext_mod/ConfigureChecks.cmake
./config/cmake_ext_mod/CTestCustom.cmake
@@ -3198,7 +3291,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 +3304,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
@@ -3251,10 +3344,12 @@
./test/CMakeLists.txt
./test/CMakeTests.cmake
./test/CMakeVFDTests.cmake
./test/CMakeVOLTests.cmake
./test/flushrefreshTest.cmake
./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 +3382,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 +3402,11 @@
./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/raybsub-HDF5options.cmake
# Files generated by autogen
./aclocal.m4
./bin/compile

View File

@@ -186,6 +186,15 @@ check-vfd:
fi; \
done
# Run tests with different Virtual Object Layer Connectors.
# Currently, only invoke check-vol in the test directory.
check-vol:
for d in src test; do \
if test $$d != .; then \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
done
# Automake wants to make config.status depend on configure. This
# makes sense, but config.status can't always be regenerated
# properly, which can cause builds to fail.

View File

@@ -1,4 +1,4 @@
HDF5 version 1.11.2 currently under development
HDF5 version 1.11.4 currently under development
------------------------------------------------------------------------------
Please refer to the release_docs/INSTALL file for installation instructions.

View 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"

View 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"

View 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"

View 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"

View 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."

View 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"

View 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."

View 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"

View 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"

View 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"

View 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"

View 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."

View 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
View 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

View File

@@ -13,101 +13,165 @@ require 5.003;
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
# Robb Matzke, matzke@llnl.gov
# 30 Aug 1997
# Dana Robinson
# Spring 2019
# (Original by Robb Matzke)
#
# Purpose: Given the names of C source files this script will print the
# file name, line number, and function name of any function that
# doesn't begin with the letter `h' or `H' as stipulated by the
# HDF5 programming style guide.
# Purpose: Given the names of C source files this script will print the
# file name, line number, and function name of any function that
# doesn't begin with the letter 'h' or 'H' as stipulated by the
# HDF5 programming style guide.
#
# Emacs users can run this script as the compile command and
# use `next-error' (usually bound to M-`) to find each name
# violation.
# Emacs users can run this script as the compile command and
# use 'next-error' (usually bound to M-`) to find each name
# violation.
if(<>) {
if($ARGV =~ /\//) {
($filename) = ($ARGV =~ /^.*\/([A-Za-z0-9_]*)\.c$/);
} else {
($filename) = ($ARGV =~ /([A-Za-z0-9_]*)\.c$/);
use File::Basename;
# Loop over all files passed to the function
foreach $arg (@ARGV) {
# Get the filename from the path
$filename = fileparse($arg);
# Skip files that don't include H5private.h
# H5system. has to be inspected by hand since it wraps POSIX files
#
# H5detect and H5make_libsettings are created before the library exists
# so calls that link to function replacements won't work. We'll ignore
# it here.
#
# If a user specifies one file, process it no matter what so people
# can inspect files we normally skip (like H5system.c).
if($#ARGV gt 0 and $filename =~ /H5FDmulti|H5FDstdio|H5VLpassthru|H5system|H5detect|H5make_libsettings/) {
print "$filename is exempt from using Standard library macro wrappers\n";
next;
}
if($filename =~ /H5FDmulti|H5FDstdio/) {
print "$ARGV is exempt from using Standard library macro wrappers\n";
} else {
while (<>) {
# Open the file
open(my $fh, "<", $arg) or do {
warn "NOTE: Unable to open $arg: !$\n";
next;
};
# Get rid of comments by removing the inside part.
s|/\*.*?\*/||g;
if ($in_comment) {
if (/\*\//) {
s|.*?\*/||;
$in_comment = 0;
} else {
$_="\n";
}
} elsif (m|/\*|) {
s|/\*.*||;
$in_comment = 1;
}
# Loop over all lines in the file to find undecorated functions
while (<$fh>) {
# Get rid of string constants if they begin and end on this line.
s/([\'\"])([^\1]|\\\1)*?\1/$1$1/g;
# Get rid of preprocessor directives
s/^\#.*//;
# Skip callbacks invoked as methods in a struct
next if $_ =~ /\b(\)?->|\.)\(?([a-z_A-Z]\w*)\s*\(/;
# Now find all function calls on this line which don't start with 'H'
while (($name)=/\b([a-z_A-GI-Z]\w*)\s*\(/) {
$_ = $';
# Ignore C statements that look sort of like function
# calls.
next if $name =~ /^(if|for|offsetof|return|sizeof|switch|while|void)$/;
# Ignore things that get misdetected because of the simplified
# parsing that takes place here.
next if $name =~ /^(int|herr_t|_term_interface)$/;
# These are really HDF5 functions/macros even though they don't
# start with `h' or `H'.
next if $name =~ /^FUNC_(ENTER|LEAVE)(_(NO)?API|_PACKAGE|_STATIC)?(_NOFS|_NOCLEAR|_NOINIT)?(_NOFUNC|_TAG)?$/;
next if $name =~ /^(BEGIN|END)_FUNC$/;
next if $name =~ /^U?INT(8|16|32|64)(ENCODE|DECODE)(_VAR)?$/;
next if $name =~ /^CI_(PRINT_STATS|INC_SRC|INC_DST)$/;
next if $name =~ /^(ABS|ADDR_OVERFLOW|ALL_MEMBERS|BOUND|CONSTR|DETECT_[I|F|M]|DOWN)$/;
next if $name =~ /^(MIN3?|MAX3?|NELMTS|POWER_OF_TWO|REGION_OVERFLOW)$/;
next if $name =~ /^(UNIQUE_MEMBERS)$/;
next if $name =~ /^addr_defined$/;
# These functions/macros are exempt.
next if $name =~ /^(main|[fs]?printf|va_(start|arg|end))$/;
# These are Windows system calls. Ignore them.
next if $name =~ /^(_get_osfhandle|GetFileInformationByHandle|SetFilePointer|GetLastError|SetEndOfFile)$/;
next if $name =~ /^(FindNextFile|FindClose|_tzset|Wgettimeofday|GetSystemTimeAsFileTime|Wgetlogin|GetUserName)$/;
# These are MPI function calls. Ignore them.
next if $name =~ /^(MPI_|MPE_)/;
# These are POSIX threads function calls. Ignore them.
next if $name =~ /^pthread_/;
# These are Windows threads function calls. Ignore them.
next if $name =~ /^(_beginthread|(Initialize|Enter|Leave)CriticalSection|TlsAlloc)$/;
# These are zlib & szlib function calls. Ignore them.
next if $name =~ /^(inflate|SZ_)/;
next if $name =~ /^compress2$/;
print "$ARGV:$.: $name\n";
}
} continue {
close ARGV if eof; # reset line number
# Get rid of comments by removing the inside part.
s|/\*.*?\*/||g;
if ($in_comment) {
if (/\*\//) {
s|.*?\*/||;
$in_comment = 0;
} else {
$_="\n";
}
} elsif (m|/\*|) {
s|/\*.*||;
$in_comment = 1;
}
# Get rid of string constants if they begin and end on this line.
s/([\'\"])([^\1]|\\\1)*?\1/$1$1/g;
# Get rid of preprocessor directives
s/^\#.*//;
# Skip callbacks invoked as methods in a struct
next if $_ =~ /\b(\)?]?->|\.)\(?([a-z_A-Z]\w*)\s*\(/;
# Now find all function calls on this line which don't start with 'H'
while (($name)=/\b([a-z_A-GI-Z]\w*)\s*\(/) {
$_ = $';
# Ignore C statements that look sort of like function
# calls.
next if $name =~ /^(if|for|offsetof|return|sizeof|switch|while|void)$/;
# Ignore things that get misdetected because of the simplified
# parsing that takes place here.
next if $name =~ /^(int|herr_t|_term_interface|_term_package)$/;
# These are really HDF5 functions/macros even though they don't
# start with `h' or `H'.
next if $name =~ /^FUNC_(ENTER|LEAVE)(_(NO)?API|_PACKAGE|_STATIC)?(_NOFS|_NOCLEAR|_NOINIT)?(_NOFUNC|_TAG)?$/;
next if $name =~ /^(BEGIN|END)_FUNC$/;
next if $name =~ /^U?INT(8|16|32|64)(ENCODE|DECODE)(_VAR)?$/;
next if $name =~ /^CI_(PRINT_STATS|INC_SRC|INC_DST)$/;
next if $name =~ /^(ABS|ADDR_OVERFLOW|ALL_MEMBERS|BOUND|CONSTR|DETECT_[I|F|M]|DOWN)$/;
next if $name =~ /^(MIN3?|MAX3?|NELMTS|POWER_OF_TWO|REGION_OVERFLOW)$/;
next if $name =~ /^(UNIQUE_MEMBERS|S_ISDIR)$/;
next if $name =~ /^addr_defined$/;
# These functions/macros are exempt.
# op, cb, and OP are often spuriously flagged so ignore them.
next if $name =~ /^(main|op|cb|OP)$/;
# This often appears in preprocessor lines that span multiple lines
next if $name =~ /^(defined)$/;
# These are Windows system calls. Ignore them.
next if $name =~ /^(_get_osfhandle|GetFileInformationByHandle|SetFilePointer|GetLastError|SetEndOfFile)$/;
next if $name =~ /^(FindNextFile|FindClose|_tzset|Wgettimeofday|GetSystemTimeAsFileTime|Wgetlogin|GetUserName)$/;
next if $name =~ /^(DeleteCriticalSection|TlsFree|TlsGetValue|CreateThread)$/;
next if $name =~ /^(ExpandEnvironmentStringsA|LockFileEx|UnlockFileEx)$/;
next if $name =~ /^(DllMain|LocalAlloc|LocalFree)$/;
next if $name =~ /^(FindFirstFileA|FindNextFileA)$/;
next if $name =~ /^(_beginthread|(Initialize|Enter|Leave)CriticalSection|TlsAlloc)$/;
# These are MPI function calls. Ignore them.
next if $name =~ /^(MPI_|MPE_)/;
# These are POSIX threads function calls. Ignore them.
next if $name =~ /^pthread_/;
# These are zlib & szlib function calls. Ignore them.
next if $name =~ /^(inflate|SZ_)/;
next if $name =~ /^compress2$/;
# These is an H5Dfill function. Ignore it in this file.
if($filename =~ /H5Dfill/) {
next if $name =~ /^(alloc_func)$/;
}
# These are H5Zscaleoffset functions. Ignore them in this file.
if($filename =~ /H5Zscaleoffset/) {
next if $name =~ /^(pow_fun|round_fun|abs_fun|lround_fun|llround_fun)$/;
}
# TESTING (not comprehensive - just noise reduction)
# Test macros and functions (testhdf5.h)
next if $name =~ /^(AddTest|TestErrPrintf|TestSummary|TestCleanup|TestShutdown)$/;
next if $name =~ /^(CHECK|CHECK_PTR|CHECK_PTR_NULL|CHECK_PTR_EQ|CHECK_I)$/;
next if $name =~ /^(VERIFY|VERIFY_STR|VERIFY|TYPE|MESSAGE|ERROR)$/;
# Test macros and functions (h5test.h)
next if $name =~ /^(TESTING|PASSED|SKIPPED|FAIL_PUTS_ERROR|FAIL_STACK_ERROR|TEST_ERROR)$/;
next if $name =~ /^(GetTestExpress)$/;
# Ignore functions that start with test_ or check_
next if $name =~ /^test_/;
next if $name =~ /^check_/;
# Ignore functions that start with h5_
next if $name =~ /^h5_/;
# Ignore usage functions
next if $name =~ /^usage$/;
print "$filename:$.: $name\n";
}
}
# Close the file
close($fh);
}
if($#ARGV gt 0) {
print "\n";
print "NOTE:\n";
print "If any files were skipped due to being exempt, you can inspect them manually\n";
print "by using this script on them one at a time, which will always process the file.\n";
}

View File

@@ -244,8 +244,8 @@ sub create_init ($) {
print HEADER "/* Major error codes */\n";
print HEADER "/*********************/\n\n";
foreach $name (keys %major) {
print HEADER " "x(0*$indent),"assert(${name}_g==(-1));\n";
print HEADER " "x(0*$indent),"if((msg = H5E_create_msg(cls, H5E_MAJOR, \"${major{$name}}\"))==NULL)\n";
print HEADER " "x(0*$indent),"HDassert(${name}_g==(-1));\n";
print HEADER " "x(0*$indent),"if((msg = H5E__create_msg(cls, H5E_MAJOR, \"${major{$name}}\"))==NULL)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, \"error message initialization failed\")\n";
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg, FALSE))<0)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, \"can't register error message\")\n";
@@ -260,8 +260,8 @@ sub create_init ($) {
# Iterate over all the minor errors in each section
for $name ( @{$section_list{$sect_name}}) {
print HEADER " "x(0*$indent),"assert(${name}_g==(-1));\n";
print HEADER " "x(0*$indent),"if((msg = H5E_create_msg(cls, H5E_MINOR, \"${minor{$name}}\"))==NULL)\n";
print HEADER " "x(0*$indent),"HDassert(${name}_g==(-1));\n";
print HEADER " "x(0*$indent),"if((msg = H5E__create_msg(cls, H5E_MINOR, \"${minor{$name}}\"))==NULL)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, \"error message initialization failed\")\n";
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg, FALSE))<0)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, \"can't register error message\")\n";

View File

@@ -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);

View File

@@ -40,6 +40,7 @@ make distclean: remove all files generated by make, make check, or
make check-p: Only run parallel tests
make check-s: Only run serial tests
make check-vfd: Run tests with each virtual file driver
make check-vol: Run tests with each virtual object layer connector
HDF5 uses Automake, so any standard Automake targets not listed here
should also work.

View File

@@ -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

View File

@@ -132,6 +132,7 @@ DISPLAYUSAGE()
Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [help]
[clean] [distclean] [echo] [deploy <dir>] [deploydir <dir>]
[zlib <zlib_path>] [releasedir <dir>] [srcdirname <dir>] [check-vfd]
[check-vol]
[exec <command>] [module-load <module-list>] [op-configure <option>]
[--<option>]
all: Run all commands (checkout, test & release)
@@ -169,6 +170,8 @@ Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [h
[Default is $ReleaseDir_default]
check-vfd:
Run make check-vfd instead of just make check.
check-vol:
Run make check-vol instead of just make check.
exttest <testscript>;
Run testscript;
exec <command>:
@@ -422,6 +425,9 @@ while [ $# -gt 0 ] ; do
check-vfd)
CHECKVAL=check-vfd
;;
check-vol)
CHECKVAL=check-vol
;;
module-load)
shift
if [ $# -lt 1 ]; then

View File

@@ -46,6 +46,7 @@ $Source = "";
"H5E_direction_t" => "Ed",
"H5E_error_t" => "Ee",
"H5E_type_t" => "Et",
"H5ES_status_t" => "Es",
"H5F_close_degree_t" => "Fd",
"H5F_fspace_strategy_t" => "Ff",
"H5F_file_space_type_t" => "Ff",
@@ -67,6 +68,7 @@ $Source = "";
"unsigned" => "Iu",
"unsigned int" => "Iu",
"uint32_t" => "Iu",
"uint64_t" => "UL",
"H5I_type_t" => "It",
"H5G_link_t" => "Ll", #Same as H5L_type_t now
"H5L_type_t" => "Ll",
@@ -95,6 +97,23 @@ $Source = "";
"H5T_str_t" => "Tz",
"unsigned long" => "Ul",
"unsigned long long" => "UL",
"H5VL_attr_get_t" => "Va",
"H5VL_attr_specific_t" => "Vb",
"H5VL_class_value_t" => "VC",
"H5VL_dataset_get_t" => "Vc",
"H5VL_dataset_specific_t" => "Vd",
"H5VL_datatype_get_t" => "Ve",
"H5VL_datatype_specific_t" => "Vf",
"H5VL_file_get_t" => "Vg",
"H5VL_file_specific_t" => "Vh",
"H5VL_group_get_t" => "Vi",
"H5VL_group_specific_t" => "Vj",
"H5VL_link_create_type_t" => "Vk",
"H5VL_link_get_t" => "Vl",
"H5VL_link_specific_t" => "Vm",
"H5VL_object_get_t" => "Vn",
"H5VL_object_specific_t" => "Vo",
"H5VL_request_specific_t" => "Vr",
"void" => "x",
"FILE" => "x",
"H5A_operator_t" => "x",
@@ -124,6 +143,7 @@ $Source = "";
"H5G_iterate_t" => "x",
"H5G_info_t" => "x",
"H5I_free_t" => "x",
"H5I_iterate_func_t" => "x",
"H5I_search_func_t" => "x",
"H5L_class_t" => "x",
"H5L_elink_traverse_t" => "x",
@@ -147,6 +167,10 @@ $Source = "";
"H5T_cdata_t" => "x",
"H5T_conv_t" => "x",
"H5T_conv_except_func_t" => "x",
"H5VL_t" => "x",
"H5VL_class_t" => "x",
"H5VL_loc_params_t" => "x",
"H5VL_request_notify_t" => "x",
"H5Z_func_t" => "x",
"H5Z_filter_func_t" => "x",
"va_list" => "x",
@@ -295,7 +319,7 @@ sub rewrite_func ($$$$$) {
# Ignored due to NO TRACE comment.
} elsif ($body =~ s/((\n[ \t]*)H5TRACE\d+\s*\(.*?\);)\n/"$2$trace"/es) {
# Replaced an H5TRACE macro.
} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*(\(.*?\))?;??)\n/"$1$2$trace"/es) {
} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*[ \t]*(\(.*?\))?;??)\n/"$1$2$trace"/es) {
# Added an H5TRACE macro after a FUNC_ENTER macro.
} else {
errmesg $file, $name, "unable to insert tracing information";

View File

@@ -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}")

View File

@@ -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

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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,

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -192,16 +192,17 @@ H5File::H5File(const H5File& original) : Group()
//--------------------------------------------------------------------------
bool H5File::isHdf5(const char* name)
{
// Calls C routine H5Fis_hdf5 to determine whether the file is in
// Calls C routine H5Fis_accessible to determine whether the file is in
// HDF5 format. It returns positive value, 0, or negative value
htri_t ret_value = H5Fis_hdf5(name);
htri_t ret_value = H5Fis_accessible(name, H5P_DEFAULT);
if (ret_value > 0)
return true;
else if (ret_value == 0)
return false;
else // Raise exception when H5Fis_hdf5 returns a negative value
else // Raise exception when H5Fis_accessible returns a negative value
{
throw FileIException("H5File::isHdf5", "H5Fis_hdf5 returned negative value");
throw FileIException("H5File::isHdf5", "H5Fis_accessible returned negative value");
}
}
@@ -217,6 +218,46 @@ bool H5File::isHdf5(const H5std_string& name)
return(isHdf5( name.c_str()));
}
//--------------------------------------------------------------------------
// Function: H5File::isAccessible (static)
///\brief Determines whether a file can be accessed as HDF5. (Static)
///\param name - IN: Name of the file
///\param access_plist - IN: File access property list. Default to
/// FileAccPropList::DEFAULT
///\return true if the file can be accessed as HDF5, and false, otherwise
///\exception H5::FileIException
// September 2018
//--------------------------------------------------------------------------
bool H5File::isAccessible(const char* name, const FileAccPropList& access_plist)
{
// Calls C routine H5Fis_accessible to determine whether the file is in
// HDF5 format. It returns positive value, 0, or negative value
hid_t access_plist_id = access_plist.getId();
htri_t ret_value = H5Fis_accessible(name, access_plist_id);
if (ret_value > 0)
return true;
else if (ret_value == 0)
return false;
else // Raise exception when H5Fis_accessible returns a negative value
{
throw FileIException("H5File::isAccessible", "H5Fis_accessible returned negative value");
}
}
//--------------------------------------------------------------------------
// Function: H5File::isAccessible (static)
///\brief This is an overloaded member function, provided for convenience.
/// It takes an \c H5std_string for \a name. (Static)
///\param name - IN: Name of the file - \c H5std_string
///\param access_plist - IN: File access property list. Default to
/// FileAccPropList::DEFAULT
// September 2018
//--------------------------------------------------------------------------
bool H5File::isAccessible(const H5std_string& name, const FileAccPropList& access_plist)
{
return(isAccessible(name.c_str(), access_plist));
}
//--------------------------------------------------------------------------
// Function: openFile
///\brief Opens an HDF5 file

View File

@@ -73,6 +73,10 @@ class H5_DLLCPP H5File : public Group {
static bool isHdf5(const char* name);
static bool isHdf5(const H5std_string& name);
// Determines if a file, specified by its name, can be accessed as HDF5
static bool isAccessible(const char* name, const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
static bool isAccessible(const H5std_string& name, const FileAccPropList& access_plist = FileAccPropList::DEFAULT);
// Reopens this file.
void reOpen(); // added for better name

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -174,8 +174,8 @@ H5I_type_t IdComponent::getHDFObjType() const
/// \li \c H5I_DATASPACE
/// \li \c H5I_DATASET
/// \li \c H5I_ATTR
/// \li \c H5I_REFERENCE (DEPRECATED)
/// \li \c H5I_VFL
/// \li \c H5I_VOL
/// \li \c H5I_GENPROP_CLS
/// \li \c H5I_GENPROP_LST
/// \li \c H5I_ERROR_CLASS
@@ -227,8 +227,8 @@ bool IdComponent::isValid(hid_t an_id)
/// \li \c H5I_DATASPACE
/// \li \c H5I_DATASET
/// \li \c H5I_ATTR
/// \li \c H5I_REFERENCE (DEPRECATED)
/// \li \c H5I_VFL
/// \li \c H5I_VOL
/// \li \c H5I_GENPROP_CLS
/// \li \c H5I_GENPROP_LST
/// \li \c H5I_ERROR_CLASS

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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);

View File

@@ -105,6 +105,7 @@ LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id)
//--------------------------------------------------------------------------
// Function: LinkCreatPropList::setCharEncoding
///\brief Sets the character encoding of the string.
///
///\exception H5::PropListIException
// March, 2018
//--------------------------------------------------------------------------
@@ -121,6 +122,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
//--------------------------------------------------------------------------

View File

@@ -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,7 +36,7 @@ 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);

View File

@@ -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.

View File

@@ -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:

View File

@@ -149,8 +149,8 @@ PropList::PropList(const hid_t plist_id) : IdComponent()
case H5I_DATASPACE:
case H5I_DATASET:
case H5I_ATTR:
case H5I_REFERENCE:
case H5I_VFL:
case H5I_VOL:
case H5I_ERROR_CLASS:
case H5I_ERROR_MSG:
case H5I_ERROR_STACK:

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -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
//--------------------------------------------------------------------------

View File

@@ -32,15 +32,15 @@ bin_SCRIPTS=h5c++
# Source files for the library
libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp \
H5DataSpace.cpp H5PropList.cpp H5Library.cpp \
H5FaccProp.cpp H5FcreatProp.cpp H5LcreatProp.cpp \
H5LaccProp.cpp H5DaccProp.cpp H5DxferProp.cpp \
H5DataSpace.cpp H5PropList.cpp H5Library.cpp \
H5FaccProp.cpp H5FcreatProp.cpp H5LcreatProp.cpp \
H5LaccProp.cpp H5DaccProp.cpp H5DxferProp.cpp \
H5DcreatProp.cpp H5Location.cpp H5AbstractDs.cpp \
H5Attribute.cpp H5Object.cpp H5OcreatProp.cpp \
H5DataType.cpp H5AtomType.cpp H5PredType.cpp \
H5DataType.cpp H5AtomType.cpp H5PredType.cpp \
H5EnumType.cpp H5IntType.cpp H5FloatType.cpp \
H5StrType.cpp H5ArrayType.cpp H5VarLenType.cpp \
H5CompType.cpp H5DataSet.cpp H5CommonFG.cpp H5Group.cpp \
H5CompType.cpp H5DataSet.cpp H5CommonFG.cpp H5Group.cpp \
H5File.cpp
# HDF5 C++ library depends on HDF5 Library.

View File

@@ -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.11.4"
# 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

View File

@@ -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 ()

View 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 ()

View File

@@ -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;
}
@@ -371,7 +371,6 @@ static void test_array_info()
s1_t rdata[SPACE1_DIM1][ARRAY1_DIM1]; // Information read in
hsize_t sdims1[] = {SPACE1_DIM1};
hsize_t tdims1[] = {ARRAY1_DIM1};
int nmemb; // Number of compound members
int ii; // counting variables
hsize_t idxi, idxj, idxk; // dimension indicing variables
H5T_class_t mclass; // Datatype class for field

View File

@@ -1712,7 +1712,7 @@ static void test_attr_dense_create(FileCreatPropList& fcpl,
// Close property list
dcpl.close();
// H5O_is_attr_dense_test - un-usable
// H5O__is_attr_dense_test - un-usable
// Add attributes, until just before converting to dense storage
char attr_name[NAME_BUF_SIZE];
@@ -1727,7 +1727,7 @@ static void test_attr_dense_create(FileCreatPropList& fcpl,
attr.write(PredType::NATIVE_UINT, &attr_num);
} // end for
// H5O_is_attr_dense_test - un-usable
// H5O__is_attr_dense_test - un-usable
{ // Add one more attribute, to push into "dense" storage
@@ -1815,8 +1815,8 @@ static void test_attr_corder_create_basic(FileCreatPropList& fcpl,
ds_space.close();
// Check on dataset's attribute storage status.
// NOTE: Wrappers not available yet (H5O_is_attr_empty_test
// and H5O_is_attr_dense_test)
// NOTE: Wrappers not available yet (H5O__is_attr_empty_test
// and H5O__is_attr_dense_test)
// Close dataset
dataset.close();

View File

@@ -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]);
}

View File

@@ -609,10 +609,10 @@ 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_object

View File

@@ -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
@@ -307,6 +319,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 #########

0
config/cmake/CTestScript.cmake Executable file → Normal file
View File

View File

@@ -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")

View File

@@ -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

View File

@@ -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. */
@@ -399,10 +390,15 @@
/* Define to 1 if you have the <szlib.h> header file. */
#cmakedefine H5_HAVE_SZLIB_H @H5_HAVE_SZLIB_H@
#if defined(_WIN32) && !defined(H5_BUILT_AS_DYNAMIC_LIB)
/* Not supported on WIN32 platforms with static linking */
/* #undef H5_HAVE_THREADSAFE */
#else
/* Define if we have thread safe support */
#cmakedefine H5_HAVE_THREADSAFE @H5_HAVE_THREADSAFE@
# cmakedefine H5_HAVE_THREADSAFE @H5_HAVE_THREADSAFE@
#endif
/* 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 +410,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 +431,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 +449,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 +468,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 +610,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 +680,12 @@
/* 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 using v1.12 public API symbols by default */
#cmakedefine H5_USE_112_API_DEFAULT @H5_USE_112_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. */

View File

@@ -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()

View File

@@ -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}

View File

@@ -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,26 +355,26 @@ 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} ")
@@ -401,21 +384,21 @@ macro (C_RUN FUNCTION CODE RETURN)
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})

View File

@@ -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.12.4-Source")
#endif()
###############################################################################################################

0
config/cmake/HDF5_Examples_options.cmake Executable file → Normal file
View File

View File

@@ -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 ()

View File

@@ -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@".

View File

@@ -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)

View File

@@ -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()

View File

@@ -38,6 +38,7 @@ 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@)
@@ -45,6 +46,8 @@ set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
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
@@ -124,14 +127,14 @@ 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 +146,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 +186,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})

View File

@@ -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 ()
@@ -88,10 +77,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 +110,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,54 +120,56 @@ 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")
# 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 (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 ("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 ()
endforeach ()
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")
if (NOT len_act EQUAL len_ref)
set (TEST_RESULT 1)
endif ()
endif ()
if (NOT "${len_act}" STREQUAL "${len_ref}")
set (TEST_RESULT 1)
message (STATUS "COMPARE Result: ${TEST_RESULT}")
# 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 ()
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}")
endif ()
# now compare the .err file with the error reference, if supplied
if (TEST_ERRREF)
if (WIN32 AND NOT MINGW)
@@ -191,34 +182,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")
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 +217,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,15 +230,15 @@ 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 ()

0
config/cmake/libh5cc.in Executable file → Normal file
View File

0
config/cmake/libhdf5.pc.in Executable file → Normal file
View File

View File

@@ -64,20 +64,21 @@ Languages:
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@
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@

View File

@@ -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>

628
config/cmake/scripts/CTestScript.cmake Executable file → Normal file
View File

@@ -9,294 +9,340 @@
# 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 ()
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
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 ()
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
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 ()
#-----------------------------------------------------------------------------

467
config/cmake/scripts/HDF5config.cmake Executable file → Normal file
View File

@@ -9,232 +9,251 @@
# 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.11.4")
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
#MODEL - CDash group name
#HPC - run alternate configurations for HPC machines; sbatch, bsub, raybsub
#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_CMAKE_GENERATOR "Unix Makefiles")
include (${CTEST_SOURCE_DIRECTORY}/config/cmake/scripts/HPC/${HPC}-HDF5options.cmake)
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 "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 ()

60
config/cmake/scripts/HDF5options.cmake Executable file → Normal file
View File

@@ -16,9 +16,13 @@
### 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 ####
@@ -29,12 +33,8 @@
#############################################################################################
#### 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 +50,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.12.4-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}")
#############################################################################################
### enable parallel builds
#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")
#############################################################################################
### 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")
#############################################################################################

View File

@@ -0,0 +1,40 @@
#
# 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") ###
#############################################################################################
### uncomment/comment and change the following lines for other configuration options
#############################################################################################
### enable parallel builds
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
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 ()
#############################################################################################
### 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")

View File

@@ -0,0 +1,41 @@
#
# 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") ###
#############################################################################################
### uncomment/comment and change the following lines for other configuration options
#############################################################################################
### enable parallel builds
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
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 ()
#############################################################################################
### 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")

View File

@@ -0,0 +1,52 @@
#
# 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") ###
#############################################################################################
### uncomment/comment and change the following lines for other configuration options
#############################################################################################
### enable parallel builds
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
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 ()
#############################################################################################
### 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")
#############################################################################################
#############################################################################################

View File

@@ -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,7 +121,7 @@ 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 ()

View File

@@ -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)

View File

@@ -0,0 +1,76 @@
#
# 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.
#
# volTest.cmake executes a command and captures the output in a file. Command uses specified VOL.
# Exit status of command can also be compared.
# arguments checking
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")
endif ()
if (NOT TEST_VOL)
message (FATAL_ERROR "Require TEST_VOL to be defined")
endif ()
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT})
endif ()
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)
# set (ERROR_APPEND 1)
#endif ()
message (STATUS "USING ${TEST_VOL} ON COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
set (ENV{HDF5_VOL_CONNECTOR} "${TEST_VOL}")
# run the test program, capture the stdout/stderr and the result var
execute_process (
COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
WORKING_DIRECTORY ${TEST_FOLDER}
RESULT_VARIABLE TEST_RESULT
OUTPUT_FILE ${TEST_OUTPUT}.out
ERROR_FILE ${TEST_OUTPUT}.err
OUTPUT_VARIABLE TEST_OUT
ERROR_VARIABLE TEST_ERROR
)
message (STATUS "COMMAND Result: ${TEST_RESULT}")
# if the .err file exists and ERRROR_APPEND is enabled
if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT}.out "${TEST_STREAM}")
endif ()
# if the return value is !=${TEST_EXPECT} bail out
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
if (NOT TEST_NOERRDISPLAY)
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.out)
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.out TEST_STREAM)
message (STATUS "Output USING ${TEST_VOL}:\n${TEST_STREAM}")
endif ()
endif ()
message (FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != ${TEST_EXPECT}.\n${TEST_ERROR}")
endif ()
message (STATUS "COMMAND Error: ${TEST_ERROR}")
# everything went fine...
message ("Passed: The ${TEST_PROGRAM} program used vol ${TEST_VOL}")

View 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")

View File

@@ -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)
@@ -666,7 +660,7 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
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 ()

View File

@@ -30,6 +30,7 @@ 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}
)
elseif (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (JPEG
@@ -47,6 +48,7 @@ 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}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (JPEG
@@ -64,6 +66,7 @@ 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}
)
endif ()
externalproject_get_property (JPEG BINARY_DIR SOURCE_DIR)
@@ -72,14 +75,14 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
# 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)
add_dependencies (jpeg-static JPEG)
set (JPEG_STATIC_LIBRARY "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)
add_dependencies (jpeg-shared JPEG)
set (JPEG_SHARED_LIBRARY "jpeg-shared")
set (JPEG_LIBRARIES ${JPEG_LIBRARIES} ${JPEG_SHARED_LIBRARY})
endif ()
@@ -121,6 +124,7 @@ 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}
)
elseif (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (SZIP
@@ -139,6 +143,7 @@ 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}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (SZIP
@@ -157,6 +162,7 @@ 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}
)
endif ()
externalproject_get_property (SZIP BINARY_DIR SOURCE_DIR)
@@ -165,14 +171,14 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
# 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)
add_dependencies (szip-static SZIP)
set (SZIP_STATIC_LIBRARY "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)
add_dependencies (szip-shared SZIP)
set (SZIP_SHARED_LIBRARY "szip-shared")
set (SZIP_LIBRARIES ${SZIP_LIBRARIES} ${SZIP_SHARED_LIBRARY})
endif ()
@@ -213,6 +219,7 @@ 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}
)
elseif (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (ZLIB
@@ -230,6 +237,7 @@ 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}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (ZLIB
@@ -247,6 +255,7 @@ 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}
)
endif ()
externalproject_get_property (ZLIB BINARY_DIR SOURCE_DIR)
@@ -260,14 +269,14 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
# 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)
add_dependencies (zlib-static ZLIB)
set (ZLIB_STATIC_LIBRARY "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)
add_dependencies (zlib-shared ZLIB)
set (ZLIB_SHARED_LIBRARY "zlib-shared")
set (ZLIB_LIBRARIES ${ZLIB_LIBRARIES} ${ZLIB_SHARED_LIBRARY})
endif ()

View File

@@ -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()
@@ -170,7 +170,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})
@@ -273,14 +273,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 ()
@@ -358,6 +358,21 @@ 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 ()
@@ -380,13 +395,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

View File

@@ -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 ()

View File

@@ -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 ()

View File

@@ -57,15 +57,15 @@ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
# 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")
# TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
if (TEST_EXPECT)
# TEST_EXPECT (1) interprets 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 ()

View File

@@ -26,9 +26,6 @@ endif ()
if (NOT TEST_EXPECT)
message (STATUS "Require TEST_EXPECT to be defined")
endif ()
if (NOT TEST_SKIP_COMPARE AND 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})
@@ -38,11 +35,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)
set (ERROR_APPEND 1)
endif ()
message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
if (TEST_LIBRARY_DIRECTORY)
@@ -88,7 +80,7 @@ if (TEST_REGEX)
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
string (REGEX MATCH "${TEST_REGEX}" REGEX_MATCH ${TEST_STREAM})
string (COMPARE EQUAL "${REGEX_MATCH}" "${TEST_MATCH}" REGEX_RESULT)
if ("${REGEX_RESULT}" STREQUAL "0")
if (NOT REGEX_RESULT)
message (STATUS "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_MATCH}")
endif ()
endif ()
@@ -96,9 +88,21 @@ endif ()
message (STATUS "COMMAND Result: ${TEST_RESULT}")
# if the .err file exists and ERRROR_APPEND is enabled
if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
if (TEST_MASK_FILE)
STRING(REGEX REPLACE "CurrentDir is [^\n]+\n" "CurrentDir is (dir name)\n" TEST_STREAM "${TEST_STREAM}")
endif ()
# remove special output
string (REGEX REPLACE "^.*_pmi_alps[^\n]+\n" "" TEST_STREAM "${TEST_STREAM}")
if (NOT ERROR_APPEND)
# write back to original .err file
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT}.err "${TEST_STREAM}")
else ()
# append error output to the stdout output file
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
endif ()
endif ()
# append the test result status with a predefined text
@@ -107,7 +111,7 @@ if (TEST_APPEND)
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})
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
@@ -119,6 +123,14 @@ endif ()
message (STATUS "COMMAND Error: ${TEST_ERROR}")
# remove special output
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
string (FIND TEST_STREAM "_pmi_alps" "${TEST_FIND_RESULT}")
if (TEST_FIND_RESULT GREATER 0)
string (REGEX REPLACE "^.*_pmi_alps[^\n]+\n" "" TEST_STREAM "${TEST_STREAM}")
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_STREAM})
endif ()
# if the output file needs Storage text removed
if (TEST_MASK)
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
@@ -173,63 +185,65 @@ endif ()
# 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 (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 ()
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)
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 ()
endif ()
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 ("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
@@ -244,34 +258,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")
endif ()
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}")
if (NOT len_act EQUAL len_ref)
set (TEST_RESULT 1)
endif ()
endif ()
@@ -279,11 +293,33 @@ 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 ()
endif ()
if (TEST_GREP_COMPARE)
# now grep the output with the reference
file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
# 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 (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)
# TEST_EXPECT (1) interprets TEST_FILTER as; NOT to match
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
if (TEST_RESULT)
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
endif ()
endif ()
endif ()
# everything went fine...
message ("Passed: The output of ${TEST_PROGRAM} matches ${TEST_REFERENCE}")
message ("${TEST_PROGRAM} Passed")

View File

@@ -97,7 +97,8 @@ CHECK_CLEANFILES=*.chkexe *.chklog *.clog *.clog2
# exists.
.PHONY: build-check-clean build-check-p build-check-s build-lib build-progs \
build-tests check-clean check-install check-p check-s check-vfd \
install-doc lib progs tests uninstall-doc _exec_check-s _test help
check-vol install-doc lib progs tests uninstall-doc _exec_check-s \
_test help
help:
@$(top_srcdir)/bin/makehelp

Some files were not shown because too many files have changed in this diff Show More