Compare commits

...

463 Commits

Author SHA1 Message Date
Allen Byrne
346fe1a0bc Merge pull request #1795 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '4c8e3573a7387db8cb8292c9207d528b9497a4c7':
  Fix CMake module include and note text
  HDFFV-10581 Correct PDB files and debug naming.
2019-07-11 15:38:41 -05:00
Allen Byrne
4c8e3573a7 Fix CMake module include and note text 2019-07-10 10:33:40 -05:00
Allen Byrne
c43323a06d HDFFV-10581 Correct PDB files and debug naming. 2019-07-09 16:31:17 -05:00
Dhvanil Popat
89b2d1c8ce Merge pull request #1786 in HDFFV/hdf5 from ~DPOPAT/hdf5:bugfix/HDFFV-10832_merge to hdf5_1_10
* commit 'c56b9846c5277271dd07900b884da1abf1c9c21f':
  Fixed name for 'Build HDF Tests' in CMake's libhdf5 settings
  Fixed options for CMake to correct names
  Added Tests/Tools to libhdf5.settings in cmake equivalent
  Minor fix in libhdf5.settings.in
  Squash commit of options to build tools and tests
2019-07-05 13:31:46 -05:00
Dhvanil Popat
c56b9846c5 Fixed name for 'Build HDF Tests' in CMake's libhdf5 settings 2019-07-03 14:23:22 -05:00
Allen Byrne
b43c2520bf Merge pull request #1780 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'f8a4c39577b85ac839b29afdee74fe0c9e241ce2':
  Merge parallel static fix from develop
2019-07-01 10:14:32 -05:00
Allen Byrne
f8a4c39577 Merge parallel static fix from develop 2019-06-27 12:43:23 -05:00
Allen Byrne
39537399a1 Merge pull request #1773 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '6d1c05b8d248a3e9ae8797e20744fdf5b2319af5':
  HDFFV-9407 Merge test addition from develop
2019-06-25 12:36:34 -05:00
Allen Byrne
6d1c05b8d2 HDFFV-9407 Merge test addition from develop 2019-06-25 10:22:47 -05:00
Dhvanil Popat
ef683f7666 Fixed options for CMake to correct names 2019-06-25 07:17:32 +00:00
Dhvanil Popat
194c3faf95 Added Tests/Tools to libhdf5.settings in cmake equivalent 2019-06-25 05:41:13 +00:00
Dhvanil Popat
a4618f9649 Minor fix in libhdf5.settings.in 2019-06-25 02:12:27 +00:00
Dhvanil Popat
5d954a0214 Squash commit of options to build tools and tests 2019-06-25 01:40:07 +00:00
Allen Byrne
d42e543f17 Merge pull request #1766 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '7003d4928776d10317688033e5bab236124f470f':
  Fix fortran test and test library linking
2019-06-24 07:26:44 -05:00
Allen Byrne
7003d49287 Fix fortran test and test library linking 2019-06-23 13:54:17 -05:00
Allen Byrne
4ad465827a Merge pull request #1762 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '00491923f11bf7b44390d41bc4ff3b5455a66b16':
  Add lib dir for testing plugins
2019-06-22 10:06:45 -05:00
Allen Byrne
00491923f1 Add lib dir for testing plugins 2019-06-21 16:24:53 -05:00
Allen Byrne
ab654ee7da Merge pull request #1758 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '5a52a6fa1540eb59acbf812d85f8ca0d2215e9d6':
  remove duplicated function
2019-06-21 16:11:45 -05:00
Allen Byrne
5a52a6fa15 remove duplicated function 2019-06-21 10:33:18 -05:00
Allen Byrne
d46ca49e16 Merge pull request #1755 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '8ab0727d54cd147930aea5fdb025f3aeeb4f82c1':
  Correct sentence structure.
  Add H5_DLL prefix to fix link
  HDFFV-10805 Merge SHARED ONLY option from develop
2019-06-21 09:51:53 -05:00
Allen Byrne
8ab0727d54 Correct sentence structure. 2019-06-21 09:51:32 -05:00
Allen Byrne
380200f0ed Add H5_DLL prefix to fix link 2019-06-20 08:30:16 -05:00
Allen Byrne
7ee92d5805 HDFFV-10805 Merge SHARED ONLY option from develop 2019-06-20 06:55:05 -05:00
Allen Byrne
c2a7449951 Merge pull request #1723 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '1a2df2a6c3dcfc4c1030e6ba4d3da351f46a9d4f':
  Updates from develop
2019-06-12 13:12:59 -05:00
Allen Byrne
1a2df2a6c3 Updates from develop 2019-06-10 13:16:11 -05:00
Allen Byrne
b5a4fd517b Merge pull request #1716 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'c59817f3436cdd30059520df7d12eea0512e59b4':
  Update cmake macros and java arg format
2019-06-05 15:07:05 -05:00
Allen Byrne
c59817f343 Update cmake macros and java arg format 2019-05-31 12:34:37 -05:00
Allen Byrne
86add4853d Merge pull request #1712 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'd628d1d8c897917c7a07affd565c7744d4ae6057':
  Fix message command syntax
2019-05-19 10:59:30 -05:00
Allen Byrne
d628d1d8c8 Fix message command syntax 2019-05-17 15:49:00 -05:00
Vailin Choi
ab3591b9ec Merge pull request #1707 in HDFFV/hdf5 from ~VCHOI/my_third_fork:hdf5_1_10 to hdf5_1_10
* commit '519685d05cdb53e6e641587863c45773cca571db':
  Address daily test failure for hdf5_1_10: Fix the testhdf5 failing test in the selection code which segfaults.
2019-05-16 16:46:35 -05:00
Vailin Choi
519685d05c Address daily test failure for hdf5_1_10:
Fix the testhdf5 failing test in the selection code which segfaults.
2019-05-16 13:19:56 -05:00
Vailin Choi
7f616e0b8a Merge pull request #1671 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/v110_HDFFV-10365-h5sencode-decode-bug-when-num to hdf5_1_10
* commit '1d87374f68a28a215878a47e1203711dc95ac716':
  Make corresponding changes for H5Sencode based on PR #1645 to develop branch. The core changes are to revert previous modifications now that we use API context for fapl.
2019-05-13 11:40:59 -05:00
Vailin Choi
1d87374f68 Merge pull request #4 in ~VCHOI/my_third_fork from hdf5_1_10 to bugfix/v110_HDFFV-10365-h5sencode-decode-bug-when-num
* commit '4dfcc225ba98a5ad1bc4283b8eacde0bb6f7484c':
  Fix Java JUnit-TestH5P failure on 32-bit arch
  Added new C++ wrappers - HDFFV-10622
  Make the corresponding fix for HDFFV-10579 H5Arename fails when creation order of attributes is tracked.
2019-05-13 11:34:51 -05:00
Allen Byrne
4dfcc225ba Merge pull request #1684 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_10 to hdf5_1_10
* commit 'eb2476bc41d30e856a453990a0b0fdc89e3f5ad5':
  Fix Java JUnit-TestH5P failure on 32-bit arch
2019-04-30 15:38:50 -05:00
Jordan Henderson
eb2476bc41 Fix Java JUnit-TestH5P failure on 32-bit arch 2019-04-30 15:35:09 -05:00
Binh-Minh Ribler
2de6faf82b Merge pull request #1673 in HDFFV/hdf5 from ~BMRIBLER/hdf5-bmr:hdf5_1_10 to hdf5_1_10
Added C++ wrappers for H5Pset/get_create_intermediate_group

* commit '4867de9631d9ffd8f4186df27b3c69283ca0fee5':
  Added new C++ wrappers - HDFFV-10622
2019-04-25 23:12:08 -05:00
Binh-Minh Ribler
4867de9631 Added new C++ wrappers - HDFFV-10622
Description:
    Added wrappers for H5Pset/get_create_intermediate_group:
        // Specifies in property list whether to create missing
        // intermediate groups
        void setCreateIntermediateGroup(bool crt_intmd_group) const;

        // Determines whether property is set to enable creating missing
        // intermediate groups
        bool getCreateIntermediateGroup() const;
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-04-24 09:37:41 -05:00
Vailin Choi
1f934ae2c6 Make corresponding changes for H5Sencode based on PR #1645 to develop branch.
The core changes are to revert previous modifications now that we use API context for fapl.
2019-04-23 15:04:50 -05:00
Vailin Choi
19ef25909e Merge pull request #1664 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/v110_HDFFV-10579-h5arename-function-fails-when to hdf5_1_10
* commit '36149c8a669146eb73750f03b8dd85a1f1c02c2e':
  Make the corresponding fix for HDFFV-10579 H5Arename fails when creation order of attributes is tracked.
2019-04-22 15:58:48 -05:00
Vailin Choi
36149c8a66 Make the corresponding fix for HDFFV-10579 H5Arename fails when creation order of attributes is tracked. 2019-04-18 18:14:17 -05:00
Vailin Choi
6084b4d003 Merge pull request #1650 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/v110_HDFFV-10271-version-2-hyperslab-encoding to hdf5_1_10
* commit '3e30d019214eaee6f345f45eae478e7f464df8ad':
  Make corresponding changes for hyperslab encoding incorrect length (HDFFV-10271). This is based on PR #1644 merged to develop branch. The fix for the incorrect length was already checked in to 1.10 on Dec 2017.
2019-04-18 15:05:10 -05:00
Vailin Choi
a07ce44bee Merge pull request #1648 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/v110_move_selection_specific to hdf5_1_10
* commit '670c6c1389c1c66598a365a9bfe2b19237d9e93a':
  Make corresponding changes for moving dataspace selection-specific coding to the callbacks. This is based on the PR #1642 merged to the develop branch.
2019-04-18 15:04:21 -05:00
Vailin Choi
6fa80c0147 Merge pull request #1647 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/v110_context_fapl to hdf5_1_10
* commit '76b4748e78b2de806114100f7b82133b6983c60c':
  Make corresponding changes for setting API context for fapl and libver_bounds to be used later in dataspace selection. This is based on PR #1640 merged to develop branch.
2019-04-18 15:03:39 -05:00
Vailin Choi
2e7811922f Merge pull request #1646 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/v110_ver_bounds to hdf5_1_10
* commit '4feb2100591c802ea450dc26dae4e0546479fa96':
  Make corresponding changes for version bounds in V110. This is based on PR#1639 merged to develop branch.
2019-04-18 15:03:12 -05:00
Vailin Choi
3e30d01921 Make corresponding changes for hyperslab encoding incorrect length (HDFFV-10271).
This is based on PR #1644 merged to develop branch.
The fix for the incorrect length was already checked in to 1.10 on Dec 2017.
2019-04-10 17:22:06 -05:00
Vailin Choi
670c6c1389 Make corresponding changes for moving dataspace selection-specific coding to the callbacks.
This is based on the PR #1642 merged to the develop branch.
2019-04-10 14:24:53 -05:00
Vailin Choi
76b4748e78 Make corresponding changes for setting API context for fapl and libver_bounds to be used later in dataspace selection.
This is based on PR #1640 merged to develop branch.
2019-04-10 11:36:10 -05:00
Vailin Choi
4feb210059 Make corresponding changes for version bounds in V110.
This is based on PR#1639 merged to develop branch.
2019-04-10 10:58:59 -05:00
Allen Byrne
1fb34f7e8c Merge pull request #1638 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'ca1165f3ab5121e433eb8ffa4de74e061c8b3cd1':
  Update java m4 scripts
  CMake fixes
  Update namespace handling
  Allow option to select NAMESPACE
2019-04-06 10:33:23 -05:00
Allen Byrne
ca1165f3ab Update java m4 scripts 2019-04-04 13:26:14 -05:00
Allen Byrne
7dfec79e31 CMake fixes 2019-04-04 11:55:01 -05:00
Allen Byrne
f3546fb4b0 Update namespace handling 2019-04-04 10:48:37 -05:00
Allen Byrne
c6efe52cc9 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'af7dc057890c8ddb9327e8bb7e93f78195152320':
  Snapshot version 1.10 release 6 (snap0)\nUpdate version to 1.10.6-snap1)
2019-04-03 08:48:30 -05:00
Larry Knox
af7dc05789 Merge pull request #1631 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:hdf5_1_10 to hdf5_1_10
* commit '5894e19ad5432f599dd5deba2f4cc0e224c92bc3':
  Snapshot version 1.10 release 6 (snap0)\nUpdate version to 1.10.6-snap1)
2019-04-02 12:24:49 -05:00
hdftest
5894e19ad5 Snapshot version 1.10 release 6 (snap0)\nUpdate version to 1.10.6-snap1) 2019-04-01 17:02:17 -05:00
Allen Byrne
8c34530608 Allow option to select NAMESPACE 2019-03-28 16:41:30 -05:00
Allen Byrne
228ec80c9c Merge pull request #1623 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'ad3a510e61017fa6da64b46e45120172d27376c2':
  Correct Examples for packaging
2019-03-28 16:38:04 -05:00
Allen Byrne
ad3a510e61 Correct Examples for packaging 2019-03-28 13:43:04 -05:00
Scot Breitenfeld
7ef7506ad4 Merge pull request #1622 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:hdf5_1_10 to hdf5_1_10
* commit 'cc0a892704bcd5a15d919d346202a066d551b183':
  HDFFV-10738 Wrong INTENT for H5LTread_dataset_double_f
2019-03-27 09:56:48 -05:00
M. Scot Breitenfeld
cc0a892704 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-27 09:34:57 -05:00
Neil Fortner
df98700e02 Merge pull request #1609 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:hdf5_1_10 to hdf5_1_10
* commit 'a8443acaa76b79ebe74624af363008f0163a44f8':
  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-19 15:38:53 -05:00
Neil Fortner
a8443acaa7 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-19 15:36:43 -05:00
Ray Lu
285bb9713c Merge pull request #1591 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:HDFFV-10705-for-1-10-branch to hdf5_1_10
* commit '2f3c34c649b8ec04d399296fa6203f68615e55a0':
  Revised the entry of bug fix for HDFFV-10705.
  Minor change: revised the note from the previous commit about HDFFV-10705.
  HDFFV-10705: added a release note.
  HDFFV-10705: Fixed memory leak in scale offset filter.
2019-03-08 10:46:12 -06:00
Songyu Lu
2f3c34c649 Revised the entry of bug fix for HDFFV-10705. 2019-03-08 09:56:09 -06:00
Songyu Lu
1848184afe Minor change: revised the note from the previous commit about HDFFV-10705. 2019-03-07 10:10:11 -06:00
Songyu Lu
35b6085c60 HDFFV-10705: added a release note. 2019-03-04 16:09:26 -06:00
Songyu Lu
8a864f91eb HDFFV-10705: Fixed memory leak in scale offset filter. 2019-03-04 10:22:51 -06:00
Allen Byrne
970dccd54b Merge pull request #1583 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '81f446d31169e464f87148b061c9816a4197e622':
  Correct CMake examples for a binary install
  Fix typos
2019-02-27 13:34:33 -06:00
Allen Byrne
81f446d311 Correct CMake examples for a binary install 2019-02-27 11:15:58 -06:00
Allen Byrne
a372f76ea6 Fix typos 2019-02-26 10:44:57 -06:00
Allen Byrne
4a0a1784db Merge pull request #1575 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '675be2a4a48253ed2622b9c45f8beabaa872c18d':
  HDFFV-10552 Change to use H5G_loc_info
  HDFFV-10552 Revert H5O_*1 functions for compatibility
2019-02-22 18:14:55 -06:00
Dana Robinson
68ed170fbc Merge pull request #1577 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit 'd628025b500a9480ce08ced10d566a700d82f8e3':
  Updated H5err.txt to replace a global variable that was removed during the metadata cache logging changes (to maintain binary compatibility).
2019-02-22 17:08:12 -06:00
Dana Robinson
d628025b50 Updated H5err.txt to replace a global variable that was removed
during the metadata cache logging changes (to maintain binary
compatibility).
2019-02-22 14:11:26 -08:00
Allen Byrne
675be2a4a4 HDFFV-10552 Change to use H5G_loc_info 2019-02-22 13:13:42 -06:00
Allen Byrne
62dce9ab87 HDFFV-10552 Revert H5O_*1 functions for compatibility 2019-02-22 12:46:43 -06:00
Jordan Henderson
6f103565f9 Merge pull request #1572 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_10 to hdf5_1_10
* commit '2cb70b01eadbed1363ea4418fa1d36e636d9998d':
  Minor fix in h5str_sprintf for NULL region references
2019-02-22 10:11:59 -06:00
Jordan Henderson
2cb70b01ea Minor fix in h5str_sprintf for NULL region references 2019-02-22 08:42:37 -06:00
Allen Byrne
b78b3ea95e Merge pull request #1570 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'b7d6f11182f148c0d0fff8d077d7fa342080d98c':
  HDFFV-10703 - Update CMake variable handling
2019-02-21 14:18:54 -06:00
Allen Byrne
b7d6f11182 HDFFV-10703 - Update CMake variable handling 2019-02-21 13:23:59 -06:00
Larry Knox
0c6110e586 Merge pull request #1567 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '1353f9552eaabf9f17b9043ed1d9a3d97fb5ba87':
  Add new files to MANIFEST.
  Update so version numbers. fix 2 typos.
2019-02-20 14:10:48 -06:00
Larry Knox
1353f9552e Add new files to MANIFEST. 2019-02-20 13:58:52 -06:00
Larry Knox
cd1838e063 Update so version numbers.
fix 2 typos.
2019-02-20 13:27:12 -06:00
Larry Knox
ae0a8a197b Merge pull request #1564 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'afc010179ce9bed6b9a432fe7531070e5fa589f1':
  Update version on hdf5_1_10 branch to 1.10.6-snap0.
2019-02-18 16:33:51 -06:00
Larry Knox
afc010179c Update version on hdf5_1_10 branch to 1.10.6-snap0. 2019-02-18 15:14:43 -06:00
Larry Knox
247cb2989f Merge pull request #1562 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '0712f746e900a461513d8f31ddec74d684bd30c8':
  Merge pull request #1560 in HDFFV/hdf5 from hdf5-1-10-documentation-only to hdf5_1_10_5
2019-02-18 14:53:55 -06:00
Richard Warren
0712f746e9 Merge pull request #1560 in HDFFV/hdf5 from hdf5-1-10-documentation-only to hdf5_1_10_5
* commit '5dd2fda18fbbeab95ba44200e48c8202dae65206':
  Modify RELEASE.txt in response to PR comments
  Updated RELEASE.txt with updates regarding HDFFV-10540
2019-02-18 14:35:01 -06:00
Larry Knox
a4b254a92f Merge pull request #1561 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '51c5f6b4b962062b6eb8f4f8b6425c8930e73118':
  Update HISTORY-1_10.txt and RELEASE.txt files.
2019-02-18 14:16:34 -06:00
Larry Knox
51c5f6b4b9 Update HISTORY-1_10.txt and RELEASE.txt files. 2019-02-18 12:06:14 -06:00
Binh-Minh Ribler
118cb6a3e2 Merge pull request #1553 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
Added C++ wrapper for H5Ovisit2

* commit '2a4e26146dfc2f51edb7b9bb8317d3816172f86d':
  Code improvement
  Adding a C++ wrapper
  Fixing typo in documentation
2019-02-16 07:58:04 -06:00
Larry Knox
7dc26ef073 Merge pull request #1556 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '10317c7b5b5c3e39367a6538b9dbc72cf984d07f':
  Updated MANIFEST
2019-02-16 07:44:46 -06:00
Larry Knox
498001342d Merge pull request #1555 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'b705528a4e4d5b81d2c1582a378a64315d661163':
  Add release function to create HPC-CMake tar.gz file.
2019-02-16 07:42:49 -06:00
Binh-Minh Ribler
2a4e26146d Code improvement
Description:
    Removed dead code and accidentally leftover code
Platforms tested:
    Linux/64 (jelly) - very minor
2019-02-16 00:37:32 -06:00
Dana Robinson
10317c7b5b Updated MANIFEST 2019-02-15 12:55:30 -08:00
Larry Knox
b705528a4e Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into hdf5_1_10 2019-02-15 14:17:18 -06:00
Larry Knox
be7382c2e2 Add release function to create HPC-CMake tar.gz file. 2019-02-15 14:13:50 -06:00
Allen Byrne
4a04b01299 Merge pull request #1554 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '47f58dfb2315abe96dadc7107e564bf1c61d4506':
  raybsub is an executable script.
2019-02-15 11:57:08 -06:00
Larry Knox
47f58dfb23 raybsub is an executable script. 2019-02-15 11:17:41 -06:00
Binh-Minh Ribler
f2f5d29ad5 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
    - Removed a pair of [] in a delete statement for a non-array pointer.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2019-02-15 09:19:10 -06:00
Larry Knox
bb9aa4376a Merge pull request #1549 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'eadc7752609b383f8444bd3b20b31a2b3416e428':
  TRILABS-111 Add missing batch scripts
2019-02-15 06:34:33 -06:00
Binh-Minh Ribler
c3e0799071 Fixing typo in documentation 2019-02-14 19:22:09 -06:00
Allen Byrne
eadc775260 TRILABS-111 Add missing batch scripts 2019-02-14 19:11:20 -06:00
Allen Byrne
d6036ce89f Merge pull request #1543 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'f4f8be19125002764715f6cd25372477c729f809':
  Script changes from develop
  Added TRILABS-111 note
  Add HDFFV-10628 known problem
  TRILAB-111 Update MPI CMake
2019-02-14 16:38:25 -06:00
Allen Byrne
f4f8be1912 Script changes from develop 2019-02-14 15:34:20 -06:00
Larry Knox
e32b2b08c9 Merge pull request #1545 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_10 to hdf5_1_10
* commit '35f48aac5b2e10d6c3e2b3176bbde6aad209c758':
  Re-write of Java JNI error handling
2019-02-14 14:42:15 -06:00
Jordan Henderson
35f48aac5b Re-write of Java JNI error handling 2019-02-14 11:53:36 -06:00
Allen Byrne
698dec56d1 Added TRILABS-111 note 2019-02-14 10:35:53 -06:00
Allen Byrne
94993e41ed Add HDFFV-10628 known problem 2019-02-14 10:32:18 -06:00
Allen Byrne
0d1b43c79c TRILAB-111 Update MPI CMake 2019-02-13 17:05:08 -06:00
Ray Lu
0527ced1c7 Merge pull request #1541 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:1_10/HDFFV-10601-issues-with-chunk-cache-hash to hdf5_1_10
* commit 'dfedd864335fab2a676357c6647bd09aeb26575d':
  Changing functions H5Dcreate and H5Dopen to H5Dcreate2 and H5Dopen2 for backward compatibility.
2019-02-13 16:06:38 -06:00
Songyu Lu
dfedd86433 Changing functions H5Dcreate and H5Dopen to H5Dcreate2 and H5Dopen2 for backward compatibility. 2019-02-13 11:25:07 -06:00
Jordan Henderson
6721c0f131 Merge pull request #1536 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_10 to hdf5_1_10
* commit '2e44998a70924b77f186f6cb60924035fd24441d':
  Add RELEASE.txt note for collective metadata read fixes
  Fix some collective metadata read issues
2019-02-12 16:50:48 -06:00
Ray Lu
c7c3147587 Merge pull request #1535 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:1_10/HDFFV-10601-issues-with-chunk-cache-hash to hdf5_1_10
* commit '4e31361dad4add06792b652dbe5b97e501f9031d':
  I'm bringing the fixes for the following Jira issues from the develop branch to 1.10 branch: HDFFV-10571: Divided by Zero vulnerability. HDFFV-10601: Issues with chunk cache hash value calcuation. HDFFV-10607: Patches for warnings in the core libraries. HDFFV-10635: HDF5 library segmentation fault with H5Sselect_element.
2019-02-12 16:42:05 -06:00
Jordan Henderson
2e44998a70 Add RELEASE.txt note for collective metadata read fixes 2019-02-12 14:38:29 -06:00
Jordan Henderson
a4cfd0bfd7 Fix some collective metadata read issues 2019-02-12 14:38:02 -06:00
Songyu Lu
4e31361dad I'm bringing the fixes for the following Jira issues from the develop branch to 1.10 branch:
HDFFV-10571: Divided by Zero vulnerability.
HDFFV-10601: Issues with chunk cache hash value calcuation.
HDFFV-10607: Patches for warnings in the core libraries.
HDFFV-10635: HDF5 library segmentation fault with H5Sselect_element.
2019-02-12 13:48:49 -06:00
Jordan Henderson
9f9485a17a Merge pull request #1529 in HDFFV/hdf5 from ~JHENDERSON/hdf5_merge:hdf5_1_10 to hdf5_1_10
* commit '530fab929b1a77490574cb7114b4b3a1b445ed6f':
  Fix test issue in testpar/t_dset.c with MPI-2 implementations
2019-02-07 15:12:31 -06:00
Jordan Henderson
530fab929b Fix test issue in testpar/t_dset.c with MPI-2 implementations 2019-02-07 14:50:54 -06:00
Allen Byrne
e65cf4914a Merge pull request #1526 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '50138c3153a0cd923b298aca99f6a353681637db':
  Add missing assignments
  Refactor TIMEOUT values
  Correct name of variable
  Cleanup F2003 option for CMake
  Remove obsolete reference
  Remove obsolete file
  Update Examples version and references
  HDFFV-10697 Disable compression option if source unavailable
2019-02-07 13:30:31 -06:00
Allen Byrne
50138c3153 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'e594811caf10c66c12cad7c554854deea262d9cb':
  Merge pull request #1522 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
2019-02-07 12:10:02 -06:00
Allen Byrne
199327b417 Add missing assignments 2019-02-06 17:03:20 -06:00
Allen Byrne
2a9bd0c431 Refactor TIMEOUT values 2019-02-06 16:44:56 -06:00
Vailin Choi
e594811caf Merge pull request #1525 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:hdf5_1_10 to hdf5_1_10
* commit '29fc6bcd77b0e975d807ecedf16b998493f88bb0':
  Merge pull request #1522 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
2019-02-06 13:21:15 -06:00
Vailin Choi
29fc6bcd77 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.

Conflicts:
	release_docs/RELEASE.txt
2019-02-06 12:02:36 -06:00
Allen Byrne
c52df2f5a5 Correct name of variable 2019-02-06 11:01:35 -06:00
Allen Byrne
fef7d6b0fc Cleanup F2003 option for CMake 2019-02-06 10:47:11 -06:00
Allen Byrne
e9541010ee Remove obsolete reference 2019-02-06 08:47:02 -06:00
Allen Byrne
a01981ee98 Remove obsolete file 2019-02-06 08:44:05 -06:00
Allen Byrne
12a0998b04 Update Examples version and references 2019-02-06 08:43:10 -06:00
Allen Byrne
fb4e5c0570 HDFFV-10697 Disable compression option if source unavailable 2019-02-05 16:21:29 -06:00
Dana Robinson
9063babaaa Merge pull request #1521 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit 'f8c838726150d953fb06fc93029139b32a20291f':
  Added a line for the CMake pread/write option to INSTALL_CMake.txt.
2019-02-04 14:06:53 -06:00
Dana Robinson
f8c8387261 Added a line for the CMake pread/write option to INSTALL_CMake.txt. 2019-02-04 11:23:08 -08:00
Dana Robinson
5d024102ad Merge pull request #1519 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '12fc6bf95507244b2f18a56f8ff76cc0ea922fea':
  Merge of changes from develop for 1.10.5. Added RELEASE.txt entries for new features.
2019-02-04 11:09:55 -06:00
Dana Robinson
12fc6bf955 Merge of changes from develop for 1.10.5.
Added RELEASE.txt entries for new features.
2019-02-03 23:47:51 -08:00
Binh-Minh Ribler
ae94128b32 Merge pull request #1514 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
HDFFV-10586, HDFFV-10588, HDFFV-10684

* commit '7fb50a9700cddfb4aba6d69127590c8460031413':
  Renamed data file
  Fixed HDFFV-10586, HDFFV-10588, and HDFFV-10684
2019-02-01 09:51:51 -06:00
Binh-Minh Ribler
7fb50a9700 Renamed data file
Description:
    Renamed data file with long name to a shorter name.
    Revised an entry in RELEASE.txt
Platforms tested:
    Linux/64 (jelly)
    Darwin (osx1010test)
2019-02-01 08:33:53 -06:00
Binh-Minh Ribler
38c89fa5c0 Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_1_10_bmr into hdf5_1_10 2019-01-30 20:05:04 -06:00
Binh-Minh Ribler
02d03b4624 Fixed HDFFV-10586, HDFFV-10588, and HDFFV-10684
Description:
    HDFFV-10586 CVE-2018-17434 Divide by zero in h5repack_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 does not cover all cases, but it'll reduce the chance of this issue
        when a name length is corrupted or the attribute name is corrupted.
    HDFFV-10684 H5Ewalk does not stop until all errors in the stack are visited
        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 (osx1011test)
2019-01-30 20:04:30 -06:00
Neil Fortner
d99c9670e5 Merge pull request #1512 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:hdf5_1_10 to hdf5_1_10
* commit 'ec42c4e3e141ba4df343be8e519cb704676a5424':
  Add RELEASE.txt note for unknown message fix (pull request 1448)
2019-01-29 10:23:59 -06:00
Neil Fortner
ec42c4e3e1 Add RELEASE.txt note for unknown message fix (pull request 1448) 2019-01-29 10:22:18 -06:00
Dana Robinson
34473a5348 Merge pull request #1510 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit 'a09bcbcb07609ee38a1ccbcfafd4fd5a9dbe27f5':
  Fixed a bug identified by valgrind in the cork test.
2019-01-29 09:15:26 -06:00
Dana Robinson
a09bcbcb07 Fixed a bug identified by valgrind in the cork test. 2019-01-29 06:25:48 -08:00
Allen Byrne
49cf6b370f Merge pull request #1505 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'cfebcaa2a307192ae02d2afe859e8aa42ce76e1a':
  HDFFV-10686 Remove version 1 reference names
  Remove Not_yet_versioned files
  Revert CMake and fix H5Oget_info - H5Ovisit versions
2019-01-28 10:50:48 -06:00
Allen Byrne
cfebcaa2a3 HDFFV-10686 Remove version 1 reference names 2019-01-28 09:39:58 -06:00
Allen Byrne
caa7875ee4 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '611ecb5db4051cbf762cc24944ee75ea5284c5d2':
  Fixed HDFFV-10578
2019-01-28 08:30:14 -06:00
Allen Byrne
fec7c48a4b Remove Not_yet_versioned files 2019-01-28 08:22:28 -06:00
Binh-Minh Ribler
611ecb5db4 Merge pull request #1480 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
* commit '2880ef43eb03526e7d75551720547b85e66a3086':
  Fixed HDFFV-10578
2019-01-28 00:23:27 -06:00
Allen Byrne
0e2d46de76 Revert CMake and fix H5Oget_info - H5Ovisit versions 2019-01-27 17:04:33 -06:00
Allen Byrne
01baff97f6 Merge pull request #1501 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'd0abe6502af9846f77a647fddb0fda1da11a0a75':
  CMake fix, makefile fix, direct_chunk valgrind fix
2019-01-26 09:49:09 -06:00
Allen Byrne
d0abe6502a CMake fix, makefile fix, direct_chunk valgrind fix 2019-01-25 12:13:20 -06:00
Allen Byrne
9e55ff1ace Merge pull request #1493 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '217d57d30d2d62f987affcc8859df982dc86d2b3':
  CMake fix
  Java html fix and cmake update
  HDFFV-10686 add note
  HDFFV-10686 revert H5Oget_info1 to H5Oget_info(H5Ovisit)
2019-01-24 17:33:24 -06:00
Allen Byrne
217d57d30d CMake fix 2019-01-24 16:37:04 -06:00
Allen Byrne
3ba3c59a7d Java html fix and cmake update 2019-01-24 15:57:05 -06:00
Jordan Henderson
f439608c0e Merge pull request #1490 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_10 to hdf5_1_10
* commit 'e90d59a69f2750ac55ef5da20df5e8cba7693134':
  Add RELEASE.txt note for parallel filters test fix
  Updates to t_filters_parallel for missing filters
2019-01-24 15:08:55 -06:00
Jordan Henderson
e90d59a69f Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'd26963b180a052ac063907f95596a7ecad08ef8e':
  Add clear objects to ignore tests
  Add new clear tests to ignore list
  Cleanup variable names
  HDFFV-10685 Always set version flags on OSX
2019-01-24 15:08:17 -06:00
Allen Byrne
0658286687 HDFFV-10686 add note 2019-01-24 09:04:07 -06:00
Allen Byrne
5398c881d2 HDFFV-10686 revert H5Oget_info1 to H5Oget_info(H5Ovisit) 2019-01-24 08:52:20 -06:00
Allen Byrne
d26963b180 Merge pull request #1492 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '7367fc0c1b916cffe50d1b8d729ccccfd6a9ec77':
  Add clear objects to ignore tests
  Add new clear tests to ignore list
  Cleanup variable names
  HDFFV-10685 Always set version flags on OSX
2019-01-22 17:00:12 -06:00
Allen Byrne
7367fc0c1b Add clear objects to ignore tests 2019-01-22 16:30:22 -06:00
Allen Byrne
5c1d48bdcc Add new clear tests to ignore list 2019-01-22 16:19:15 -06:00
Allen Byrne
29064dcb10 Cleanup variable names 2019-01-22 15:39:31 -06:00
Jordan Henderson
8eb86b5a24 Add RELEASE.txt note for parallel filters test fix 2019-01-22 13:53:07 -06:00
Allen Byrne
5b50796529 HDFFV-10685 Always set version flags on OSX 2019-01-22 13:30:11 -06:00
Jordan Henderson
b910ec2763 Updates to t_filters_parallel for missing filters 2019-01-22 12:59:46 -06:00
Larry Knox
cdf9d5984b Merge pull request #1488 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'c817bcdf0d345c8dbd2943be44b55db290cfd09f':
  MPI vars need passed in, change to grepTest
  Add parallel runtest for examples
2019-01-20 22:37:22 -06:00
Allen Byrne
c817bcdf0d MPI vars need passed in, change to grepTest 2019-01-20 16:49:06 -06:00
Larry Knox
399edb7314 Merge pull request #1486 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '7880089c0be7eb6625cc9982775b522aee523b65':
  Merge pull request #1450 in HDFFV/hdf5 from ~SONGYULU/hdf5_ray:TRILAB-98-dt_arith-and-cpp_testhdf5-tests to develop
2019-01-19 18:37:48 -06:00
Larry Knox
7880089c0b Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '89b5b64b5c2db40e89e3304fa138de7c2ad1483f':
  Fix CMake policy 54 warnings
2019-01-19 07:15:51 -06:00
Allen Byrne
68ec03a098 Add parallel runtest for examples 2019-01-18 21:50:12 -06:00
Allen Byrne
89b5b64b5c Merge pull request #1487 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '9f61f559d1541066b07c02609579bf053099ab90':
  Fix CMake policy 54 warnings
2019-01-18 21:49:18 -06:00
Ray Lu
2bd5c6d529 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-18 16:30:25 -06:00
Allen Byrne
9f61f559d1 Fix CMake policy 54 warnings 2019-01-18 16:02:09 -06:00
Binh-Minh Ribler
2880ef43eb Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_1_10_bmr into hdf5_1_10 2019-01-15 13:15:31 -06:00
Binh-Minh Ribler
f4138013db Fixed HDFFV-10578
Description:
    - HDFFV-10578 - CVE-2018-17234  Memory leak in H5O__chunk_deserialize()
        Actually, the leak was in h5tools_util.  Applied Neil's fix.
    - Changed an assert to if/HGOTO_ERROR to fail gracefully.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2019-01-15 13:07:22 -06:00
Larry Knox
d5c0a54878 Merge pull request #1478 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '0250b3650fbcec1f592f4a7371158d6b81db01c0':
  Add check for existing links in hl/fortran/src/Makefile.am.
2019-01-15 11:49:29 -06:00
Larry Knox
0250b3650f Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into hdf5_1_10 2019-01-15 10:05:20 -06:00
Larry Knox
0bf3398a0d Add check for existing links in hl/fortran/src/Makefile.am. 2019-01-15 10:04:37 -06:00
Allen Byrne
b4fcb6df55 Merge pull request #1477 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '1b2fc19a8f46bff2d1ac8e25dbb40322d377eef3':
  Correct fix for new policy
  Fix for new policy
2019-01-14 13:54:51 -06:00
Allen Byrne
1b2fc19a8f Correct fix for new policy 2019-01-14 13:11:56 -06:00
Allen Byrne
4d676248df Fix for new policy 2019-01-14 12:14:13 -06:00
Allen Byrne
f31c6a513c Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '3476c7d13d4124f7e0752f251a667bef6b4fbf68':
  Merge pull request #1429 in HDFFV/hdf5 from HDFFV-10596-fortran-library-names-differ to develop
  Work around compiler fussiness on platypus.
  Fix for debug assert in H5FDmpio.c
2019-01-14 10:28:42 -06:00
Larry Knox
3476c7d13d Merge pull request #1475 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'e61b3a7de95c23f4f24282bad41c5154643741a5':
  Merge pull request #1429 in HDFFV/hdf5 from HDFFV-10596-fortran-library-names-differ to develop
2019-01-14 09:49:26 -06:00
Larry Knox
e61b3a7de9 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-14 08:03:42 -06:00
Larry Knox
de3ba98868 Merge pull request #1474 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '1ba63f95d3d600be43f2d3e00f204d36d6e9a1a4':
  Work around compiler fussiness on platypus.
2019-01-13 23:45:32 -06:00
Quincey Koziol
1ba63f95d3 Work around compiler fussiness on platypus. 2019-01-13 22:26:03 -06:00
Dana Robinson
bda9855f13 Merge pull request #1473 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '110eabd3e559a1e6002e96633a9ac892c21c1211':
  Fix for debug assert in H5FDmpio.c
2019-01-13 22:06:22 -06:00
Dana Robinson
110eabd3e5 Fix for debug assert in H5FDmpio.c 2019-01-13 17:54:37 -08:00
Allen Byrne
1925af114e Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'dadf2b5fd8689e15ee5d28c74a5956391e914809':
  Fix for parallel filters tests with new read-proc0-broadcast feature
  misc. merge clean-up
  misc. merge clean-up
  Fix for Fortran failures.
  merged:
2019-01-11 14:13:46 -06:00
Scot Breitenfeld
dadf2b5fd8 Merge pull request #1470 in HDFFV/hdf5 from hdf5_10_0_squash to hdf5_1_10
* commit 'c9cf24506b4fb1c50ea553d3ab962c37ac86760a':
  Fix for parallel filters tests with new read-proc0-broadcast feature
  misc. merge clean-up
  misc. merge clean-up
  merged:
2019-01-11 11:14:51 -06:00
Jordan Henderson
c9cf24506b Fix for parallel filters tests with new read-proc0-broadcast feature 2019-01-11 11:09:51 -06:00
M. Scot Breitenfeld
4bb965d9ec misc. merge clean-up 2019-01-11 10:59:48 -06:00
Dana Robinson
31a4fe779a Merge pull request #1469 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit 'b52def6b9a38e6b24848d69e5eb37da0be97a94c':
  Fix for Fortran failures.
2019-01-11 10:30:44 -06:00
M. Scot Breitenfeld
534e535823 misc. merge clean-up 2019-01-11 09:27:17 -06:00
Dana Robinson
b52def6b9a Fix for Fortran failures. 2019-01-10 22:08:54 -08:00
M. Scot Breitenfeld
6e489435e9 merged:
HDFFV-10652
HDFFV-10443
2019-01-10 17:10:05 -06:00
Allen Byrne
4027b47396 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'a043211d9edf2df3ea8049bda4be6bdcbf0970e9':
  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.
  Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since space for it was removed.
  Fortran wrappers for dataset obj header minimization API calls.
2019-01-09 13:19:08 -06:00
Allen Byrne
a043211d9e Merge pull request #1457 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '46f63b0faafe574ca2a32380ea85cac8206b1028':
  Fix deprecated H5Pget_version
  Fix java regex
  Merge CMake changes from develop
2019-01-09 13:18:52 -06:00
Allen Byrne
46f63b0faa Fix deprecated H5Pget_version 2019-01-09 13:07:03 -06:00
Dana Robinson
f12d2263d9 Merge pull request #1459 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '688074781ac7be2b7e799e8804378ba1f1563db1':
  Fortran wrappers for dataset obj header minimization API calls.
2019-01-09 13:00:00 -06:00
Neil Fortner
002ad193f3 Merge pull request #1463 in HDFFV/hdf5 from ~NFORTNE2/hdf5_naf:hdf5_1_10 to hdf5_1_10
* commit '55806ff1be0d559a204e84e595403b309239085f':
  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.
  Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since space for it was removed.
2019-01-09 12:22:52 -06:00
Neil Fortner
55806ff1be 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.

Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since
space for it was removed.
2019-01-09 12:18:20 -06:00
Allen Byrne
13f64f251c Fix java regex 2019-01-09 12:08:49 -06:00
Neil Fortner
9deed08185 Remove H5O_BOGUS_INVALID_ID from H5O_msg_class_g initialization, since
space for it was removed.
2019-01-09 11:43:10 -06:00
Dana Robinson
688074781a Fortran wrappers for dataset obj header minimization API calls. 2019-01-09 06:31:02 -08:00
Allen Byrne
b06fb9c536 Merge CMake changes from develop 2019-01-08 15:53:56 -06:00
Larry Knox
91ec0f5276 Merge pull request #1449 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize_110 to hdf5_1_10
* commit '00f835f6403728c3caf298636522e526996010a2':
  Fix fapl passed into h5_fixname() calls in minimized tests. Fix creation of duplicate, unclosed FAPL. Fix wrong statement-string after TEST_ERROR macro (refactoring mistake).
2019-01-07 19:19:09 -06:00
Vailin Choi
98b2d7d8bb Merge pull request #1442 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:hdf5_1_10 to hdf5_1_10
* commit '1a50622733c14d89b3fd8c6bab684af9205a3b96':
  Fix for daily test failure: too many arguments to function 'H5Gopen1'.
  Fix the git merge leftover in RELEASE.txt.
  Fix the git merge leftovers in RELEASE.txt.
  Fix for HDFFV-10659: The library aborts 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-07 17:13:37 -06:00
Jacob Smith
00f835f640 Fix fapl passed into h5_fixname() calls in minimized tests.
Fix creation of duplicate, unclosed FAPL.
Fix wrong statement-string after TEST_ERROR macro (refactoring mistake).
2019-01-07 17:04:50 -06:00
vchoi
1a50622733 Fix for daily test failure: too many arguments to function 'H5Gopen1'. 2019-01-07 16:20:34 -06:00
Allen Byrne
d378fad6ea Merge pull request #1447 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'f7d530dd275e176e59b26c1b7363ba16b3ab6c9c':
  HDFFV-10674, 10664, 10674
2019-01-07 15:45:25 -06:00
Dana Robinson
46af130aae Merge pull request #1446 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '257e05e1b2465a6876eec6995419b8f358e0ec84':
  Merged the rest of the parallel flush test code.
2019-01-07 15:09:29 -06:00
Dana Robinson
257e05e1b2 Merged the rest of the parallel flush test code. 2019-01-07 11:16:39 -08:00
Allen Byrne
f7d530dd27 HDFFV-10674, 10664, 10674 2019-01-07 11:07:52 -06:00
Vailin Choi
a21b778517 Fix the git merge leftover in RELEASE.txt. 2019-01-06 14:27:03 -06:00
Vailin Choi
10e504fd4f Fix the git merge leftovers in RELEASE.txt. 2019-01-06 13:35:31 -06:00
Vailin Choi
489f6fb697 Fix for HDFFV-10659: The library aborts 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-06 09:25:48 -06:00
Dana Robinson
906479d397 Merge pull request #1437 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit 'd617b56aacd403b6b99b5a661461b5d84a03e185':
  Cherry pick of CMake parallel flush fixes.
2019-01-06 00:47:07 -06:00
Dana Robinson
d617b56aac Cherry pick of CMake parallel flush fixes. 2019-01-05 11:34:30 -08:00
Binh-Minh Ribler
cc8cc7f086 Merge pull request #1431 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
* commit '82dd54c26b11245c36f65a044e9b717dc2c337e0':
  Revised text
  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     Also updated RELEASE.txt for the chunk query functions and removed     some blank lines in chunk_info.c. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
2019-01-05 00:40:18 -06:00
jake.smith
fcd34deec2 Merge pull request #1432 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize_110 to hdf5_1_10
* commit '150b73bb1af971dfff45d5f232b979622078d5bd':
  Tweak minimized datset header release info.
  Add dataset header minimization release info.
2019-01-04 19:26:31 -06:00
Binh-Minh Ribler
82dd54c26b Revised text 2019-01-04 16:05:11 -06:00
Jacob Smith
150b73bb1a Tweak minimized datset header release info. 2019-01-04 14:00:01 -06:00
Jacob Smith
bd0481ffeb Add dataset header minimization release info. 2019-01-04 12:17:44 -06:00
Binh-Minh Ribler
1379878b7a Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_1_10_bmr into hdf5_1_10 2019-01-04 11:48:15 -06:00
Binh-Minh Ribler
f891c38c6e 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
    Also updated RELEASE.txt for the chunk query functions and removed
    some blank lines in chunk_info.c.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2019-01-04 11:46:29 -06:00
jake.smith
44895c80ac Merge pull request #1419 in HDFFV/hdf5 from ~JAKE.SMITH/hdf5:dset_ohdr_minimize_110 to hdf5_1_10
Minimized dataset object headers

* commit 'e1d865a11d7864f4c0733aa22a8c96f0f015ef75':
  Remove "bad" statements from end of TEST_ERROR.     Formerly arguments to FAIL_PUTS_ERROR.
  Add semicolon at end of TEST_ERROR() invocation for consistency.
  Change FAIL_PUTS_ERROR to TEST_ERROR. Remove VOL-related merge cruft.
  Change H5Dcreate() to H5Dcreate2(). Fix return value (int -> void).
  Change H5Acreate to H5Acreate2
  Remove unnecessary s
  Incoporate minimized dataset headers code and tests.
2019-01-04 11:41:33 -06:00
Jacob Smith
e1d865a11d Remove "bad" statements from end of TEST_ERROR.
Formerly arguments to FAIL_PUTS_ERROR.
2019-01-04 11:35:50 -06:00
Jacob Smith
5b32111a26 Add semicolon at end of TEST_ERROR() invocation for consistency. 2019-01-04 09:06:38 -06:00
Jacob Smith
794f759de6 Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize_110 2019-01-04 09:05:26 -06:00
Jacob Smith
8e5bdd64d9 Change FAIL_PUTS_ERROR to TEST_ERROR.
Remove VOL-related merge cruft.
2019-01-03 23:09:27 -06:00
Jacob Smith
70d23fb54b Change H5Dcreate() to H5Dcreate2().
Fix return value (int -> void).
2019-01-03 14:39:46 -06:00
Binh-Minh Ribler
2713fb12b1 Merge pull request #1380 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
This is merged now so it can be tested.

* commit '74a3710a996fca5ed7fcb4dd8919a7a8521de1de':
  Revised per review. Description:     Changed H5EA_iterate and H5FA_iterate as suggested. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
  Addressed HDFFV-10661 Description:     - Fixed a bug triggered by tests in chunk_info.c.  The returned value       from a callback function was not checked in H5EA_iterate(), H5FA_iterate(),       and H5D__none_idx_iterate().  This oversight caused a callback function       to continue iterating even though it's supposed to stop.  Vailin confirmed.     - Addressed review comments and made various improvements on the tests. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1010test)
2019-01-02 14:28:40 -06:00
Jacob Smith
19e9cce732 Change H5Acreate to H5Acreate2 2019-01-02 13:31:12 -06:00
Allen Byrne
600d44292b Merge pull request #1424 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '277757fe9f0e68decba8035c22df260c8ee9f147':
  Remove files that do not exist in branch
2019-01-02 12:48:20 -06:00
Jacob Smith
734744df94 Remove unnecessary s 2019-01-02 12:40:30 -06:00
Allen Byrne
277757fe9f Remove files that do not exist in branch 2019-01-02 11:50:06 -06:00
Larry Knox
da26a1802f Merge pull request #1418 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'e46a974f78325b3a5d235fa51dd3ee61ec9c2f55':
  Actual stack count updated
2018-12-31 16:52:19 -06:00
Jacob Smith
3c6944b684 Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize_105 2018-12-31 15:05:57 -06:00
Jacob Smith
a8dc9793cb Incoporate minimized dataset headers code and tests. 2018-12-31 15:02:16 -06:00
Allen Byrne
e46a974f78 Actual stack count updated 2018-12-31 14:15:17 -06:00
Allen Byrne
7632af7c14 Merge pull request #1417 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'a8437787596fb8f6ff61427e76122bc4c996009c':
  HDFFV-10669 merge from develop
2018-12-31 14:08:09 -06:00
Allen Byrne
a843778759 HDFFV-10669 merge from develop 2018-12-31 13:00:39 -06:00
Dana Robinson
17d5f51bed Merge pull request #1415 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '029491e877a3c5c4f5947df3cc74785ce01be2ba':
  Merge of logging framework updates.
  Updated the H5I debug function so it's more robust and always available.
  Removed 'VOL' from some H5PL comments.
  Removed 'VOL' versions of FUNC_ENTER macros as well as empty functions orginally intended to support the full SWMR feature (from develop).
  Replaced all MPI-1 calls with MPI-2 equivalents (from develop).
2018-12-31 07:05:32 -06:00
Dana Robinson
029491e877 Merge of logging framework updates. 2018-12-30 19:11:41 -08:00
Dana Robinson
d531e1b6f7 Updated the H5I debug function so it's more robust and always
available.
2018-12-30 18:31:43 -08:00
Dana Robinson
a88e78ace7 Removed 'VOL' from some H5PL comments. 2018-12-30 17:27:23 -08:00
Dana Robinson
51edd286ac Removed 'VOL' versions of FUNC_ENTER macros as well as empty functions
orginally intended to support the full SWMR feature (from develop).
2018-12-30 16:55:10 -08:00
Dana Robinson
0ef5889862 Replaced all MPI-1 calls with MPI-2 equivalents (from develop). 2018-12-30 16:46:41 -08:00
Binh-Minh Ribler
74a3710a99 Revised per review.
Description:
    Changed H5EA_iterate and H5FA_iterate as suggested.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2018-12-26 10:01:51 -06:00
Allen Byrne
43bd13837d Merge pull request #1404 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '269224c73d19a12336dc0dd12e787c359dec5665':
  Merge CMake changes from develop
2018-12-21 14:41:53 -06:00
Allen Byrne
269224c73d Merge CMake changes from develop 2018-12-20 15:36:19 -06:00
Allen Byrne
c8912e3c47 Merge pull request #1376 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'e2349130608e013e610a750b28fb00fc92866e0c':
  Add H5I_INVALID_HID
  Manifest fix
  Tools cleanup
  HDFFV-10660,-10594 merge from develop
  HDFFV-10632 separate stderr and stdout in tests
2018-12-16 11:36:17 -06:00
Allen Byrne
e234913060 Add H5I_INVALID_HID 2018-12-15 06:26:27 -06:00
Binh-Minh Ribler
22bc8ba7bf Addressed HDFFV-10661
Description:
    - Fixed a bug triggered by tests in chunk_info.c.  The returned value
      from a callback function was not checked in H5EA_iterate(), H5FA_iterate(),
      and H5D__none_idx_iterate().  This oversight caused a callback function
      to continue iterating even though it's supposed to stop.  Vailin confirmed.
    - Addressed review comments and made various improvements on the tests.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1010test)
2018-12-14 19:06:25 -06:00
Allen Byrne
5444ea3175 Manifest fix 2018-12-14 08:15:09 -06:00
Allen Byrne
e6121500d9 Tools cleanup 2018-12-13 16:12:50 -06:00
Allen Byrne
0e5ac5fe2f HDFFV-10660,-10594 merge from develop 2018-12-13 15:50:13 -06:00
Allen Byrne
bc4e1c2e54 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '1cffc3ff0f3454fedf6edcdb93dcde5ed1b910d6':
2018-12-13 15:16:10 -06:00
Allen Byrne
3510221209 HDFFV-10632 separate stderr and stdout in tests 2018-12-13 11:22:04 -06:00
Allen Byrne
1cffc3ff0f Merge pull request #1373 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '88e514a6e51d0e3fedd855f7b2fbff74f1b5c802':
  HDFVIEW-4 add H5A read/write functions to match H5D
2018-12-13 11:21:46 -06:00
Allen Byrne
88e514a6e5 HDFVIEW-4 add H5A read/write functions to match H5D 2018-12-13 10:33:33 -06:00
Dana Robinson
c71556168c Merge pull request #1359 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '21e73fd58d64fdba5e06e73e59be30d2a4c3fd59':
  Moved fixes for incorrectly installed header files to 1.10.
2018-12-07 09:26:45 -06:00
Binh-Minh Ribler
7155b037ed Merge pull request #1361 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
* commit '1f96bda4b77efb53c4eddb5414d50e51cdc44390':
  Fixed typos. Platforms tested:     Linux/64 (jelly)
2018-12-07 09:24:09 -06:00
Binh-Minh Ribler
1f96bda4b7 Fixed typos.
Platforms tested:
    Linux/64 (jelly)
2018-12-06 23:16:54 -06:00
Dana Robinson
21e73fd58d Moved fixes for incorrectly installed header files to 1.10. 2018-12-06 15:24:28 -08:00
Jordan Henderson
5d457dd379 Merge pull request #1354 in HDFFV/hdf5 from ~JHENDERSON/hdf5:hdf5_1_10 to hdf5_1_10
* commit '8255e0f81b65cc75b4cfa12c2f77b370006abe50':
  Fix for HDFFV-10629
2018-12-05 15:56:03 -06:00
Jordan Henderson
8255e0f81b Fix for HDFFV-10629 2018-12-05 13:50:06 -06:00
Scot Breitenfeld
eea735a011 Merge pull request #1352 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:hdf5_1_10 to hdf5_1_10
* commit '63ba86519b41558d46dd9faf919d12b6c279afac':
  updated with HDFFV-10511
2018-12-05 09:03:32 -06:00
Scot Breitenfeld
63ba86519b Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~brtnfld/hdf5_msb into hdf5_1_10 2018-12-04 12:40:39 -06:00
Scot Breitenfeld
df1e4fbda0 updated with HDFFV-10511 2018-12-04 12:33:49 -06:00
Scot Breitenfeld
125d5d4e7d Merge pull request #1350 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:hdf5_1_10 to hdf5_1_10
* commit '456e22540f6e4366a0ef9d7744ee978a6ef6b3bb':
  Merge pull request #1325 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:J10511 to develop
2018-12-04 11:59:47 -06:00
Scot Breitenfeld
456e22540f 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-12-04 11:16:32 -06:00
Dana Robinson
5fc251dc59 Merge pull request #1340 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10
* commit '2b616c7c183592010bcfa151060f52f729d01867':
  Renamed h5repart's -family_to_sec2 to -family_to_single.
2018-11-24 01:46:08 -06:00
Dana Robinson
2b616c7c18 Renamed h5repart's -family_to_sec2 to -family_to_single. 2018-11-23 05:04:14 -08:00
Vailin Choi
67db60c2c2 Merge pull request #1333 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:hdf5_1_10 to hdf5_1_10
* commit 'c00b6863571f6af4b3be81185a0ca35823dad7b4':
  Merge pull request #1314 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:develop to develop
2018-11-13 15:52:08 -06:00
Vailin Choi
c00b686357 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-13 10:59:42 -06:00
Scot Breitenfeld
fe15b8a0b8 Merge pull request #1330 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:hdf5_1_10 to hdf5_1_10
* commit '7445c7d61ae06b8fefe2efbb362b51fbf57e10a7':
  HDFFV-10537: Remove installation of Fortran test mod files
2018-11-13 09:21:18 -06:00
M. Scot Breitenfeld
7445c7d61a HDFFV-10537: Remove installation of Fortran test mod files
Removed from autools install, cmake does not have this issue.
2018-11-12 13:36:57 -06:00
Allen Byrne
501de7ec91 Merge pull request #1326 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '32d4f11c9c2c92cdb70476e99a0a65adc1815f3f':
  Fix target for commands
  TRILAB copy generated files
2018-11-12 11:55:16 -06:00
Allen Byrne
32d4f11c9c Fix target for commands 2018-11-09 14:39:31 -06:00
Allen Byrne
e4c4330385 TRILAB copy generated files 2018-11-09 14:07:59 -06:00
Allen Byrne
37255e671f Merge pull request #1323 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'a9cb14740f0528060c1e6b6bc4753a33d65c265f':
  TRILAB-82 fix coverity high-impact issues
  TRILABS: Merge CMake changes from develop
  Correct dependency of ext-libs
2018-11-08 15:07:30 -06:00
Allen Byrne
a9cb14740f Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '79858bfde5ccdb27cc256252ebdc51c1a9f403b0':
  Snapshot version 1.10 release 5 (snap1)
2018-11-08 11:32:11 -06:00
Allen Byrne
3b9e13a1b8 TRILAB-82 fix coverity high-impact issues 2018-11-08 11:27:22 -06:00
hdftest
79858bfde5 Merge pull request #1322 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:hdf5_1_10 to hdf5_1_10
* commit 'cd15e7eaa2d69979e668825d483c947082a54378':
  Snapshot version 1.10 release 5 (snap1)
2018-11-08 09:42:45 -06:00
Allen Byrne
0a7424c7d0 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'ec72efcd4ddb17145323bf93c5cc28fc59695c55':
  Improved comments
  Removed an old comment line.
  Moved tests to another file
2018-11-08 09:23:01 -06:00
hdftest
cd15e7eaa2 Snapshot version 1.10 release 5 (snap1) 2018-11-08 07:38:06 -06:00
Larry Knox
ec72efcd4d Merge pull request #1321 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
* commit '54261d6c92a031804d4756f6fadcc49872b0753b':
  Improved comments
  Removed an old comment line.
  Moved tests to another file
2018-11-07 20:53:12 -06:00
Binh-Minh Ribler
54261d6c92 Improved comments 2018-11-07 20:48:59 -06:00
Binh-Minh Ribler
c269ecea41 Removed an old comment line. 2018-11-07 20:40:46 -06:00
Binh-Minh Ribler
c8bf336084 Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_1_10_bmr into hdf5_1_10 2018-11-07 16:17:48 -06:00
Binh-Minh Ribler
e79ea792df Moved tests to another file
Description:
    Moved the test function test_get_chunk_info from dsets.c to chunk_info.c
    because chunk_info.c was created for the purpose of testing chunk information.
Platforms tested:
    Linux/64 (jelly)
2018-11-07 16:15:20 -06:00
Allen Byrne
d33038cf0c TRILABS: Merge CMake changes from develop 2018-11-07 09:36:41 -06:00
Allen Byrne
25e3b32d12 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '91771bdf4d6c2ddcdbc127ee2f9d29525d490757':
  Updated new API functions Description:     - Addressed additional review comments     - Moved the test function test_get_chunk_info from dsets.c to chunk_info.c       because chunk_info.c was created for the purpose of testing chunk information. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
  Updated new API functions Description:     - Per Vailin's review, revised H5Dget_chunk_info_by_coord to handle       non-existing chunk and H5Dget_num_chunks and H5Dget_chunk_info to       handle dataset with no data.     - Addressed other review comments     - Note that additional tests will be added as we need to send users       these functions asap for feedback. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
  New API functions Description:     Added functions to query chunk information:
2018-11-07 09:04:02 -06:00
Binh-Minh Ribler
91771bdf4d Merge pull request #1306 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
Merged now to create tar ball today for user asap.

* commit 'a1a79203b8027631061cb626a5efdd37268752c2':
  Updated new API functions Description:     - Addressed additional review comments     - Moved the test function test_get_chunk_info from dsets.c to chunk_info.c       because chunk_info.c was created for the purpose of testing chunk information. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
  Updated new API functions Description:     - Per Vailin's review, revised H5Dget_chunk_info_by_coord to handle       non-existing chunk and H5Dget_num_chunks and H5Dget_chunk_info to       handle dataset with no data.     - Addressed other review comments     - Note that additional tests will be added as we need to send users       these functions asap for feedback. Platforms tested:     Linux/64 (jelly)     Linux/64 (platypus)     Darwin (osx1011test)
  New API functions Description:     Added functions to query chunk information:
2018-11-07 06:57:25 -06:00
Binh-Minh Ribler
a1a79203b8 Updated new API functions
Description:
    - Addressed additional review comments
    - Moved the test function test_get_chunk_info from dsets.c to chunk_info.c
      because chunk_info.c was created for the purpose of testing chunk information.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2018-11-06 13:55:05 -06:00
Allen Byrne
3044a61ac5 Correct dependency of ext-libs 2018-11-06 13:29:09 -06:00
Binh-Minh Ribler
471917c638 Updated new API functions
Description:
    - Per Vailin's review, revised H5Dget_chunk_info_by_coord to handle
      non-existing chunk and H5Dget_num_chunks and H5Dget_chunk_info to
      handle dataset with no data.
    - Addressed other review comments
    - Note that additional tests will be added as we need to send users
      these functions asap for feedback.
Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2018-11-04 19:54:41 -06:00
Allen Byrne
c32dba2f99 Merge pull request #1307 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '81b2943b6fc01b52de2048d9503d524b2780112b':
  Fix typo in whitespace area
  Merge CMake changes from develop Improved cross-compiling and toolchains
2018-10-29 16:23:07 -05:00
Allen Byrne
81b2943b6f Fix typo in whitespace area 2018-10-29 15:54:09 -05:00
Allen Byrne
299a605661 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'b81adf00bcf45f4bce1c6f1ef8ee6c703e40b945':
  Trial commit Description:     Just committing some typo fix to see whether my changes can be merged     successfully to this branch Platforms tested:     Linux/64 (jelly)
2018-10-29 11:10:18 -05:00
Binh-Minh Ribler
ee6862d719 Merge branch 'hdf5_1_10' of https://bitbucket.hdfgroup.org/scm/~bmribler/hdf5_1_10_bmr into hdf5_1_10 2018-10-29 09:53:29 -05:00
Binh-Minh Ribler
0b321904a3 New API functions
Description:
    Added functions to query chunk information:

        H5Dget_num_chunks(dset_id, fspace_id, *nchunks)
            Gets the number of written chunks that intersect with the given
            dataspace.  However, in this version, the intersection is not
            yet completed.  Thus, the number of all written chunks will be
            returned.

        H5Dget_chunk_info_by_coord(dset_id, *coord, *filter_mask, *addr, *size)
            Given a chunk's coordinates, returns the chunk's filter, address,
            and size.

        H5Dget_chunk_info(dset_id, fspace_id, index, *coord, *filter_mask, *addr, *size)
            Given a chunk's index, returns the chunk's coordinates, filter,
            address, and size.  The chunk belongs to a set of chunks that have
            nonempty intersection with the specified dataspace.  However, in
            this version, the intersection is not yet completed, and the index
            is of all the written chunks.

Platforms tested:
    Linux/64 (jelly)
    Linux/64 (platypus)
    Darwin (osx1011test)
2018-10-29 09:52:50 -05:00
Binh-Minh Ribler
b81adf00bc Merge pull request #1304 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_bmr:hdf5_1_10 to hdf5_1_10
* commit '202d7403282230e2071412237ac7ba86ccb7f3db':
  Trial commit Description:     Just committing some typo fix to see whether my changes can be merged     successfully to this branch Platforms tested:     Linux/64 (jelly)
2018-10-27 22:54:49 -05:00
Binh-Minh Ribler
202d740328 Trial commit
Description:
    Just committing some typo fix to see whether my changes can be merged
    successfully to this branch
Platforms tested:
    Linux/64 (jelly)
2018-10-26 16:24:18 -05:00
Allen Byrne
b6e61e8310 Merge CMake changes from develop
Improved cross-compiling and toolchains
2018-10-23 11:00:36 -05:00
Allen Byrne
ea2a969ce2 Merge pull request #1279 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10
* commit 'a9e9cc29184b3b19d1161246264d722d731b5ec2':
  Fix typos and examples versions
  HDFFV-10575, 10332, 10531, 10594 and TRILAB-21
2018-10-04 17:01:22 -05:00
Allen Byrne
a9e9cc2918 Fix typos and examples versions 2018-10-04 17:00:00 -05:00
Allen Byrne
bc35bf6b3e HDFFV-10575, 10332, 10531, 10594 and TRILAB-21 2018-10-04 16:49:49 -05:00
Allen Byrne
9c29c87128 Merge pull request #1259 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '8f103a935be942a4240da9e57a0f67504588948a':
  HDFFV-10594, 10332, 10531
2018-09-27 08:32:45 -05:00
Allen Byrne
8f103a935b HDFFV-10594, 10332, 10531 2018-09-26 16:04:34 -05:00
Allen Byrne
873249b58b Merge pull request #1249 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'f5aafbc87a59313f07eb7611b259cb0d1f68c867':
  Fix URL
2018-09-20 10:01:21 -05:00
Allen Byrne
f5aafbc87a Fix URL 2018-09-18 12:54:51 -05:00
Larry Knox
e5b9c70304 Merge pull request #1239 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '3110fd53c0b072e6be250235061a6349921765e9':
  Add contents of HDF5 1.10.3 RELEASE.txt to HISTORY-1_10.txt and update RELEASE.txt for continuing development.
2018-09-10 09:42:24 -05:00
Allen Byrne
b708f4148a Merge pull request #1238 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10
* commit '822f5f12d5548e8dcdda25e92c80e06755f6ad52':
  Add notes about unsupported options
2018-09-10 09:41:59 -05:00
Larry Knox
3110fd53c0 Add contents of HDF5 1.10.3 RELEASE.txt to HISTORY-1_10.txt and update
RELEASE.txt for continuing development.
2018-09-10 09:31:38 -05:00
Allen Byrne
822f5f12d5 Add notes about unsupported options 2018-09-10 09:29:24 -05:00
Larry Knox
930818ca67 Merge pull request #1234 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '20712bef862cec627e046b712ebe5777b804c97c':
  Update version
2018-09-06 06:23:23 -05:00
Larry Knox
20712bef86 Update version 2018-09-05 15:11:44 -05:00
Allen Byrne
a033634b6a Merge pull request #1231 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'e1f4d0c5d2bae6eaf5b347cea17c58522d62ca92':
  HDFFV-10568 fix hdf5_java library dependency
  Fix Java library location for testing
  Java groups example fix
2018-09-01 10:01:56 -05:00
Allen Byrne
e1f4d0c5d2 HDFFV-10568 fix hdf5_java library dependency 2018-08-31 20:59:57 -05:00
Allen Byrne
d0a62ef975 Fix Java library location for testing 2018-08-31 14:58:58 -05:00
Allen Byrne
86e489b6ab Java groups example fix 2018-08-31 08:00:06 -05:00
Allen Byrne
930d67649d Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '2ee65646c3afb31194864d36a20817c44b42e677':
  Merge pull request #1224 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
2018-08-28 16:17:28 -05:00
Allen Byrne
2ee65646c3 Merge pull request #1227 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'd8ec4df92880d98907b12af8fc9fff86e0631270':
  Update system commands with HD prefix and whitespace
2018-08-28 16:16:56 -05:00
Larry Knox
99e0c1043e Merge pull request #1225 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'f4f2e83d2233699aaf32f2e7f715504b43542d42':
  Merge pull request #1224 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
2018-08-28 13:57:38 -05:00
Allen Byrne
d8ec4df928 Update system commands with HD prefix and whitespace 2018-08-28 13:32:01 -05:00
Larry Knox
f4f2e83d22 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-28 08:25:38 -05:00
Larry Knox
ebc3d3eda5 Merge pull request #1223 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '9e466086f49e6e36b2dc71c0e6e94c01368d7d00':
  Disable failing tests because of execution issue
  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 osx installer extension
  revert build install change for DT
  Merge CMake and Java OSX changes from develop
2018-08-24 13:04:51 -05:00
Allen Byrne
9e466086f4 Disable failing tests because of execution issue 2018-08-24 10:27:15 -05:00
Allen Byrne
87fc66f41b Add testfiles to data copy 2018-08-23 17:27:34 -05:00
Allen Byrne
6e66005441 Same changes needed for examples as test 2018-08-23 16:33:20 -05:00
Allen Byrne
282272a727 Correct name of test jar 2018-08-23 14:53:44 -05:00
Larry Knox
a00d6795ce Merge pull request #1221 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '4393a79e966a946cd7682e4177cbfeacf68e4a92':
  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 14:33:02 -05:00
Allen Byrne
4363609ef0 Only remove test jars 2018-08-23 14:22:22 -05:00
Allen Byrne
f96190845c Remove obsolete var 2018-08-23 13:21:09 -05:00
Larry Knox
4393a79e96 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:50:23 -05:00
Allen Byrne
36d3515ad8 Correct osx installer extension 2018-08-23 09:43:58 -05:00
Allen Byrne
5e6baf8972 revert build install change for DT 2018-08-23 09:23:54 -05:00
Allen Byrne
731ebbb93f Merge CMake and Java OSX changes from develop 2018-08-23 08:46:34 -05:00
Allen Byrne
ed16ca44b5 Merge pull request #1216 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10
* commit '3537a81e35b64903bcafd92a411cd1ca02ce4f2b':
  HDFFV-10536 Convert iterator callbacks from global to stack var
2018-08-21 10:03:03 -05:00
Allen Byrne
3537a81e35 HDFFV-10536 Convert iterator callbacks from global to stack var 2018-08-21 08:23:12 -05:00
Allen Byrne
c9b8f6b44b Merge pull request #1215 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10
* commit '0b87689625f9d9e29692d119d4eb323ece726abb':
  Adjust warning flags to match autotools, add configure status
2018-08-21 08:16:37 -05:00
Allen Byrne
0b87689625 Adjust warning flags to match autotools, add configure status 2018-08-21 08:07:27 -05:00
Allen Byrne
e7ac7c896d Merge pull request #1212 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10
* commit '995d1740476629a80d75033836dac76b91086f26':
  HDFFV-10547 add option to package examples
2018-08-21 07:32:07 -05:00
Allen Byrne
995d174047 HDFFV-10547 add option to package examples 2018-08-20 18:25:11 -05:00
Larry Knox
844e1442e0 Merge pull request #1208 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'bad45f2eefbaa69e28ec0954f84221d5dffe70cb':
  Update contents of COPYING file.
2018-08-17 16:48:26 -05:00
Larry Knox
bad45f2eef Update contents of COPYING file. 2018-08-17 16:39:10 -05:00
Allen Byrne
836c3bcae2 Merge pull request #1207 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'aab40090f0227bec4150f322aee40c1aa4dbd21e':
  HDFFV-10552 Add missing HDF5_USE_110_API_DEFAULT option
2018-08-17 15:09:18 -05:00
Allen Byrne
aab40090f0 HDFFV-10552 Add missing HDF5_USE_110_API_DEFAULT option 2018-08-17 15:01:23 -05:00
Allen Byrne
589845a3ce Merge pull request #1203 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '811abba1c7fa6301072e4ef7d7e77d289e77563f':
  Add extra option for CDash
2018-08-17 12:08:29 -05:00
Allen Byrne
811abba1c7 Add extra option for CDash 2018-08-17 11:36:42 -05:00
Larry Knox
820c51d648 Merge pull request #1202 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '1029540525688e9dd7f487fd0c8e5cd0f8e6c098':
  Update Inel Fortran version for Windows 10.
  Merge pull request #1189 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:hdf5_1_10_3 to hdf5_1_10_3
  Merge pull request #1190 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_3-bmr:hdf5_1_10_3 to hdf5_1_10_3
  Merge pull request #1195 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10_3 to hdf5_1_10_3
2018-08-17 08:00:36 -05:00
Larry Knox
1029540525 Update Inel Fortran version for Windows 10. 2018-08-16 22:21:15 -05:00
Scot Breitenfeld
de067e27d4 Merge pull request #1189 in HDFFV/hdf5 from ~BRTNFLD/hdf5_msb:hdf5_1_10_3 to hdf5_1_10_3
* commit '6fde89013a10ebb31aa9e3c2f88a3a9a0d1517c7':
  updated fortran fixes
2018-08-16 22:16:08 -05:00
Larry Knox
3f0655a0a4 Merge pull request #1190 in HDFFV/hdf5 from ~BMRIBLER/hdf5_1_10_3-bmr:hdf5_1_10_3 to hdf5_1_10_3
* commit 'fae6c2fea419eb018414a9eed78a23e133a3660b':
  Revised entry on CVE issues
  Added notes about CVE issues
2018-08-16 22:11:21 -05:00
Dana Robinson
7a7ab1939d Merge pull request #1195 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10_3 to hdf5_1_10_3
* commit '476072a8b469206e2a2de6eb5ad9fcae36c7bdd6':
  Updated the H5Dread/write_chunk() release note.
  Added a release note for the H5Dread/write_chunk() API calls.
2018-08-16 22:08:18 -05:00
Larry Knox
58a42e0039 Merge pull request #1201 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'b14dc67e198ea73fd19312ad048a89eba90a9d6e':
  Correct nested c-style comments.
2018-08-16 18:09:31 -05:00
Larry Knox
b14dc67e19 Correct nested c-style comments. 2018-08-16 18:06:56 -05:00
Larry Knox
a60f7d1dc6 Merge pull request #1197 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10
* commit '09b74727d32a931744b125cb105c61734a0270b8':
  Corrected comment
  Fix JIRA number format
  HDFFV-10552 fix makevers script and undeprecate 1.10 functions
2018-08-16 16:47:56 -05:00
Allen Byrne
09b74727d3 Corrected comment 2018-08-16 16:44:46 -05:00
Vailin Choi
64f5cd75aa Merge pull request #1194 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:hdf5_1_10 to hdf5_1_10
* commit '5c3b993e8242fd711baec8a5ddaac793a7bc2a39':
  Revise release notes for H5Oget_info (HDFFV-10180).
  Modify release notes for H5Oget_info (HDFFV-10180).
  Add release notes for HDFFV-10180.
2018-08-16 16:32:18 -05:00
Vailin Choi
5c3b993e82 Revise release notes for H5Oget_info (HDFFV-10180). 2018-08-16 16:27:03 -05:00
Allen Byrne
557406cee8 Fix JIRA number format 2018-08-16 15:38:39 -05:00
Allen Byrne
32719fffd9 HDFFV-10552 fix makevers script and undeprecate 1.10 functions 2018-08-16 15:23:03 -05:00
Vailin Choi
f2d0a34045 Modify release notes for H5Oget_info (HDFFV-10180). 2018-08-16 11:58:04 -05:00
Vailin Choi
b9511a1fc3 Add release notes for HDFFV-10180. 2018-08-15 21:14:58 -05:00
Vailin Choi
423b4ecd65 Merge pull request #1191 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:hdf5_1_10 to hdf5_1_10
* commit '08c1bf7b3bf119c91d532e4bc4640d73bf35626e':
  Add release notes for HDFFV-10469.
2018-08-14 15:40:15 -05:00
Vailin Choi
08c1bf7b3b Add release notes for HDFFV-10469. 2018-08-14 14:50:49 -05:00
Larry Knox
2a3442872a Merge pull request #1187 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit 'da698a07207536a06ff1da8f99dc4e7622215e0d':
  Rearrange issues by date order Update version. Update .so versions to match 1.10.3.
2018-08-09 14:02:26 -05:00
Jordan Henderson
da698a0720 Rearrange issues by date order
Update version.
Update .so versions to match 1.10.3.
2018-08-09 13:48:52 -05:00
Larry Knox
f378513a67 Merge pull request #1182 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '0bc17f0e63ee0298bdc6104416864d1251433438':
  HDFFV-10544 writeVL subfunction is unimplemented
2018-08-08 15:56:57 -05:00
Allen Byrne
0bc17f0e63 HDFFV-10544 writeVL subfunction is unimplemented 2018-08-08 10:45:52 -05:00
Larry Knox
f827e1d045 Merge pull request #1180 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '89c1ce3c1f6d58813e83bf1288410f3190722be7':
  Merge pull request #1178 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
2018-08-07 21:15:19 -05:00
Larry Knox
89c1ce3c1f 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:33:33 -05:00
Jordan Henderson
51b90ecad3 Merge pull request #1172 in HDFFV/hdf5 from ~JHENDERSON/hdf5:feature/1_10_MPI2_only_fixes to hdf5_1_10
* commit 'afa166154f1d4175a9d8cbc2f6bc1584dca859f8': (81 commits)
  Typo fix
  Set CMAKE_REQUIRED_INCLUDES instead of using path in call
  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
  Revert "Merge pull request #1149 in HDFFV/hdf5 from hdf5_1_10.sync to hdf5_1_10"
  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.
  misc. fixed version paths
  misc. versioning fixes
  Fixed versioning
  Add missing '\' in the middle of the public headers list in Makefile.am.
  Fixed typos
  Entered entries for HDFFV-10150, HDFFV-10458, HDFFV-1047
  Updated for C2Cppfunction_map.htm
  Added class DSetAccPropList Description:     - Added class DSetAccPropList for the dataset access property list.     - Added wrapper for H5Dget_access_plist to class DataSet         // Gets the access property list of this dataset.         DSetAccPropList getAccessPlist() const;
  Code improvement Description:     Moved the new H5Object::getInfo member functions to H5Location and     made them overloaded with the existing H5Location::getObjinfo.  This     way is cleaner than the previous approach. Platforms tested:     Linux/64 (jelly)     Linux/32 (jam)     Darwin (osx1010test)
  ...
2018-08-07 11:33:07 -05:00
Allen Byrne
f7c115f42a Merge pull request #1177 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '78c4623235ea54ec2adc9d079e9f5c9e87f870ba':
  HDFFV-10544 Improve JNI exception handling
2018-08-07 08:51:52 -05:00
Allen Byrne
78c4623235 HDFFV-10544 Improve JNI exception handling 2018-08-06 13:15:50 -05:00
Allen Byrne
51a5d112ad Merge pull request #1174 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'd7d562339911b1f71c43cb293f90d7d67d33e949':
  Change exception text
  Move unimplemented exception throw to just one function
2018-08-03 12:50:40 -05:00
Allen Byrne
d7d5623399 Change exception text 2018-08-03 11:54:58 -05:00
Allen Byrne
d47ffdb828 Move unimplemented exception throw to just one function 2018-08-03 09:01:29 -05:00
Allen Byrne
afa166154f Typo fix 2018-08-02 11:59:21 -05:00
Allen Byrne
cc2ded2a16 Set CMAKE_REQUIRED_INCLUDES instead of using path in call 2018-08-02 11:59:12 -05:00
Jordan Henderson
bccf6e38a4 Add Autotools and CMake checks for big I/O MPI-3 functions 2018-08-02 09:47:35 -05:00
Jordan Henderson
7a4025f259 Add hdf5settings section for parallel compression status in CMake builds 2018-08-02 09:47:26 -05:00
Jordan Henderson
d4298589fe Switch to CheckSymbolExists in CMake 2018-08-02 09:46:45 -05:00
Jordan Henderson
0623b06b15 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-08-02 09:46:34 -05:00
Jordan Henderson
07c33d0eb8 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '3e7979902ade13ba8f37e020e5ae95f03a82b0f9':
  Merge pull request #1158 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp4:develop to develop
  Merge from develop
2018-08-01 11:29:59 -05:00
Larry Knox
3e7979902a Merge pull request #1169 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '668fd6327911eb8b8efd68219a0cadf13c5d75f8':
  Merge pull request #1158 in HDFFV/hdf5 from ~BMRIBLER/hdf5_bmr_cpp4:develop to develop
2018-07-31 12:04:54 -05:00
Larry Knox
668fd63279 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit 'b077040516e4091e98777818292fe8fbc38e9f12':
  Merge from develop
2018-07-31 11:35:59 -05:00
Allen Byrne
b077040516 Merge pull request #1168 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
HDFFV-9755, HDFFV-10508 documentation
Fortran configuration fixes
MPI generator expressions

* commit '4f5bdadd50783be3d20949048ede3ec3543ba5a4':
  Merge from develop
2018-07-31 11:14:31 -05:00
Binh-Minh Ribler
929675899f 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-31 11:04:48 -05:00
Allen Byrne
4f5bdadd50 Merge from develop 2018-07-31 10:07:00 -05:00
Jordan Henderson
9002612504 Merging in latest from upstream (HDFFV/hdf5:refs/heads/hdf5_1_10)
* commit '23b96a8dc8ccb7d60150a30133183df3a7ac270d': (53 commits)
  HDFFV-10534 add note
  HDFFV-10534 change to runtime exception
  Revise H5D__mpio_array_gatherv() to not allocate memory needlessly
  Add test to continually grow and shrink chunks
  Changes to test with checksum filter as well as deflate filter
  Eliminate warning about signed to unsigned conversion
  Remove unused local variable
  Fix bug in parallel reads of compressed data
  Add data verification to parallel filtered compound write tests
  Add seven of fourteen parallel filtered data partial read tests
  Add missing file and remove deleted
  Correct git synch error
  Add swmr tests, fix java script
  Update macros and cygwin flags
  Revert Sencode h5dump test
  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-31 09:57:02 -05:00
Allen Byrne
23b96a8dc8 Merge pull request #1162 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'e2423982a1e85e8f51ad71808d21fb9185595a27':
  HDFFV-10534 add note
  HDFFV-10534 change to runtime exception
2018-07-30 12:29:51 -05:00
Allen Byrne
e2423982a1 HDFFV-10534 add note 2018-07-30 12:13:03 -05:00
Allen Byrne
4b8047e4c3 HDFFV-10534 change to runtime exception 2018-07-30 10:52:38 -05:00
Scot Breitenfeld
dbeab5ca03 Merge pull request #1156 in HDFFV/hdf5 from hdf5_1_10.sync to hdf5_1_10
* commit 'ed1bfe373316567b57ddf2199853db815fff6b4b': (51 commits)
  Revise H5D__mpio_array_gatherv() to not allocate memory needlessly
  Add test to continually grow and shrink chunks
  Changes to test with checksum filter as well as deflate filter
  Eliminate warning about signed to unsigned conversion
  Remove unused local variable
  Fix bug in parallel reads of compressed data
  Add data verification to parallel filtered compound write tests
  Add seven of fourteen parallel filtered data partial read tests
  Add missing file and remove deleted
  Correct git synch error
  Add swmr tests, fix java script
  Update macros and cygwin flags
  Revert Sencode h5dump test
  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.
  Add missing '\' in the middle of the public headers list in Makefile.am.
  Fixed typos
  ...
2018-07-27 17:51:04 -05:00
Jordan Henderson
ed1bfe3733 Revise H5D__mpio_array_gatherv() to not allocate memory needlessly 2018-07-27 17:34:36 -05:00
Jordan Henderson
57db75b9de Add test to continually grow and shrink chunks 2018-07-27 17:30:52 -05:00
Jordan Henderson
4694634240 Changes to test with checksum filter as well as deflate filter 2018-07-27 17:30:28 -05:00
Jordan Henderson
c9e737aca2 Eliminate warning about signed to unsigned conversion 2018-07-27 17:30:19 -05:00
Jordan Henderson
5c51cd4212 Remove unused local variable
Ensure frees are done in a more heap-fragmentation friendly order
2018-07-27 17:29:58 -05:00
Jordan Henderson
44507db95d Fix bug in parallel reads of compressed data
Add remaining parallel compound dataset partial read tests
2018-07-27 17:29:45 -05:00
Jordan Henderson
476a6ecc5c Add data verification to parallel filtered compound write tests
Add 3D parallel filtered partial read tests
2018-07-27 17:29:34 -05:00
Jordan Henderson
edf4ff66b2 Add seven of fourteen parallel filtered data partial read tests 2018-07-27 17:29:19 -05:00
Allen Byrne
e205cb8266 Merge pull request #1155 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10.sync to hdf5_1_10.sync
* commit '5fce1be6466177903bf4e192e141b416f9c9a73d':
  Add missing file and remove deleted
2018-07-27 12:27:59 -05:00
Allen Byrne
5fce1be646 Add missing file and remove deleted 2018-07-27 12:07:40 -05:00
Allen Byrne
f9bfd5d9ad Merge pull request #1154 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10.sync to hdf5_1_10.sync
* commit '2c6dadbd132b02ecbe688f48ced3b0703ed1965d':
  Correct git synch error
  Add swmr tests, fix java script
  Update macros and cygwin flags
  Revert Sencode h5dump test
2018-07-27 10:56:17 -05:00
Allen Byrne
2c6dadbd13 Correct git synch error 2018-07-27 10:17:54 -05:00
Allen Byrne
732e996de7 Add swmr tests, fix java script 2018-07-27 10:06:33 -05:00
Allen Byrne
bb436dbc61 Update macros and cygwin flags 2018-07-27 09:58:11 -05:00
Allen Byrne
2c5c115a61 Revert Sencode h5dump test 2018-07-27 09:51:39 -05:00
Jordan Henderson
2b193845d2 RELEASE.txt updates for HDFFV-10467 and HDFFV-10509 2018-07-27 09:06:45 -05:00
Larry Knox
01016b1fec Update HDF5 examples to correct version. 2018-07-26 17:29:00 -05:00
Larry Knox
d3fedf9510 Correct a few typos. 2018-07-26 17:28:53 -05:00
Larry Knox
7de3caf110 Correct typo in comment in config/gnu-flags. 2018-07-26 17:28:46 -05:00
Larry Knox
bf76b30fb8 Update bine/release to create batch scripts and build-unix-sh, and to
put files in a subdirectory.
2018-07-26 17:28:31 -05:00
Larry Knox
ebdd92af19 Add missing '\' in the middle of the public headers list in Makefile.am. 2018-07-26 17:24:00 -05:00
Binh-Minh Ribler
677bcbdfc8 Fixed typos 2018-07-26 17:23:46 -05:00
Binh-Minh Ribler
0ebac51cd5 Entered entries for HDFFV-10150, HDFFV-10458, HDFFV-1047 2018-07-26 17:23:39 -05:00
Binh-Minh Ribler
cb1daac228 Updated for C2Cppfunction_map.htm 2018-07-26 17:23:32 -05:00
Binh-Minh Ribler
386b5f7bf8 Added class DSetAccPropList
Description:
    - Added class DSetAccPropList for the dataset access property list.
    - Added wrapper for H5Dget_access_plist to class DataSet
        // Gets the access property list of this dataset.
        DSetAccPropList getAccessPlist() const;

    - Added wrappers for H5Pset_chunk_cache and H5Pget_chunk_cache to class
      DSetAccPropList
        // Sets the raw data chunk cache parameters.
        void setChunkCache(size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0)

        // Retrieves the raw data chunk cache parameters.
        void getChunkCache(size_t &rdcc_nslots, size_t &rdcc_nbytes, double &rdcc_w0)

    - Added two more arguments to H5Location::createDataSet:
        const DSetAccPropList& dapl = DSetAccPropList::DEFAULT
        const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT

    - Added one more argument to H5Location::openDataSet:
        const DSetAccPropList& dapl = DSetAccPropList::DEFAULT

Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:23:22 -05:00
Binh-Minh Ribler
df934cd665 Code improvement
Description:
    Moved the new H5Object::getInfo member functions to H5Location and
    made them overloaded with the existing H5Location::getObjinfo.  This
    way is cleaner than the previous approach.
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:23:10 -05:00
Vailin Choi
56d1d200b8 Fix for HDFFV-9277: update the ainfo message after removing an attribute. 2018-07-26 17:23:01 -05:00
Larry Knox
c992df8d8f Add cmakehdf5 command line option to turn on shell script testing.
Option is on by default but can be disabled with --disable-shell-testing.
2018-07-26 17:22:52 -05:00
Larry Knox
35542e9de8 Apply Cygwin pathches from Marco Atzeri.
Commit Joe Lee's typo corrections for src/H5MF.c.
2018-07-26 17:22:09 -05:00
Binh-Minh Ribler
69c3bdc9e8 Fixed EED-319
Description:
    - Fixed doc issue
      Added an html version for the C++ function mapping table and removed
      the single web page version.
      Updated cpp_doc_config to use the html file.
    - Added a couple more minor tests
2018-07-26 17:20:42 -05:00
Binh-Minh Ribler
f9d2edc7ed Fixed HDFFV-10472
Description:
    Added operator!= to DataType
        bool operator!=(const DataType& compared_type)
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:20:28 -05:00
Binh-Minh Ribler
622806b89d Fixed HDFFV-10458 partially
Description:
    Added wrappers for H5Oget_info_by_idx2.

    // Returns information about an HDF5 object, given its index.
    void getInfo(const char* grp_name, H5_index_t idx_type,
                 H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
    void getInfo(const H5std_string& grp_name, H5_index_t idx_type,
                 H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:20:20 -05:00
Binh-Minh Ribler
edeac9f067 Fixed comments 2018-07-26 17:20:12 -05:00
Binh-Minh Ribler
f706bd0da1 Fixed HDFFV-10458 partially
Description:
    Added wrappers for H5Oget_info2 and H5Oget_info_by_name2.

    // Returns information about an HDF5 object.
    void getInfo(H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC)

    // Returns information about an HDF5 object, given its name.
    void getInfo(const char* name, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
    void getInfo(const H5std_string& name, H5O_info_t& objinfo,
                 unsigned fields = H5O_INFO_BASIC,
                 const LinkAccPropList& lapl = LinkAccPropList::DEFAULT)
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:20:04 -05:00
Binh-Minh Ribler
710771e713 Removed white space 2018-07-26 17:19:52 -05:00
Binh-Minh Ribler
992a199f90 Fixed HDFFV-10476, HDFFV-10478, HDFFV-10480
Description:
    Fixed potential out of bound read and NULL pointer dereferences.
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:19:43 -05:00
Binh-Minh Ribler
08e71a98e9 Combined macro lines as Dana commented
Platforms tested:
    Linux/64 (jelly) (very minor)
2018-07-26 17:19:34 -05:00
Jerome Soumagne
81f4245a7c Fix evaluation of __has_attribute(no_sanitize_address) on older GCC versions 2018-07-26 17:19:24 -05:00
Binh-Minh Ribler
d0362ce438 Fixed division-by-zero issues
Description:
    Fixed HDFFV-10481 and HDFFV-10477, division by 0.
    Fixed another occurrence beside what were reported.
    Also, changed a local variable to avoid an unnecessary cast.
Platforms tested:
    Linux/64 (jelly)
    Linux/32 (jam)
    Darwin (osx1010test)
2018-07-26 17:19:11 -05:00
Binh-Minh Ribler
e57234b027 Fixed HDFFV-10404
Description:
    Applied the typo fixes from user's report.
    The previous pull request couldn't be merged because it was too old,
    and it was too complicated for me to resolve conflicts.
Platform tested:
    Linux/64 (jelly) - very minor
2018-07-26 17:19:03 -05:00
Jordan Henderson
3e510f48a2 Add note about single chunk caching and serial library 2018-07-26 17:18:56 -05:00
Jordan Henderson
c058e5eb7e Add check for actually using the MPI file driver when caching one chunk
Better explain rationale behind chunk caching issue fix
2018-07-26 17:18:46 -05:00
Jordan Henderson
21a5db8d98 Fix error message mentioning wrong MPI function used 2018-07-26 17:18:39 -05:00
Hyo-Kyung Lee
883f0a4eb8 HDFFV-10527:corrected two more typos. 2018-07-26 17:18:30 -05:00
Hyo-Kyung Lee
9e3ee40a3b HDFFV-10527:corrected typos in comment blocks. 2018-07-26 17:18:23 -05:00
Vailin Choi
c3f4af256a Changes based on feedback from pull request. 2018-07-26 17:18:13 -05:00
Larry Knox
076b77891a Vailin's fix for H5open fail when file doesn't have write permissions
for user in test_misc33().  The test file can be
opened read-only because the test doesn't write to it.
2018-07-26 17:17:36 -05:00
Vailin Choi
114a63a258 Fix test_misc33() in test/tmisc.c
Open the test file read-only so that it can be accessed for testing.
2018-07-26 17:17:12 -05:00
Vailin Choi
d79475c482 Modifications made based on feedback from pull request. 2018-07-26 17:17:03 -05:00
Vailin Choi
78d4fbddbd Fix for HDFFV-10333:
1) Check for valid object header version for a refcount messge
2) Check for invalid fill value size
3) Check for invalid dimension size in a layout message
4) Add --enable-error-stack option to h5stat
5) Add error checks to h5stat.c
6) Add tests to h5stat and h5dump
2018-07-26 17:16:50 -05:00
Hyo-Kyung Lee
256f74f532 fixed typo. 2018-07-26 17:16:43 -05:00
Jordan Henderson
f42c00b5ec Fix for HDFFV-10509 2018-07-26 17:16:32 -05:00
Jerome Soumagne
1268499234 Fix H5detect to use no_sanitize_address attribute and support GCC sanitizers 2018-07-26 17:16:15 -05:00
Scot Breitenfeld
44080eeabd Merge pull request #1153 in HDFFV/hdf5 from hdf5_1_10.revert to hdf5_1_10
* commit '4eccacf11cded8605f9bf1761e22945caffe76f9':
  Revert "Merge pull request #1149 in HDFFV/hdf5 from hdf5_1_10.sync to hdf5_1_10"
2018-07-26 10:46:03 -05:00
M. Scot Breitenfeld
4eccacf11c Revert "Merge pull request #1149 in HDFFV/hdf5 from hdf5_1_10.sync to hdf5_1_10"
This reverts commit d99570506c, reversing
changes made to 792b3352b9.
2018-07-26 10:38:36 -05:00
Scot Breitenfeld
d99570506c Merge pull request #1149 in HDFFV/hdf5 from hdf5_1_10.sync to hdf5_1_10
* commit 'fe8d5bcb7aebbade60c8f128758c2c37c6799040': (74 commits)
  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.
  misc. fixed version paths
  misc. versioning fixes
  Fixed versioning
  Add missing '\' in the middle of the public headers list in Makefile.am.
  Fixed typos
  Entered entries for HDFFV-10150, HDFFV-10458, HDFFV-1047
  Updated for C2Cppfunction_map.htm
  Added class DSetAccPropList Description:     - Added class DSetAccPropList for the dataset access property list.     - Added wrapper for H5Dget_access_plist to class DataSet         // Gets the access property list of this dataset.         DSetAccPropList getAccessPlist() const;
  Code improvement Description:     Moved the new H5Object::getInfo member functions to H5Location and     made them overloaded with the existing H5Location::getObjinfo.  This     way is cleaner than the previous approach. Platforms tested:     Linux/64 (jelly)     Linux/32 (jam)     Darwin (osx1010test)
  Fix for HDFFV-9277: update the ainfo message after removing an attribute.
  Add cmakehdf5 command line option to turn on shell script testing. Option is on by default but can be disabled with --disable-shell-testing.
  Apply Cygwin pathches from Marco Atzeri. Commit Joe Lee's typo corrections for src/H5MF.c.
  Adjust error handling
  TRILABS-137 Convert tcheck_version script to cmake tests
  Fixed EED-319 Description:     - Fixed doc issue       Added an html version for the C++ function mapping table and removed       the single web page version.       Updated cpp_doc_config to use the html file.     - Added a couple more minor tests
  ifdef around std flag for cygwin
  ...
2018-07-24 17:02:07 -05:00
M. Scot Breitenfeld
fe8d5bcb7a Merge branch 'develop' into hdf5_1_10.sync 2018-07-24 17:00:26 -05:00
M. Scot Breitenfeld
03fe2e65e0 misc. fixed version paths 2018-07-24 13:13:14 -05:00
M. Scot Breitenfeld
cd3362b696 misc. versioning fixes 2018-07-24 12:52:37 -05:00
M. Scot Breitenfeld
73aa776893 Fixed versioning 2018-07-24 12:30:48 -05:00
M. Scot Breitenfeld
8a24e84ac8 Merge branch 'develop' into hdf5_1_10 2018-07-24 11:51:19 -05:00
Allen Byrne
792b3352b9 Merge pull request #1124 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit 'c0dfec8913497d62cf1ab7e13e62e3fe55d6e859':
  HDFFV-10519 Disable WriteVL JNI function, updgrade JNI
2018-06-29 11:17:57 -05:00
Allen Byrne
c0dfec8913 HDFFV-10519 Disable WriteVL JNI function, updgrade JNI 2018-06-29 09:57:47 -05:00
Allen Byrne
2e0b958196 Merge pull request #1121 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10
* commit '7636342d959bfd3d023345bac76650932961d843':
  Push updates from develop
2018-06-26 13:47:36 -05:00
Allen Byrne
7636342d95 Push updates from develop 2018-06-26 09:35:07 -05:00
hdftest
f89bdb7753 Merge pull request #1118 in HDFFV/hdf5 from ~HDFTEST/hdf5_hft:hdf5_1_10 to hdf5_1_10
* commit '25f80cbbec3a7d8036325784168b029cb71cc813':
  Snapshot version 1.10 release 3 (snap3)
2018-06-24 18:37:59 -05:00
649 changed files with 49965 additions and 35622 deletions

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

@@ -33,7 +33,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
EXPORT ${HDF5_EXPORTED_TARGETS}
DESTINATION ${HDF5_INSTALL_CMAKE_DIR}/hdf5
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
NAMESPACE ${HDF5_PACKAGE}::
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
COMPONENT configinstall
)
endif ()
@@ -45,7 +45,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
export (
TARGETS ${HDF5_LIBRARIES_TO_EXPORT} ${HDF5_LIB_DEPENDENCIES} ${HDF5_UTILS_TO_EXPORT}
FILE ${HDF5_PACKAGE}${HDF_PACKAGE_EXT}-targets.cmake
NAMESPACE ${HDF5_PACKAGE}::
NAMESPACE ${HDF_PACKAGE_NAMESPACE}
)
endif ()
endif ()
@@ -125,7 +125,7 @@ else ()
endif ()
configure_file (
${HDF_RESOURCES_DIR}/libhdf5.settings.cmake.in
${HDF5_BINARY_DIR}/libhdf5.settings @ONLY
${HDF5_BINARY_DIR}/libhdf5.settings ESCAPE_QUOTES @ONLY
)
install (
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
@@ -134,7 +134,7 @@ install (
)
#-----------------------------------------------------------------------------
# Configure the HDF518_Examples.cmake file and the examples
# Configure the HDF5_Examples.cmake file and the examples
#-----------------------------------------------------------------------------
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
if (HDF5_PACK_EXAMPLES)
@@ -215,6 +215,7 @@ if (NOT HDF5_EXTERNALLY_CONFIGURED)
if (HDF5_PACK_INSTALL_DOCS)
set (release_files
${release_files}
${HDF5_SOURCE_DIR}/release_docs/INSTALL_Warnings.txt
${HDF5_SOURCE_DIR}/release_docs/INSTALL_CMake.txt
${HDF5_SOURCE_DIR}/release_docs/HISTORY-1_8.txt
${HDF5_SOURCE_DIR}/release_docs/INSTALL

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}")
@@ -413,24 +416,29 @@ set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
# Mac OS X Options
#-----------------------------------------------------------------------------
if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
endif ()
#-----------------------------------------------------------------------------
# Option to Build Shared and Static libs, default is both
#-----------------------------------------------------------------------------
option (ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF)
set (H5_ENABLE_STATIC_LIB YES)
if (ONLY_SHARED_LIBS)
set (H5_ENABLE_STATIC_LIB NO)
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries")
endif ()
option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
set (H5_ENABLE_SHARED_LIB NO)
if (BUILD_SHARED_LIBS)
set (H5_ENABLE_SHARED_LIB YES)
endif ()
set (H5_ENABLE_STATIC_LIB YES)
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
#-----------------------------------------------------------------------------
# Option to Build Static executables
#-----------------------------------------------------------------------------
option (BUILD_STATIC_EXECS "Build Static Executabless" OFF)
option (BUILD_STATIC_EXECS "Build Static Executables" OFF)
if (BUILD_STATIC_EXECS)
if (NOT WIN32)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static")
@@ -443,9 +451,14 @@ endif ()
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF)
if (HDF5_ENABLE_COVERAGE)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 --coverage -fprofile-arcs -ftest-coverage")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g --coverage -O0 -fprofile-arcs -ftest-coverage")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (LDFLAGS "${LDFLAGS} -fprofile-arcs -ftest-coverage")
link_libraries (gcov)
else ()
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
endif ()
endif ()
#-----------------------------------------------------------------------------
@@ -473,6 +486,15 @@ if (HDF5_MEMORY_ALLOC_SANITY_CHECK)
set (H5_MEMORY_ALLOC_SANITY_CHECK 1)
endif ()
#-----------------------------------------------------------------------------
# Option to enable/disable using pread/pwrite for VFDs
#-----------------------------------------------------------------------------
option (HDF5_ENABLE_PREADWRITE "Use pread/pwrite in sec2/log/core VFDs in place of read/write (when available)" ON)
mark_as_advanced (HDF5_ENABLE_PREADWRITE)
if (HDF5_ENABLE_PREADWRITE AND H5_HAVE_PREAD AND H5_HAVE_PWRITE)
set (H5_HAVE_PREADWRITE 1)
endif ()
#-----------------------------------------------------------------------------
# Option to use deprecated public API symbols
#-----------------------------------------------------------------------------
@@ -543,11 +565,11 @@ else ()
endif ()
include (${HDF_RESOURCES_DIR}/HDFCompilerFlags.cmake)
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
#-----------------------------------------------------------------------------
# Option to Enable MPI Parallel
#-----------------------------------------------------------------------------
set (CMAKE_MODULE_PATH ${HDF_RESOURCES_DIR} ${HDF_RESOURCES_EXT_DIR} ${CMAKE_MODULE_PATH})
option (HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF)
if (HDF5_ENABLE_PARALLEL)
find_package(MPI REQUIRED)
@@ -555,12 +577,33 @@ if (HDF5_ENABLE_PARALLEL)
set (H5_HAVE_PARALLEL 1)
# MPI checks, only do these if MPI_C_FOUND is true, otherwise they always fail
# and once set, they are cached as false and not regenerated
set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}" )
set (CMAKE_REQUIRED_LIBRARIES "${MPI_C_LIBRARIES}")
set (CMAKE_REQUIRED_INCLUDES "${MPI_C_INCLUDE_DIRS}")
# Used by Fortran + MPI
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "${MPI_C_INCLUDE_DIRS}/mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
CHECK_SYMBOL_EXISTS (MPI_Comm_c2f "mpi.h" H5_HAVE_MPI_MULTI_LANG_Comm)
CHECK_SYMBOL_EXISTS (MPI_Info_c2f "mpi.h" H5_HAVE_MPI_MULTI_LANG_Info)
# Used by Parallel Compression feature
set (PARALLEL_FILTERED_WRITES ON)
CHECK_SYMBOL_EXISTS (MPI_Mprobe "mpi.h" H5_HAVE_MPI_Mprobe)
CHECK_SYMBOL_EXISTS (MPI_Imrecv "mpi.h" H5_HAVE_MPI_Imrecv)
if (NOT H5_HAVE_MPI_Mprobe OR NOT H5_HAVE_MPI_Imrecv)
message (WARNING "The MPI_Mprobe and/or MPI_Imrecv functions could not be located.
Parallel writes of filtered data will be disabled.")
set (PARALLEL_FILTERED_WRITES OFF)
endif ()
# Used by big I/O feature
set (LARGE_PARALLEL_IO ON)
CHECK_SYMBOL_EXISTS (MPI_Get_elements_x "mpi.h" H5_HAVE_MPI_Get_elements_x)
CHECK_SYMBOL_EXISTS (MPI_Type_size_x "mpi.h" H5_HAVE_MPI_Type_size_x)
if (NOT H5_HAVE_MPI_Get_elements_x OR NOT H5_HAVE_MPI_Type_size_x)
message (WARNING "The MPI_Get_elements_x and/or MPI_Type_size_x functions could not be located.
Reading/Writing >2GB of data in a single parallel I/O operation will be disabled.")
set (LARGE_PARALLEL_IO OFF)
endif ()
else ()
message (STATUS "Parallel libraries not found")
message (FATAL_ERROR "Parallel libraries not found")
endif ()
endif ()
@@ -593,6 +636,16 @@ if (HDF5_USE_18_API_DEFAULT)
set (DEFAULT_API_VERSION "v18")
endif ()
#-----------------------------------------------------------------------------
# Option to use 1.10.x API
#-----------------------------------------------------------------------------
option (HDF5_USE_110_API_DEFAULT "Use the HDF5 1.10.x API by default" ON)
set (H5_USE_110_API_DEFAULT 0)
if (HDF5_USE_110_API_DEFAULT)
set (H5_USE_110_API_DEFAULT 1)
set (DEFAULT_API_VERSION "v110")
endif ()
#-----------------------------------------------------------------------------
# Include user macros
#-----------------------------------------------------------------------------
@@ -677,13 +730,17 @@ add_subdirectory (src)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
add_dependencies (${HDF5_LIB_TARGET} ZLIB)
if (NOT ONLY_SHARED_LIBS)
add_dependencies (${HDF5_LIB_TARGET} ZLIB)
endif ()
if (BUILD_SHARED_LIBS)
add_dependencies (${HDF5_LIBSH_TARGET} ZLIB)
endif ()
endif ()
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
add_dependencies (${HDF5_LIB_TARGET} SZIP)
if (NOT ONLY_SHARED_LIBS)
add_dependencies (${HDF5_LIB_TARGET} SZIP)
endif ()
if (BUILD_SHARED_LIBS)
add_dependencies (${HDF5_LIBSH_TARGET} SZIP)
endif ()
@@ -696,10 +753,15 @@ endif ()
option (BUILD_TESTING "Build HDF5 Unit Testing" ON)
if (BUILD_TESTING)
set (DART_TESTING_TIMEOUT 1200
CACHE INTEGER
CACHE STRING
"Timeout in seconds for each test (default 1200=20minutes)"
)
# Generate a list of timeouts based on DART_TESTING_TIMEOUT
math (EXPR CTEST_SHORT_TIMEOUT "${DART_TESTING_TIMEOUT} / 2")
math (EXPR CTEST_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 2")
math (EXPR CTEST_VERY_LONG_TIMEOUT "${DART_TESTING_TIMEOUT} * 3")
option (HDF5_TEST_VFD "Execute tests with different VFDs" OFF)
mark_as_advanced (HDF5_TEST_VFD)
if (HDF5_TEST_VFD)
@@ -770,25 +832,20 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
if (HDF5_BUILD_FORTRAN)
option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON)
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
message (STATUS "Fortran compiler ID is ${CMAKE_Fortran_COMPILER_ID}")
# Building with PGI requires CMake 3.3 or greater because previous versions
# of CMake add the wrong compiler flag for the PGI Fortran compiler.
if ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "PGI" AND "${CMAKE_VERSION}" VERSION_LESS "3.3")
if (CMAKE_Fortran_COMPILER_ID MATCHES "PGI" AND CMAKE_VERSION VERSION_LESS "3.3")
message (FATAL_ERROR " **** PGI FORTRAN REQUIRES CMAKE VERSION 3.3 OR GREATER **** ")
endif ()
include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
set (LINK_Fortran_LIBS ${LINK_LIBS})
if (HDF5_ENABLE_F2003)
if (NOT FORTRAN_HAVE_ISO_C_BINDING)
set (HDF5_ENABLE_F2003 OFF)
endif ()
if (NOT H5_FORTRAN_HAVE_ISO_C_BINDING)
message (FATAL_ERROR " **** Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, disable HDF5_BUILD_FORTRAN **** ")
endif ()
# Parallel IO usage requires MPI to be Linked and Included
@@ -864,4 +921,10 @@ endif ()
#-----------------------------------------------------------------------------
configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
#-----------------------------------------------------------------------------
# Options for use by cross compiling and toolchains
#-----------------------------------------------------------------------------
option (HDF5_USE_PREGEN "Use pre-generated Files" OFF)
option (HDF5_BATCH_H5DETECT "Use a batch command for running h5detect" OFF)
include (CMakeInstallation.cmake)

29
COPYING
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,16 @@ provided that the following conditions are met:
this list of conditions, and the following disclaimer in the documentation
and/or materials provided with the distribution.
3. In addition, redistributions of modified forms of the source or binary
code must carry prominent notices stating that the original code was
changed and the date of the change.
4. All publications or advertising materials mentioning features or use of
this software are asked, but not required, to acknowledge that it was
developed by The HDF Group and by the National Center for Supercomputing
Applications at the University of Illinois at Urbana-Champaign and
credit the contributors.
5. Neither the name of The HDF Group, the name of the University, nor the
3. Neither the name of The HDF Group, the name of the University, nor the
name of any Contributor may be used to endorse or promote products derived
from this software without specific prior written permission from
The HDF Group, the University, or the Contributor, respectively.
DISCLAIMER:
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In no
event shall The HDF Group or the Contributors be liable for any damages
suffered by the users arising out of the use of this software, even if
advised of the possibility of such damage.
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT SHALL THE HDF GROUP OR THE CONTRIBUTORS BE LIABLE FOR ANY DAMAGES SUFFERED BY THE USERS ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to The HDF Group, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
@@ -55,9 +44,7 @@ http://support.hdfgroup.org/ftp/HDF5/releases/COPYING_LBNL_HDF5.
-----------------------------------------------------------------------------
Contributors: National Center for Supercomputing Applications (NCSA) at
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
and Digital Equipment Corporation (DEC).
the University of Illinois, Fortner Software, Unidata Program Center (netCDF), The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip), and Digital Equipment Corporation (DEC).
-----------------------------------------------------------------------------
@@ -98,8 +85,8 @@ and/or accompanying materials:
-----------------------------------------------------------------------------
HDF5 is available with the SZIP compression library but SZIP is not part
of HDF5 and has separate copyright and license terms. See “Szip Compression
in HDF Products (https://support.hdfgroup.org/doc_resource/SZIP/) for further details.
of HDF5 and has separate copyright and license terms. See SZIP Compression
in HDF Products (www.hdfgroup.org/doc_resource/SZIP/) for further details.
-----------------------------------------------------------------------------

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=HDF5110")
else ()
set (CTEST_DROP_LOCATION "/submit.php?project=HDF5")
endif ()
endif ()
set (CTEST_DROP_SITE_CDASH TRUE)
@@ -34,9 +45,9 @@ set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
set (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
set (CTEST_TEST_TIMEOUT 600 CACHE STRING
set (CTEST_TEST_TIMEOUT 1200 CACHE STRING
"Maximum time allowed before CTest will kill the test.")
set (DART_TESTING_TIMEOUT 600 CACHE STRING
set (DART_TESTING_TIMEOUT 1200 CACHE STRING
"Maximum time allowed before CTest will kill the test." FORCE)
SET(CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING

154
MANIFEST
View File

@@ -71,12 +71,15 @@
./bin/errors _DO_NOT_DISTRIBUTE_
./bin/genparser
./bin/gcov_script _DO_NOT_DISTRIBUTE_
./bin/h5cc.in
./bin/h5redeploy.in
./bin/h5vers
./bin/iostats
./bin/locate_sw
./bin/make_err
./bin/make_overflow
./bin/make_vers
./bin/Makefile.am
./bin/makehelp
./bin/mkdirs
./bin/newer
@@ -92,6 +95,21 @@
./bin/timekeeper _DO_NOT_DISTRIBUTE_
./bin/trace
./bin/yodconfigure
./bin/batch/cori_ctestP.sl.in.cmake
./bin/batch/cori_ctestS.sl.in.cmake
./bin/batch/cori_knl_ctestP.sl.in.cmake
./bin/batch/cori_knl_ctestS.sl.in.cmake
./bin/batch/ctestP.lsf.in.cmake
./bin/batch/ctestP.sl.in.cmake
./bin/batch/ctestS.lsf.in.cmake
./bin/batch/ctestS.sl.in.cmake
./bin/batch/knl_ctestP.sl.in.cmake
./bin/batch/knl_ctestS.sl.in.cmake
./bin/batch/knl_H5detect.sl.in.cmake
./bin/batch/ctest.qsub.in.cmake
./bin/batch/ray_ctestP.lsf.in.cmake
./bin/batch/ray_ctestS.lsf.in.cmake
./bin/batch/raybsub
./bin/pkgscrpts/h5rmflags _DO_NOT_DISTRIBUTE_
./bin/pkgscrpts/makeHDF5BinaryTarfiles.pl _DO_NOT_DISTRIBUTE_
./bin/pkgscrpts/makeInternalREADME.pl _DO_NOT_DISTRIBUTE_
@@ -445,8 +463,11 @@
./release_docs/INSTALL_CMake.txt
./release_docs/INSTALL_Cygwin.txt
./release_docs/INSTALL_parallel
./release_docs/INSTALL_Warnings.txt
./release_docs/INSTALL_Windows.txt
./release_docs/RELEASE.txt
./release_docs/README_HDF5_CMake
./release_docs/README_HPC
./release_docs/USING_HDF5_CMake.txt
./release_docs/USING_HDF5_VS.txt
@@ -481,7 +502,6 @@
./src/H5Apublic.h
./src/H5AC.c
./src/H5ACdbg.c
./src/H5AClog.c
./src/H5ACmodule.h
./src/H5ACmpio.c
./src/H5ACpkg.h
@@ -494,7 +514,6 @@
./src/H5Bmodule.h
./src/H5Bpkg.h
./src/H5Bprivate.h
./src/H5Bpublic.h
./src/H5B2.c
./src/H5B2cache.c
./src/H5B2dbg.c
@@ -505,7 +524,6 @@
./src/H5B2module.h
./src/H5B2pkg.h
./src/H5B2private.h
./src/H5B2public.h
./src/H5B2stat.c
./src/H5B2test.c
./src/H5C.c
@@ -513,6 +531,9 @@
./src/H5Cepoch.c
./src/H5Cimage.c
./src/H5Clog.c
./src/H5Clog.h
./src/H5Clog_json.c
./src/H5Clog_trace.c
./src/H5Cmodule.h
./src/H5Cmpio.c
./src/H5Cpkg.h
@@ -649,7 +670,6 @@
./src/H5FSmodule.h
./src/H5FSpkg.h
./src/H5FSprivate.h
./src/H5FSpublic.h
./src/H5FSsection.c
./src/H5FSstat.c
./src/H5FStest.c
@@ -689,7 +709,6 @@
./src/H5HFmodule.h
./src/H5HFpkg.h
./src/H5HFprivate.h
./src/H5HFpublic.h
./src/H5HFsection.c
./src/H5HFspace.c
./src/H5HFstat.c
@@ -701,7 +720,6 @@
./src/H5HGmodule.h
./src/H5HGpkg.h
./src/H5HGprivate.h
./src/H5HGpublic.h
./src/H5HGquery.c
./src/H5HL.c
./src/H5HLcache.c
@@ -712,7 +730,6 @@
./src/H5HLpkg.h
./src/H5HLprfx.c
./src/H5HLprivate.h
./src/H5HLpublic.h
./src/H5HP.c
./src/H5HPprivate.h
./src/H5I.c
@@ -944,6 +961,7 @@
./test/cross_read.c
./test/dangle.c
./test/deflate.h5
./test/del_many_dense_attrs.c
./test/direct_chunk.c
./test/dsets.c
./test/dt_arith.c
@@ -1031,6 +1049,7 @@
./test/le_extlink2.h5
./test/lheap.c
./test/links.c
./test/corrupted_name_len.h5
./test/mergemsg.h5
./test/mf.c
./test/mount.c
@@ -1075,10 +1094,10 @@
./test/tcheck_version.c
./test/tconfig.c
./test/tcoords.c
./test/testabort_fail.sh.in
./test/testcheck_version.sh.in
./test/testerror.sh.in
./test/testlinks_env.sh.in
./test/test_filenotclosed.sh.in
./test/test_filter_plugin.sh.in
./test/testflushrefresh.sh.in
./test/testframe.c
@@ -1247,6 +1266,7 @@
./testpar/t_cache_image.c
./testpar/t_chunk_alloc.c
./testpar/t_coll_chunk.c
./testpar/t_coll_md_read.c
./testpar/t_dset.c
./testpar/t_file.c
./testpar/t_file_image.c
@@ -1266,6 +1286,7 @@
./testpar/t_span_tree.c
./testpar/t_init_term.c
./testpar/testpar.h
./testpar/testpflush.sh.in
./testpar/testphdf5.c
./testpar/testphdf5.h
@@ -1372,14 +1393,17 @@
./tools/test/h5format_convert/testfiles/h5fc_v_err.ddl.err
./tools/test/h5format_convert/testfiles/h5fc_v_non_chunked.ddl
./tools/test/h5format_convert/testfiles/h5fc_d_file.ddl
./tools/test/h5format_convert/testfiles/h5fc_d_file.ddl.err
./tools/test/h5format_convert/testfiles/h5fc_d_file-d.ddl
./tools/test/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl
./tools/test/h5format_convert/testfiles/h5fc_dname.ddl
./tools/test/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl
./tools/test/h5format_convert/testfiles/h5fc_dname.err
./tools/test/h5format_convert/testfiles/h5fc_nonexistfile.ddl.err
./tools/test/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl.err
./tools/test/h5format_convert/testfiles/h5fc_help.ddl
./tools/test/h5format_convert/testfiles/h5fc_v_all.ddl
./tools/test/h5format_convert/testfiles/h5fc_nooption.ddl
./tools/test/h5format_convert/testfiles/h5fc_v_n_1d.ddl
./tools/test/h5format_convert/testfiles/h5fc_nonexistfile.ddl
./tools/test/h5format_convert/testfiles/h5fc_non_v3.h5
./tools/test/h5format_convert/testfiles/h5fc_edge_v3.h5
./tools/test/h5format_convert/testfiles/h5fc_err_level.h5
@@ -1449,6 +1473,11 @@
./tools/test/h5ls/vds_prefix/tvds-4.ls
./tools/test/h5ls/vds_prefix/tvds-5.ls
# h5ls test error files
./tools/test/h5ls/errfiles/nosuchfile.err
./tools/test/h5ls/errfiles/textlinksrc-nodangle-1.err
./tools/test/h5ls/errfiles/tgroup-1.err
# h5copy sources
./tools/src/h5copy/Makefile.am
./tools/src/h5copy/h5copy.c
@@ -1485,11 +1514,9 @@
./tools/lib/io_timer.h
./tools/src/misc/Makefile.am
./tools/src/misc/h5cc.in
./tools/src/misc/h5clear.c
./tools/src/misc/h5debug.c
./tools/src/misc/h5mkgrp.c
./tools/src/misc/h5redeploy.in
./tools/src/misc/h5repart.c
./tools/test/misc/Makefile.am
./tools/test/misc/h5repart_gentest.c
@@ -1504,10 +1531,11 @@
./tools/test/misc/testfiles/h5clear_less_after_size.ddl
./tools/test/misc/testfiles/h5clear_less_before_size.ddl
./tools/test/misc/testfiles/h5clear_missing_file.ddl
./tools/test/misc/testfiles/h5clear_missing_file.err
./tools/test/misc/testfiles/h5clear_noclose_after_size.ddl
./tools/test/misc/testfiles/h5clear_noclose_before_size.ddl
./tools/test/misc/testfiles/h5clear_no_mdc_image.ddl
./tools/test/misc/testfiles/h5clear_open_fail.ddl
./tools/test/misc/testfiles/h5clear_no_mdc_image.err
./tools/test/misc/testfiles/h5clear_open_fail.err
./tools/test/misc/testfiles/h5clear_status_noclose_after_size.ddl
./tools/test/misc/testfiles/h5clear_usage.ddl
./tools/test/misc/testfiles/h5clear_user_equal_after_size.ddl
@@ -1561,10 +1589,6 @@
./tools/test/h5stat/testh5stat.sh.in
./tools/test/h5stat/testfiles/h5stat_dims1.ddl
./tools/test/h5stat/testfiles/h5stat_dims2.ddl
./tools/test/h5stat/testfiles/h5stat_err1_dims.ddl
./tools/test/h5stat/testfiles/h5stat_err1_links.ddl
./tools/test/h5stat/testfiles/h5stat_err1_numattrs.ddl
./tools/test/h5stat/testfiles/h5stat_err2_numattrs.ddl
./tools/test/h5stat/testfiles/h5stat_err_old_fill.h5
./tools/test/h5stat/testfiles/h5stat_err_old_fill.ddl
./tools/test/h5stat/testfiles/h5stat_err_old_layout.h5
@@ -1602,12 +1626,19 @@
./tools/test/h5stat/testfiles/h5stat_threshold.h5
./tools/test/h5stat/testfiles/h5stat_tsohm.ddl
./tools/test/h5stat/testfiles/h5stat_tsohm.h5
./tools/test/h5stat/testfiles/h5stat_err_refcount.err
./tools/test/h5stat/testfiles/h5stat_err_old_layout.err
./tools/test/h5stat/testfiles/h5stat_err_old_fill.err
./tools/test/h5stat/testfiles/h5stat_err1_dims.err
./tools/test/h5stat/testfiles/h5stat_err1_links.err
./tools/test/h5stat/testfiles/h5stat_err1_numattrs.err
./tools/test/h5stat/testfiles/h5stat_err2_numattrs.err
./tools/test/h5stat/testfiles/h5stat_notexist.err
./tools/test/h5stat/testfiles/h5stat_nofile.err
# h5dump test files
./tools/testfiles/charsets.h5
./tools/testfiles/charsets.ddl
./tools/testfiles/err_attr_dspace.h5
./tools/testfiles/err_attr_dspace.ddl
./tools/testfiles/family_file00000.h5
./tools/testfiles/family_file00001.h5
./tools/testfiles/family_file00002.h5
@@ -1633,6 +1664,7 @@
./tools/testfiles/h5dump-help.txt
./tools/testfiles/non_existing.ddl
./tools/testfiles/packedbits.ddl
./tools/testfiles/t128bit_float.h5
./tools/testfiles/taindices.h5
./tools/testfiles/tall-1.ddl
./tools/testfiles/tall-2.ddl
@@ -1797,6 +1829,8 @@
./tools/testfiles/tints4dims.h5
./tools/testfiles/tintsattrs.ddl
./tools/testfiles/tintsattrs.h5
./tools/testfiles/tintsnodata.ddl
./tools/testfiles/tintsnodata.h5
./tools/testfiles/tlarge_objname.ddl
./tools/testfiles/tlarge_objname.h5
./tools/testfiles/tldouble.h5
@@ -2261,7 +2295,6 @@
./tools/test/h5diff/testfiles/h5diff_600.txt
./tools/test/h5diff/testfiles/h5diff_601.txt
./tools/test/h5diff/testfiles/h5diff_601_ERR.err
./tools/test/h5diff/testfiles/h5diff_601_ERR.txt
./tools/test/h5diff/testfiles/h5diff_603.txt
./tools/test/h5diff/testfiles/h5diff_604.txt
./tools/test/h5diff/testfiles/h5diff_605.txt
@@ -2368,21 +2401,12 @@
./tools/test/h5diff/testfiles/h5diff_452.txt
./tools/test/h5diff/testfiles/h5diff_453.txt
./tools/test/h5diff/testfiles/h5diff_454.txt
./tools/test/h5diff/testfiles/h5diff_454_ERR.err
./tools/test/h5diff/testfiles/h5diff_454_ERR.txt
./tools/test/h5diff/testfiles/dangling_link.err
./tools/test/h5diff/testfiles/h5diff_455.txt
./tools/test/h5diff/testfiles/h5diff_455_ERR.err
./tools/test/h5diff/testfiles/h5diff_455_ERR.txt
./tools/test/h5diff/testfiles/h5diff_456.txt
./tools/test/h5diff/testfiles/h5diff_457.txt
./tools/test/h5diff/testfiles/h5diff_457_ERR.err
./tools/test/h5diff/testfiles/h5diff_457_ERR.txt
./tools/test/h5diff/testfiles/h5diff_458.txt
./tools/test/h5diff/testfiles/h5diff_458_ERR.err
./tools/test/h5diff/testfiles/h5diff_458_ERR.txt
./tools/test/h5diff/testfiles/h5diff_459.txt
./tools/test/h5diff/testfiles/h5diff_459_ERR.err
./tools/test/h5diff/testfiles/h5diff_459_ERR.txt
./tools/test/h5diff/testfiles/h5diff_465.txt
./tools/test/h5diff/testfiles/h5diff_466.txt
./tools/test/h5diff/testfiles/h5diff_467.txt
@@ -2472,6 +2496,7 @@
./tools/test/h5diff/testfiles/tudfilter.h5
./tools/test/h5diff/testfiles/tudfilter2.h5
./tools/test/h5diff/testfiles/h5diff_ud.txt
./tools/test/h5diff/testfiles/h5diff_udfail.err
./tools/test/h5diff/testfiles/h5diff_udfail.txt
./tools/test/h5diff/testfiles/diff_strings1.h5
./tools/test/h5diff/testfiles/diff_strings2.h5
@@ -2572,6 +2597,7 @@
./tools/test/h5copy/testfiles/h5copy_extlinks_src.h5
./tools/test/h5copy/testfiles/h5copy_extlinks_trg.h5
./tools/test/h5copy/testfiles/h5copy_extlinks_src.out.ls
./tools/test/h5copy/testfiles/h5copy_misc1.err
./tools/test/h5copy/testfiles/h5copy_misc1.out
./tools/test/h5copy/testfiles/h5copytst_new.h5
./tools/test/h5copy/testfiles/h5copytst_new.out.ls
@@ -2739,16 +2765,17 @@
# expected test output from testing h5watch
#
./hl/tools/testfiles/w-err-cmpd1.ddl
./hl/tools/testfiles/w-err-cmpd2.ddl
./hl/tools/testfiles/w-err-cmpd3.ddl
./hl/tools/testfiles/w-err-cmpd4.ddl
./hl/tools/testfiles/w-err-cmpd5.ddl
./hl/tools/testfiles/w-err-dset1.ddl
./hl/tools/testfiles/w-err-dset2.ddl
./hl/tools/testfiles/w-err-dset-nomax.ddl
./hl/tools/testfiles/w-err-dset-none.ddl
./hl/tools/testfiles/w-err-file.ddl
./hl/tools/testfiles/w-err-std.ddl
./hl/tools/testfiles/w-err-cmpd1.err
./hl/tools/testfiles/w-err-cmpd2.err
./hl/tools/testfiles/w-err-cmpd3.err
./hl/tools/testfiles/w-err-cmpd4.err
./hl/tools/testfiles/w-err-cmpd5.err
./hl/tools/testfiles/w-err-dset1.err
./hl/tools/testfiles/w-err-dset2.err
./hl/tools/testfiles/w-err-dset-nomax.err
./hl/tools/testfiles/w-err-dset-none.err
./hl/tools/testfiles/w-err-file.err
./hl/tools/testfiles/w-err-poll0.ddl
./hl/tools/testfiles/w-err-poll.ddl
./hl/tools/testfiles/w-err-width.ddl
@@ -2850,6 +2877,32 @@
./java/src/jni/h5oImp.h
./java/src/jni/h5pImp.c
./java/src/jni/h5pImp.h
./java/src/jni/h5pACPLImp.c
./java/src/jni/h5pACPLImp.h
./java/src/jni/h5pDAPLImp.c
./java/src/jni/h5pDAPLImp.h
./java/src/jni/h5pDCPLImp.c
./java/src/jni/h5pDCPLImp.h
./java/src/jni/h5pDXPLImp.c
./java/src/jni/h5pDXPLImp.h
./java/src/jni/h5pFAPLImp.c
./java/src/jni/h5pFAPLImp.h
./java/src/jni/h5pFCPLImp.c
./java/src/jni/h5pFCPLImp.h
./java/src/jni/h5pGAPLImp.c
./java/src/jni/h5pGAPLImp.h
./java/src/jni/h5pGCPLImp.c
./java/src/jni/h5pGCPLImp.h
./java/src/jni/h5pLAPLImp.c
./java/src/jni/h5pLAPLImp.h
./java/src/jni/h5pLCPLImp.c
./java/src/jni/h5pLCPLImp.h
./java/src/jni/h5pOCPLImp.c
./java/src/jni/h5pOCPLImp.h
./java/src/jni/h5pOCpyPLImp.c
./java/src/jni/h5pOCpyPLImp.h
./java/src/jni/h5pStrCPLImp.c
./java/src/jni/h5pStrCPLImp.h
./java/src/jni/h5plImp.c
./java/src/jni/h5plImp.h
./java/src/jni/h5rImp.c
@@ -3144,14 +3197,17 @@
./java/lib/ext/slf4j-simple-1.7.25.jar
# CMake-specific Files
./config/toolchain/crayle.cmake
./config/toolchain/GCC.cmake
./config/toolchain/intel.cmake
./config/toolchain/PGI.cmake
./config/cmake/cacheinit.cmake
./config/cmake/CMakeFindJavaCommon.cmake
./config/cmake/ConversionTests.c
./config/cmake/ConfigureChecks.cmake
./config/cmake/CPack.Info.plist.in
./config/cmake/CTestCustom.cmake
./config/cmake/FindHDFJAVA.cmake.in
./config/cmake/FindJNI.cmake
./config/cmake/H5cxx_config.h.in
./config/cmake/H5pubconf.h.in
./config/cmake/hdf5-config.cmake.in
@@ -3173,6 +3229,7 @@
./config/cmake/UseJavaSymlinks.cmake
./config/cmake/userblockTest.cmake
./config/cmake/vfdTest.cmake
./config/cmake/wait_H5Tinit.cmake
./config/cmake_ext_mod/ConfigureChecks.cmake
./config/cmake_ext_mod/CTestCustom.cmake
@@ -3198,7 +3255,6 @@
# CMake-specific Examples Files
./config/cmake/HDF5_Examples.cmake.in
./config/cmake/HDF518_Examples.cmake.in
./release_docs/USING_CMake_Examples.txt
./CMakeLists.txt
@@ -3212,6 +3268,7 @@
./c++/src/CMakeLists.txt
./c++/test/CMakeLists.txt
./c++/test/CMakeTests.cmake
./c++/test/CMakeVFDTests.cmake
./examples/CMakeLists.txt
./examples/CMakeTests.cmake
./examples/run-all-ex.sh
@@ -3255,6 +3312,7 @@
./test/ShellTests.cmake
./testpar/CMakeLists.txt
./testpar/CMakeTests.cmake
./testpar/CMakeVFDTests.cmake
./tools/CMakeLists.txt
./tools/lib/CMakeLists.txt
./tools/src/CMakeLists.txt
@@ -3287,6 +3345,7 @@
./tools/src/h5repack/CMakeLists.txt
./tools/test/h5repack/CMakeLists.txt
./tools/test/h5repack/CMakeTests.cmake
./tools/test/h5repack/CMakeVFDTests.cmake
./tools/src/h5stat/CMakeLists.txt
./tools/test/h5stat/CMakeLists.txt
./tools/test/h5stat/CMakeTests.cmake
@@ -3306,6 +3365,12 @@
./config/cmake/scripts/HDF5config.cmake
./config/cmake/scripts/HDF5options.cmake
# CMake-specific HPC Scripts
./config/cmake/scripts/HPC/sbatch-HDF5options.cmake
./config/cmake/scripts/HPC/bsub-HDF5options.cmake
./config/cmake/scripts/HPC/qsub-HDF5options.cmake
./config/cmake/scripts/HPC/raybsub-HDF5options.cmake
# Files generated by autogen
./aclocal.m4
./bin/compile
@@ -3319,6 +3384,7 @@
./c++/examples/Makefile.in
./c++/Makefile.in
./configure
./bin/Makefile.in
./c++/src/Makefile.in
./c++/test/Makefile.in
./examples/Makefile.in

View File

@@ -49,11 +49,6 @@ include $(top_srcdir)/config/commence.am
# Conditionals. These conditionals are defined during configure
# Define each variable to empty if it is not used to placate pmake
if BUILD_PARALLEL_CONDITIONAL
TESTPARALLEL_DIR =testpar
else
TESTPARALLEL_DIR=
endif
if BUILD_CXX_CONDITIONAL
CXX_DIR =c++
else
@@ -74,9 +69,24 @@ if BUILD_HDF5_HL_CONDITIONAL
else
HDF5_HL_DIR=
endif
if BUILD_TESTS_CONDITIONAL
TESTSERIAL_DIR =test
else
TESTSERIAL_DIR=
endif
if BUILD_TESTS_PARALLEL_CONDITIONAL
TESTPARALLEL_DIR =testpar
else
TESTPARALLEL_DIR=
endif
if BUILD_TOOLS_CONDITIONAL
TOOLS_DIR =tools
else
TOOLS_DIR=
endif
SUBDIRS = src test $(TESTPARALLEL_DIR) tools . $(CXX_DIR) $(FORTRAN_DIR) \
$(JAVA_DIR) $(HDF5_HL_DIR)
SUBDIRS = src $(TESTSERIAL_DIR) $(TESTPARALLEL_DIR) bin $(TOOLS_DIR) . \
$(CXX_DIR) $(FORTRAN_DIR) $(JAVA_DIR) $(HDF5_HL_DIR)
DIST_SUBDIRS = src test testpar tools . c++ fortran hl examples java
# Some files generated during configure that should be cleaned

View File

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

57
bin/Makefile.am Normal file
View File

@@ -0,0 +1,57 @@
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
##
## Makefile.am
## Run automake to generate a Makefile.in from this file.
#
# HDF5 Library Makefile(.in)
#
include $(top_srcdir)/config/commence.am
# Include src directory
AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
# These are our main targets
bin_SCRIPTS=h5redeploy
# Tell automake to clean h5redeploy script
CLEANFILES=h5redeploy
# These were generated by configure. Remove them only when distclean.
DISTCLEANFILES=h5cc
# All programs rely on hdf5 library and h5tools library
LDADD=$(LIBH5TOOLS) $(LIBHDF5)
# How to build h5redeploy script
h5redeploy: h5redeploy.in
@cp $(srcdir)/$@.in $@
# h5cc needs custom install and uninstall rules, since it may be
# named h5pcc if hdf5 is being built in parallel mode.
if BUILD_PARALLEL_CONDITIONAL
H5CC_NAME=h5pcc
else
H5CC_NAME=h5cc
endif
$(DESTDIR)$(bindir):
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1;
install-exec-local: $(DESTDIR)$(bindir)
@$(INSTALL) h5cc $(DESTDIR)$(bindir)/$(H5CC_NAME)
uninstall-local:
@$(RM) $(DESTDIR)$(bindir)/$(H5CC_NAME)
include $(top_srcdir)/config/conclude.am

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,21 @@
#!/bin/bash -l
if [ $# -gt 0 ]; then
SUMMARY_FILE=$1
fi
ACCOUNT_ID=@ACCOUNT_ID@
echo "Run parallel test command. Test output will be in build/${SUMMARY_FILE}"
CTEST_CMD=`which ctest`
#SKIPTESTS <<KEYWORD:script inserts list of skips tests here -- don't remove>>
cd @HDF5_BINARY_DIR@
if [[ $SUMMARY_FILE == *"ctestS"* ]]; then
CMD="${CTEST_CMD} . -E MPI_TEST_ -C Release -j 32 -T test"
else
CMD="${CTEST_CMD} . -R MPI_TEST_ ${SKIP_TESTS} -C Release -T test"
fi
qsub -t 60 -n 1 -q debug-flat-quad -A ${ACCOUNT_ID} ${CMD} >& ${SUMMARY_FILE}
echo "Done running ctest parallel command."

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

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

@@ -55,13 +55,21 @@ for compressing the resulting tar archive (if none are given then
tar -- use tar and don't do any compressing.
gzip -- use gzip with "-9" and append ".gz" to the output name.
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
zip -- convert all text files to DOS style and form a zip file for Windows use.
cmake-tgz -- create a tar file using the gzip default level with a build-unix.sh
command file and all other CMake files needed to build HDF5 source
using CMake on unix machines.
bzip2 -- use bzip2 with "-9" and append ".bz2" to the output name.
zip -- convert all text files to DOS style and form a zip file for Windows use.
cmake-zip -- convert all text files to DOS style and create a zip file inluding cmake
scripts and .bat files to build HDF5 source using CMake on Windows.
hpc-cmake-tgz
-- create a tar file using the gzip default level with a build-unix.sh
command file and all other CMake files needed to build HDF5 source
using CMake on unix machines, with HDF5options.cmake files for serial
and parallel builds on machines requiring batch jobs to run tests.
The default is for parallel build, with serial only build by changing
the HDF5options.cmake symlink to ser-HDF5options.cmake. More
information is available in the README_HPC file.
doc -- produce the latest doc tree in addition to the archive.
An md5 checksum is produced for each archive created and stored in the md5 file.
@@ -225,7 +233,7 @@ tar2cmakezip()
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmziptmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmziptmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.zip $cmziptmpsubdir
cp $cmziptmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpsubdir
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpsubdir
cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpsubdir
@@ -256,7 +264,7 @@ tar2cmakezip()
}
# Function name: tar2cmaketgz
# Convert the release tarball to a Windows zipball with files to run CMake build.
# Convert the release tarball to a gzipped tar file with files to run CMake build.
#
# Programmer: Larry Knox
# Creation date: 2017-02-20
@@ -320,7 +328,7 @@ tar2cmaketgz()
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpsubdir
@@ -330,6 +338,93 @@ tar2cmaketgz()
rm -rf $cmgztmpdir
}
# Function name: tar2hpccmaketgz
# Convert the release tarball to a gzipped tarfile with files to run CMake build
# and HDF5options.cmake files for parallel or serial only builds where build
# tests are run on compute nodes using batch scripts.
#
# Programmer: Larry Knox
# Creation date: 2019-01-28
#
# Modifications
#
# Steps:
# 1. untar the tarball in a temporary directory;
# Note: do this in a temporary directory to avoid changing
# the original source directory which may be around.
# 2. add build-unix.sh script.
# 3. add SZIP.tar.gz, ZLib.tar.gz and cmake files to top level directory.
# 4. create gzipped tar file with these contents:
# build-unix.sh script
# hdf5-<version> source code directory extracted from tar file
# CTestScript.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5config.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# HDF5options.cmake cmake file copied from <hdf5 source code>/config/cmake/scripts
# SZip.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
# ZLib.tar.gz copied from /mnt/scr1/pre-release/hdf5/CMake
#
# 5. For HPC-CMake tgz file the following are also needed in the top-level directory:
# README_HPC copied from release_docs
# ser-HDF5options.cmake copied from <hdf5 source code>/config/cmake/scripts/HPC
# par-HDF5options.cmake copied from <hdf5 source code>/config/cmake/scripts/HPC
# HDF5options.cmake symlink to par-HDF5options.cmake
#
# Parameters:
# $1 version
# $2 release tarball
# $3 output zipball file name
#
# Returns 0 if successful; 1 otherwise
#
# need function to create another temporary directory, extract the
# $tmpdir/$HDF5_VERS.tar into it, create build-unix.sh,
# add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
# ZLib.tar.gz, HDF5 examples, and then tar.gz it.
tar2hpccmaketgz()
{
if [ $# -ne 3 ]; then
echo "usage: tar2hpccmaketgz <tarfilename> <tgzfilename>"
return 1
fi
cmgztmpdir=/tmp/cmgztmpdir$$
cmgztmpsubdir=$cmgztmpdir/HPC-CMake-$HDF5_VERS
mkdir -p $cmgztmpsubdir
version=$1
tarfile=$2
tgzfile=$3
# step 1: untar tarball in cmgztmpdir
(cd $cmgztmpsubdir; tar xf -) < $tarfile
# sanity check
if [ ! -d $cmgztmpsubdir/$version ]; then
echo "untar did not create $cmgztmpsubdir/$version source dir"
# cleanup
rm -rf $cmgztmpdir
return 1
fi
# step 2: add build-unix.sh script
(cd $cmgztmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.12.4-Source.tar.gz $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/release_docs/README_HPC $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/ser-HDF5options.cmake $cmgztmpsubdir
cp $cmgztmpsubdir/$version/config/cmake/scripts/HPC/par-HDF5options.cmake $cmgztmpsubdir
(cd $cmgztmpsubdir; ln -s par-HDF5options.cmake HDF5options.cmake)
tar czf $DEST/HPC-CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
# cleanup
rm -rf $cmgztmpdir
}
# This command must be run at the top level of the hdf5 source directory.
# Verify this requirement.
if [ ! \( -f configure.ac -a -f bin/release \) ]; then
@@ -514,6 +609,11 @@ for comp in $methods; do
tar2cmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/CMake-$HDF5_VERS.tar.gz 1>&2
(cd $DEST; md5sum CMake-$HDF5_VERS.tar.gz >> $MD5file)
;;
hpc-cmake-tgz)
test "$verbose" && echo " Creating HPC-CMake tar.gz file..." 1>&2
tar2hpccmaketgz $HDF5_VERS $tmpdir/$HDF5_VERS.tar $DEST/HPC-CMake-$HDF5_VERS.tar.gz 1>&2
(cd $DEST; md5sum HPC-CMake-$HDF5_VERS.tar.gz >> $MD5file)
;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <$tmpdir/$HDF5_VERS.tar >$DEST/$HDF5_VERS.tar.bz2

0
bin/runbkgprog Executable file → Normal file
View File

View File

@@ -18,9 +18,15 @@
include $(top_srcdir)/config/commence.am
if BUILD_TESTS_CONDITIONAL
TEST_DIR = test
else
TEST_DIR=
endif
## Only recurse into subdirectories if C++ interface is enabled.
if BUILD_CXX_CONDITIONAL
SUBDIRS=src test
SUBDIRS=src $(TEST_DIR)
endif
DIST_SUBDIRS = src test examples

View File

@@ -34,17 +34,27 @@ set (tutr_examples
foreach (example ${examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
target_include_directories(cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
target_include_directories (cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
if (NOT BUILD_SHARED_LIBS)
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
else ()
TARGET_C_PROPERTIES (cpp_ex_${example} SHARED)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
endif ()
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach ()
foreach (example ${tutr_examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
target_include_directories(cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
target_include_directories (cpp_ex_${example} PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
if (NOT BUILD_SHARED_LIBS)
TARGET_C_PROPERTIES (cpp_ex_${example} STATIC)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
else ()
TARGET_C_PROPERTIES (cpp_ex_${example} SHARED)
target_link_libraries (cpp_ex_${example} PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
endif ()
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach ()

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

@@ -84,24 +84,26 @@ set (CPP_HDRS
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
)
add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SOURCES} ${CPP_HDRS})
target_include_directories(${HDF5_CPP_LIB_TARGET}
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_definitions(${HDF5_CPP_LIB_TARGET}
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC)
target_link_libraries (${HDF5_CPP_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC 0)
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/cpp)
set (install_targets ${HDF5_CPP_LIB_TARGET})
if (NOT ONLY_SHARED_LIBS)
add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SOURCES} ${CPP_HDRS})
target_include_directories (${HDF5_CPP_LIB_TARGET}
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_definitions(${HDF5_CPP_LIB_TARGET}
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC)
target_link_libraries (${HDF5_CPP_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC 0)
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/cpp)
set (install_targets ${HDF5_CPP_LIB_TARGET})
endif ()
if (BUILD_SHARED_LIBS)
add_library (${HDF5_CPP_LIBSH_TARGET} SHARED ${CPP_SOURCES} ${CPP_HDRS})
target_include_directories(${HDF5_CPP_LIBSH_TARGET}
target_include_directories (${HDF5_CPP_LIBSH_TARGET}
PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
@@ -136,7 +138,9 @@ if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
endif ()
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
if (NOT ONLY_SHARED_LIBS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_LIB_DIR} cpplibraries)
endif ()
install (
TARGETS
@@ -163,7 +167,9 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}")
set (_PKG_CONFIG_LIBS_PRIVATE)
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
if (NOT ONLY_SHARED_LIBS)
set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
endif ()
if (BUILD_SHARED_LIBS)
set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}")
endif ()

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

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

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

@@ -102,9 +102,50 @@ LinkCreatPropList::LinkCreatPropList(const LinkCreatPropList& original) : PropLi
//--------------------------------------------------------------------------
LinkCreatPropList::LinkCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
//--------------------------------------------------------------------------
// Function: LinkCreatPropList::setCreateIntermediateGroup
///\brief Specifies in property list whether to create missing
/// intermediate groups.
///\param crt_intmd_group - IN: Flag specifying whether to create
/// intermediate groups upon the creation of an object
///\exception H5::PropListIException
// April, 2019
//--------------------------------------------------------------------------
void LinkCreatPropList::setCreateIntermediateGroup(bool crt_intmd_group) const
{
herr_t ret_value = H5Pset_create_intermediate_group(id, (unsigned)crt_intmd_group);
// Throw exception if H5Pset_create_intermediate_group returns failure
if (ret_value < 0)
{
throw PropListIException("setCreateIntermediateGroup", "H5Pset_create_intermediate_group failed");
}
}
//--------------------------------------------------------------------------
// Function: LinkCreatPropList::getCreateIntermediateGroup
///\brief Determines whether property is set to enable creating missing
/// intermediate groups.
///\return true if creating intermediate groups is enabled, and false, otherwise
///\exception H5::PropListIException
// April, 2019
//--------------------------------------------------------------------------
bool LinkCreatPropList::getCreateIntermediateGroup() const
{
unsigned crt_intmd_group;
herr_t ret_value = H5Pget_create_intermediate_group(id, &crt_intmd_group);
// Throw exception if H5Pget_create_intermediate_group returns failure
if (ret_value < 0)
{
throw PropListIException("getCreateIntermediateGroup", "H5Pget_create_intermediate_group failed");
}
return((bool)crt_intmd_group);
}
//--------------------------------------------------------------------------
// Function: LinkCreatPropList::setCharEncoding
///\brief Sets the character encoding of the string.
///
///\exception H5::PropListIException
// March, 2018
//--------------------------------------------------------------------------
@@ -121,6 +162,7 @@ void LinkCreatPropList::setCharEncoding(H5T_cset_t encoding) const
//--------------------------------------------------------------------------
// Function: LinkCreatPropList::getCharEncoding
///\brief Gets the character encoding of the string.
///\return The character encoding
///\exception H5::PropListIException
// March, 2018
//--------------------------------------------------------------------------

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,10 +36,18 @@ class H5_DLLCPP LinkCreatPropList : public PropList {
// Copy constructor: same as the original LinkCreatPropList.
LinkCreatPropList(const LinkCreatPropList& original);
// Creates a copy of an existing file access property list
// Creates a copy of an existing link creation property list
// using the property list id.
LinkCreatPropList (const hid_t plist_id);
// Specifies in property list whether to create missing
// intermediate groups
void setCreateIntermediateGroup(bool crt_intmd_group) const;
// Determines whether property is set to enable creating missing
// intermediate groups
bool getCreateIntermediateGroup() const;
// Sets the character encoding of the string.
void setCharEncoding(H5T_cset_t encoding) const;

View File

@@ -1066,7 +1066,7 @@ void H5Location::link(const char *curr_name, const Group& new_loc,
hid_t lcpl_id = lcpl.getId();
hid_t lapl_id = lapl.getId();
ret_value = H5Lcreate_hard(getId(), curr_name, new_loc.getId(), new_name, H5P_DEFAULT, H5P_DEFAULT);
ret_value = H5Lcreate_hard(getId(), curr_name, new_loc_id, new_name, lcpl_id, lapl_id);
if (ret_value < 0)
throwException("link", "creating link failed");
}
@@ -1102,14 +1102,13 @@ void H5Location::link(const H5std_string& curr_name, const Group& new_loc,
/// H5Lcreate_hard APIs in the HDF5 C Reference Manual.
// March 2018
//--------------------------------------------------------------------------
void H5Location::link(const char *curr_name, const hid_t same_loc,
const char *new_name, const LinkCreatPropList& lcpl, const LinkAccPropList& lapl) const
void H5Location::link(const char *curr_name, const hid_t same_loc, const char *new_name, const LinkCreatPropList& lcpl, const LinkAccPropList& lapl) const
{
herr_t ret_value = -1;
hid_t lcpl_id = lcpl.getId();
hid_t lapl_id = lapl.getId();
ret_value = H5Lcreate_hard(getId(), curr_name, same_loc, new_name, H5P_DEFAULT, H5P_DEFAULT);
ret_value = H5Lcreate_hard(getId(), curr_name, same_loc, new_name, lcpl_id, lapl_id);
if (ret_value < 0)
throwException("link", "creating link failed");

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

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

@@ -38,7 +38,7 @@ PROJECT_NAME =
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = "1.11.2"
PROJECT_NUMBER = "1.10.6-snap1, currently under development"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@@ -38,16 +38,17 @@ set (srcdir ${CMAKE_CURRENT_SOURCE_DIR})
configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ONLY)
add_executable (cpp_testhdf5 ${CPP_TEST_SOURCES} )
target_include_directories(cpp_testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
target_include_directories (cpp_testhdf5 PRIVATE "${HDF5_SRC_DIR};${HDF5_BINARY_DIR};${HDF5_TEST_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
target_compile_definitions(cpp_testhdf5
PRIVATE $<$<BOOL:${HDF5_ENABLE_PARALLEL}>:MPICH_SKIP_MPICXX;MPICH_IGNORE_CXX_SEEK># Parallel/MPI, prevent spurious cpp/cxx warnings
)
TARGET_C_PROPERTIES (cpp_testhdf5 STATIC)
target_link_libraries (cpp_testhdf5 PRIVATE
${HDF5_CPP_LIB_TARGET}
${HDF5_LIB_TARGET}
${HDF5_TEST_LIB_TARGET}
)
if (NOT BUILD_SHARED_LIBS)
TARGET_C_PROPERTIES (cpp_testhdf5 STATIC)
target_link_libraries (cpp_testhdf5 PRIVATE ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
else ()
TARGET_C_PROPERTIES (cpp_testhdf5 SHARED)
target_link_libraries (cpp_testhdf5 PRIVATE ${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${HDF5_TEST_LIBSH_TARGET})
endif ()
set_target_properties (cpp_testhdf5 PROPERTIES FOLDER test/cpp)
include (CMakeTests.cmake)

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

@@ -58,13 +58,13 @@ static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
/*-------------------------------------------------------------------------
* Function: test_create
*
* Purpose Attempts to create a dataset.
* Purpose: Attempts to create a dataset.
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* Friday, January 5, 2001
*-------------------------------------------------------------------------
*/
@@ -184,15 +184,15 @@ static herr_t test_create( H5File& file)
/*-------------------------------------------------------------------------
* Function: test_simple_io
*
* Purpose Tests simple I/O. That is, reading and writing a complete
* Purpose: Tests simple I/O. That is, reading and writing a complete
* multi-dimensional array without data type or data space
* conversions, without compression, and stored contiguously.
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* Friday, January 5, 2001
*-------------------------------------------------------------------------
*/
@@ -268,13 +268,13 @@ static herr_t test_simple_io( H5File& file)
/*-------------------------------------------------------------------------
* Function: test_datasize
*
* Purpose Tests DataSet::getInMemDataSize().
* Purpose: Tests DataSet::getInMemDataSize().
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler
* Programmer: Binh-Minh Ribler
* Thursday, March 22, 2012
*-------------------------------------------------------------------------
*/
@@ -334,13 +334,13 @@ static herr_t test_datasize(FileAccPropList &fapl)
/*-------------------------------------------------------------------------
* Function: test_tconv
*
* Purpose Test some simple data type conversion stuff.
* Purpose: Test some simple data type conversion stuff.
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* Friday, January 5, 2001
*-------------------------------------------------------------------------
*/
@@ -425,13 +425,13 @@ const H5Z_class2_t H5Z_BOGUS[1] = {{
/*-------------------------------------------------------------------------
* Function: bogus
*
* Purpose A bogus compression method that doesn't do anything.
* Purpose: A bogus compression method that doesn't do anything.
*
* Return Success: Data chunk size
* Return: Success: Data chunk size
*
* Failure: 0
*
* Programmer Robb Matzke
* Programmer: Robb Matzke
* Tuesday, April 21, 1998
*-------------------------------------------------------------------------
*/
@@ -447,16 +447,16 @@ static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
/*-------------------------------------------------------------------------
* Function: test_compression
*
* Purpose Tests dataset compression. If compression is requested when
* Purpose: Tests dataset compression. If compression is requested when
* it hasn't been compiled into the library (such as when
* updating an existing compressed dataset) then data is sent to
* the file uncompressed but no errors are returned.
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* Friday, January 5, 2001
*-------------------------------------------------------------------------
*/
@@ -730,13 +730,13 @@ static herr_t test_compression(H5File& file)
/*-------------------------------------------------------------------------
* Function: test_nbit_methods
*
* Purpose Tests setting nbit compression methods.
* Purpose: Tests setting nbit compression methods.
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler
* Programmer: Binh-Minh Ribler
* Friday, April 22, 2016
*
*-------------------------------------------------------------------------
@@ -847,16 +847,16 @@ static herr_t test_nbit_compression(H5File& file)
/*-------------------------------------------------------------------------
* Function: test_multiopen
*
* Purpose Tests that a bug no longer exists. If a dataset is opened
* Purpose: Tests that a bug no longer exists. If a dataset is opened
* twice and one of the handles is used to extend the dataset,
* then the other handle should return the new size when
* queried.
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* Saturday, February 17, 2001
*-------------------------------------------------------------------------
*/
@@ -929,13 +929,13 @@ static herr_t test_multiopen (H5File& file)
/*-------------------------------------------------------------------------
* Function: test_types
*
* Purpose Test various types - should be moved to dtypes.cpp
* Purpose: Test various types - should be moved to dtypes.cpp
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* February 17, 2001
*-------------------------------------------------------------------------
*/
@@ -1118,9 +1118,9 @@ static herr_t test_types(H5File& file)
/*-------------------------------------------------------------------------
* Function: test_getObjinfo
*
* Purpose Tests getObjinfo()
* Purpose: Tests getObjinfo()
*
* Return Success: 0
* Return: Success: 0
* Failure: -1
*
* July, 2018
@@ -1178,10 +1178,10 @@ static herr_t test_getinfo(H5File& file)
/*-------------------------------------------------------------------------
* Function: test_chunk_cache
*
* Purpose Tests setting rdcc info on a DAPL, and interaction
* Purpose: Tests setting rdcc info on a DAPL, and interaction
* with the corresponding properties in the file structure.
*
* Return Success: 0
* Return: Success: 0
* Failure: number of errors
*
* July 2018
@@ -1290,13 +1290,13 @@ static herr_t test_chunk_cache(FileAccPropList fapl)
/*-------------------------------------------------------------------------
* Function: test_virtual
*
* Purpose Tests fixed, unlimited, and printf selections in the same
* Purpose: Tests fixed, unlimited, and printf selections in the same
* VDS
*
* Return Success: 0
* Return: Success: 0
* Failure: number of errors
*
* Programmer Binh-Minh Ribler
* Programmer: Binh-Minh Ribler
* Friday, March 10, 2017
*
*-------------------------------------------------------------------------
@@ -1368,13 +1368,13 @@ static herr_t test_virtual()
/*-------------------------------------------------------------------------
* Function: test_dset
*
* Purpose Tests the dataset interface (H5D)
* Purpose: Tests the dataset interface (H5D)
*
* Return Success: 0
* Return: Success: 0
*
* Failure: -1
*
* Programmer Binh-Minh Ribler (using C version)
* Programmer: Binh-Minh Ribler (using C version)
* Friday, January 5, 2001
*
* Modifications:
@@ -1438,11 +1438,11 @@ void test_dset()
/*-------------------------------------------------------------------------
* Function: cleanup_dsets
*
* Purpose Cleanup temporary test files
* Purpose: Cleanup temporary test files
*
* Return None
* Return: None
*
* Programmer (use C version)
* Programmer: (use C version)
*-------------------------------------------------------------------------
*/
extern "C"

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

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,121 @@ static void test_getobjectinfo_same_file()
catch (Exception& E)
{
cerr << " in Exception " << E.getCFuncName() << "detail: " << E.getCDetailMsg() << endl;
issue_fail_msg("test_file_name()", __LINE__, __FILE__, E.getCDetailMsg());
issue_fail_msg("test_getobjectinfo_same_file()", __LINE__, __FILE__, E.getCDetailMsg());
}
} // test_h5o_getinfo_same_file
} // test_getobjectinfo_same_file
/*-------------------------------------------------------------------------
* Function: test_intermediate_groups
*
* Purpose Test that intermediate groups are created as specified by
* the property setting.
*
* Return None
*
* April, 2019
*-------------------------------------------------------------------------
*/
const H5std_string FILE_INTERGRPS("tobject_intergrps.h5");
const H5std_string GROUP10NAME("/group10");
const H5std_string GROUP11NAME("/group10/group11");
const H5std_string GROUP12NAME("/group10/group11/group12");
const H5std_string GROUP13NAME("/group10/group11/group12/group13");
const H5std_string GROUP14NAME("/group10/group11/group12/group13/group14");
const H5std_string GROUP14FROM13NAME("group14");
const H5std_string GROUP20NAME("/group20");
const H5std_string GROUP21NAME("/group20/group21");
const H5std_string GROUP22NAME("group21/group22");
const H5std_string GROUP22FULLNAME("/group20/group21/group22");
static void test_intermediate_groups()
{
// Output message about test being performed
SUBTEST("Group::set/getCreateIntermediateGroup");
try {
// Create a new HDF5 file
H5File file(FILE_INTERGRPS, H5F_ACC_TRUNC);
// Create a link create property list and set the "create
// intermediate groups" flag
LinkCreatPropList lcpl;
lcpl.setCreateIntermediateGroup(true);
// Verify value of create missing groups flag
bool crt_int_grps = lcpl.getCreateIntermediateGroup();
verify_val(crt_int_grps, true, "LinkCreatPropList::getCreateIntermediateGroup", __LINE__, __FILE__);
// Create GROUP12NAME with creating missing groups
Group grp12(file.createGroup(GROUP12NAME, lcpl));
// Missing groups: GROUP10NAME and GROUP11NAME
// Create GROUP14NAME without the use of link create plist, should
// fail because group GROUP13NAME is missing
try {
Group grp14_nopl(file.createGroup(GROUP14NAME));
} catch (FileIException& expected1) {} // Failure is ignored
// Create GROUP14NAME with the flag to create missing groups set
// to FALSE, should fail because group GROUP13NAME is missing
// Reset flag to not create missing groups
lcpl.setCreateIntermediateGroup(false);
// Verify value of create missing groups flag
crt_int_grps = lcpl.getCreateIntermediateGroup();
verify_val(crt_int_grps, false, "LinkCreatPropList::getCreateIntermediateGroup", __LINE__, __FILE__);
try {
Group grp14_false(file.createGroup(GROUP14NAME, lcpl));
} catch (FileIException& expected2) {} // Failure is ignored
// Set the flag to create missing groups set to TRUE
lcpl.setCreateIntermediateGroup(true);
crt_int_grps = lcpl.getCreateIntermediateGroup();
verify_val(crt_int_grps, true, "LinkCreatPropList::getCreateIntermediateGroup", __LINE__, __FILE__);
// Create GROUP14NAME with the use of link create plist
Group grp14(file.createGroup(GROUP14NAME, lcpl));
// Missing groups: GROUP13NAME
// Create group GROUP20NAME
Group grp20(file.createGroup(GROUP20NAME));
// Create group GROUP22NAME with missing group GROUP21NAME
Group grp22(grp20.createGroup(GROUP22NAME, lcpl));
// Close groups and file
grp12.close();
grp14.close();
grp20.close();
grp22.close();
file.close();
// Reopen the file
file.openFile(FILE_INTERGRPS, H5F_ACC_RDWR);
// Open the missing groups and various combinations
Group grp10(file.openGroup(GROUP10NAME));
Group grp11(file.openGroup(GROUP11NAME));
Group grp13(file.openGroup(GROUP13NAME));
Group grp14from13(grp13.openGroup(GROUP14FROM13NAME));
Group grp21(file.openGroup(GROUP21NAME));
Group grp22fromfile(file.openGroup(GROUP22FULLNAME));
PASSED();
} // end of try block
// catch all other exceptions
catch (Exception& E)
{
cerr << " in Exception " << E.getCFuncName() << "detail: " << E.getCDetailMsg() << endl;
issue_fail_msg("test_intermediate_groups()", __LINE__, __FILE__, E.getCDetailMsg());
}
} // test_intermediate_groups
/*-------------------------------------------------------------------------
* Function: test_object
@@ -631,12 +742,13 @@ void test_object()
// Output message about test being performed
MESSAGE(5, ("Testing Object Functions\n"));
test_get_objname(); // Test get object name from groups/datasets
test_existance(); // Test check for object existance
test_get_objname_ontypes(); // Test get object name from types
test_get_objtype(); // Test get object type
test_open_object_header(); // Test object header functions (H5O)
test_getobjectinfo_same_file(); // Test object info in same file
test_get_objname(); // Test get object name from groups/datasets
test_existance(); // Test check for object existance
test_get_objname_ontypes(); // Test get object name from types
test_get_objtype(); // Test get object type
test_open_object_header(); // Test object header functions (H5O)
test_getobjectinfo_same_file(); // Test object info in same file
test_intermediate_groups(); // Test intermediate group property
} // test_object

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
@@ -82,6 +94,7 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
H5DUMP_PACKED_BITS-clearall-objects
H5DUMP-XML-clearall-objects
H5DUMP_VDS-clearall-objects
H5DUMP-t128bit_float #uses grepTest.cmake
######### tools/h5format_convert #########
H5FC-clearall-objects
######### tools/h5import #########
@@ -307,6 +320,11 @@ set (CTEST_CUSTOM_MEMCHECK_IGNORE
H5REPACK_VERIFY_LAYOUT_ALL-layout_short_switches #uses grepTest.cmake
H5REPACK-plugin
H5REPACK_CMP-plugin_zero
#########
ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-latest_latest_invalid-clear-objects
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_0-clear-objects
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_2-clear-objects
H5REPACK_VERIFY_SUPERBLOCK-SB_IS_3-clear-objects
######### tools/h5stat #########
H5STAT-clearall-objects
######### tools/misc #########

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

@@ -1,79 +0,0 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#
# To be used by projects that make use of CMakeified hdf-java
#
#
# Find the HDFJAVA includes and get all installed hdf-java library settings from
# HDFJAVA-config.cmake file : Requires a CMake compatible hdf-java-@HDFJAVA_PACKAGE_VERSION@ or later
# for this feature to work. The following vars are set if hdf-java is found.
#
# HDFJAVA_FOUND - True if found, otherwise all other vars are undefined
# HDFJAVA_VERSION_STRING - full version (e.g. @HDFJAVA_PACKAGE_VERSION@)
# HDFJAVA_VERSION_MAJOR - major part of version (e.g. @HDFJAVA_PACKAGE_VERSION_MAJOR@)
# HDFJAVA_VERSION_MINOR - minor part (e.g. @HDFJAVA_PACKAGE_VERSION_MINOR@)
#
# Target names that are valid (depending on enabled options)
# will be the following
#
#
# To aid in finding HDFJAVA as part of a subproject set
# HDFJAVA_ROOT_DIR_HINT to the location where @HDFJAVA_PACKAGE@@HDF_PACKAGE_EXT@-config.cmake lies
INCLUDE (SelectLibraryConfigurations)
INCLUDE (FindPackageHandleStandardArgs)
# The HINTS option should only be used for values computed from the system.
set (_HDFJAVA_HINTS
$ENV{HOME}/.local
$ENV{HDFJAVA_ROOT}
$ENV{HDFJAVA_ROOT_DIR_HINT}
)
# Hard-coded guesses should still go in PATHS. This ensures that the user
# environment can always override hard guesses.
set (_HDFJAVA_PATHS
$ENV{HOME}/.local
$ENV{HDFJAVA_ROOT}
$ENV{HDFJAVA_ROOT_DIR_HINT}
/usr/lib/@HDFJAVA_PACKAGE@
/usr/share/@HDFJAVA_PACKAGE@
/usr/local/@HDFJAVA_PACKAGE@
/usr/local/@HDFJAVA_PACKAGE@/share
)
FIND_PATH (HDFJAVA_ROOT_DIR "@HDFJAVA_PACKAGE@@HDF_PACKAGE_EXT@-config.cmake"
HINTS ${_HDFJAVA_HINTS}
PATHS ${_HDFJAVA_PATHS}
PATH_SUFFIXES
cmake/@HDFJAVA_PACKAGE@
lib/cmake/@HDFJAVA_PACKAGE@
share/cmake/@HDFJAVA_PACKAGE@
)
FIND_PATH (HDFJAVA_LIBRARY "jarhdf5-@HDFJAVA_PACKAGE_VERSION@.jar"
HINTS ${_HDFJAVA_HINTS}
PATHS ${_HDFJAVA_PATHS}
PATH_SUFFIXES
lib
)
if (HDFJAVA_ROOT_DIR)
set (HDFJAVA_FOUND "YES")
INCLUDE (${HDFJAVA_ROOT_DIR}/@HDFJAVA_PACKAGE@@HDF_PACKAGE_EXT@-config.cmake)
set (HDFJAVA_LIBRARIES "${HDFJAVA_LIBRARY}")
set (HDFJAVA_INCLUDE_DIRS
${HDFJAVA_LIBRARY}/jarhdf-@HDFJAVA_PACKAGE_VERSION@.jar
${HDFJAVA_LIBRARY}/jarhdf5-@HDFJAVA_PACKAGE_VERSION@.jar
)
endif ()

View File

@@ -1,347 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See https://cmake.org/licensing for details.
#.rst:
# FindJNI
# -------
#
# Find JNI java libraries.
#
# This module finds if Java is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. The caller may set variable JAVA_HOME to specify a
# Java installation prefix explicitly.
#
# This module sets the following result variables:
#
# ::
#
# JNI_INCLUDE_DIRS = the include dirs to use
# JNI_LIBRARIES = the libraries to use
# JNI_FOUND = TRUE if JNI headers and libraries were found.
# JAVA_AWT_LIBRARY = the path to the jawt library
# JAVA_JVM_LIBRARY = the path to the jvm library
# JAVA_INCLUDE_PATH = the include path to jni.h
# JAVA_INCLUDE_PATH2 = the include path to jni_md.h
# JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var}
macro(java_append_library_directories _var)
# Determine java arch-specific library subdir
# Mostly based on openjdk/jdk/make/common/shared/Platform.gmk as of openjdk
# 1.6.0_18 + icedtea patches. However, it would be much better to base the
# guess on the first part of the GNU config.guess platform triplet.
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "x86_64-linux-gnux32")
set(_java_libarch "x32" "amd64" "i386")
else()
set(_java_libarch "amd64" "i386")
endif()
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
set(_java_libarch "i386")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
set(_java_libarch "alpha")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
# Subdir is "arm" for both big-endian (arm) and little-endian (armel).
set(_java_libarch "arm" "aarch32")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
# mips* machines are bi-endian mostly so processor does not tell
# endianess of the underlying system.
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb" "mips64" "mips64el" "mipsn32" "mipsn32el")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
set(_java_libarch "ppc64" "ppc64le")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
set(_java_libarch "ppc64" "ppc")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
set(_java_libarch "ppc" "ppc64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
# Both flavours can run on the same processor
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
set(_java_libarch "parisc" "parisc64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
# s390 binaries can run on s390x machines
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
set(_java_libarch "sh")
else()
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
endif()
# Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or
# system is non-Linux (where the code above has not been well tested)
if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
list(APPEND _java_libarch "i386" "amd64" "ppc")
endif()
# Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer
# current value to a hardcoded list. Remove possible duplicates.
list(REMOVE_DUPLICATES _java_libarch)
foreach(_path ${ARGN})
if(_path MATCHES "{libarch}")
foreach(_libarch ${_java_libarch})
string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
if(EXISTS ${_newpath})
list(APPEND ${_var} "${_newpath}")
endif()
endforeach()
else()
if(EXISTS ${_path})
list(APPEND ${_var} "${_path}")
endif()
endif()
endforeach()
endmacro()
#include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindJavaCommon.cmake)
INCLUDE (CMakeFindJavaCommon)
# Save CMAKE_FIND_FRAMEWORK
if(DEFINED CMAKE_FIND_FRAMEWORK)
set(_JNI_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
else()
unset(_JNI_CMAKE_FIND_FRAMEWORK)
endif()
if(_JAVA_HOME_EXPLICIT)
set(CMAKE_FIND_FRAMEWORK NEVER)
endif()
set(JAVA_AWT_LIBRARY_DIRECTORIES)
if(_JAVA_HOME)
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
${_JAVA_HOME}/jre/lib/{libarch}
${_JAVA_HOME}/jre/lib
${_JAVA_HOME}/lib/{libarch}
${_JAVA_HOME}/lib
${_JAVA_HOME}
)
endif()
get_filename_component(java_install_version
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
)
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
/usr/java/lib
/usr/java/jre/lib
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
/usr/lib/jvm/java/lib
/usr/lib64/jvm/java/lib
/usr/lib/java/jre/lib/{libarch}
/usr/lib64/java/jre/lib/{libarch}
/usr/lib/jvm/jre/lib/{libarch}
/usr/local/lib/java/jre/lib/{libarch}
/usr/local/share/java/jre/lib/{libarch}
/usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
/usr/lib/j2sdk1.5-sun/jre/lib/{libarch}
/opt/sun-jdk-1.5.0.04/jre/lib/{libarch}
/usr/lib/jvm/java-6-sun/jre/lib/{libarch}
/usr/lib/jvm/java-1.5.0-sun/jre/lib/{libarch}
/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/{libarch} # can this one be removed according to #8821 ? Alex
/usr/lib/jvm/java-6-openjdk/jre/lib/{libarch}
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/lib/{libarch} # fedora
# Debian specific paths for default JVM
/usr/lib/jvm/default-java/jre/lib/{libarch}
/usr/lib/jvm/default-java/jre/lib
/usr/lib/jvm/default-java/lib
# Arch Linux specific paths for default JVM
/usr/lib/jvm/default/jre/lib/{libarch}
/usr/lib/jvm/default/lib/{libarch}
# Ubuntu specific paths for default JVM
/usr/lib/jvm/java-8-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
/usr/lib/jvm/java-7-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
/usr/lib/jvm/java-6-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
# OpenBSD specific paths for default JVM
/usr/local/jdk-1.7.0/jre/lib/{libarch}
/usr/local/jre-1.7.0/lib/{libarch}
/usr/local/jdk-1.6.0/jre/lib/{libarch}
/usr/local/jre-1.6.0/lib/{libarch}
# SuSE specific paths for default JVM
/usr/lib64/jvm/java/jre/lib/{libarch}
/usr/lib64/jvm/jre/lib/{libarch}
)
set(JAVA_JVM_LIBRARY_DIRECTORIES)
foreach(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
list(APPEND JAVA_JVM_LIBRARY_DIRECTORIES
"${dir}"
"${dir}/client"
"${dir}/server"
# IBM SDK, Java Technology Edition, specific paths
"${dir}/j9vm"
"${dir}/default"
)
endforeach()
set(JAVA_AWT_INCLUDE_DIRECTORIES)
if(_JAVA_HOME)
list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES ${_JAVA_HOME}/include)
endif()
list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
)
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
${_JAVA_HOME}/include
/usr/include
/usr/java/include
/usr/local/include
/usr/lib/java/include
/usr/lib64/java/include
/usr/local/lib/java/include
/usr/lib/jvm/java/include
/usr/lib/jvm/java-6-sun/include
/usr/lib/jvm/java-1.5.0-sun/include
/usr/lib/jvm/java-6-sun-1.6.0.00/include # can this one be removed according to #8821 ? Alex
/usr/lib/jvm/java-6-openjdk/include
/usr/lib/jvm/java-7-openjdk/include
/usr/lib64/jvm/java-7-openjdk/include
/usr/lib64/jvm/java-7-openjdk-amd64/include
/usr/lib/jvm/java-8-openjdk-{libarch}/include # ubuntu 15.10
/usr/lib/jvm/java-7-openjdk-{libarch}/include # ubuntu 15.10
/usr/lib/jvm/java-6-openjdk-{libarch}/include # ubuntu 15.10
/usr/local/share/java/include
/usr/lib/j2sdk1.4-sun/include
/usr/lib/j2sdk1.5-sun/include
/opt/sun-jdk-1.5.0.04/include
# Debian specific path for default JVM
/usr/lib/jvm/default-java/include
# Arch specific path for default JVM
/usr/lib/jvm/default/include
# OpenBSD specific path for default JVM
/usr/local/jdk-1.7.0/include
/usr/local/jdk-1.6.0/include
# SuSE specific paths for default JVM
/usr/lib64/jvm/java/include
)
foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
get_filename_component(jpath "${JAVA_PROG}" PATH)
foreach(JAVA_INC_PATH ../include ../java/include ../share/java/include)
if(EXISTS ${jpath}/${JAVA_INC_PATH})
list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES "${jpath}/${JAVA_INC_PATH}")
endif()
endforeach()
foreach(JAVA_LIB_PATH
../lib ../jre/lib ../jre/lib/i386
../java/lib ../java/jre/lib ../java/jre/lib/i386
../share/java/lib ../share/java/jre/lib ../share/java/jre/lib/i386)
if(EXISTS ${jpath}/${JAVA_LIB_PATH})
list(APPEND JAVA_AWT_LIBRARY_DIRECTORIES "${jpath}/${JAVA_LIB_PATH}")
endif()
endforeach()
endforeach()
if(APPLE)
if(CMAKE_FIND_FRAMEWORK STREQUAL "ONLY")
set(_JNI_SEARCHES FRAMEWORK)
elseif(CMAKE_FIND_FRAMEWORK STREQUAL "NEVER")
set(_JNI_SEARCHES NORMAL)
elseif(CMAKE_FIND_FRAMEWORK STREQUAL "LAST")
set(_JNI_SEARCHES NORMAL FRAMEWORK)
else()
set(_JNI_SEARCHES FRAMEWORK NORMAL)
endif()
set(_JNI_FRAMEWORK_JVM NAMES JavaVM)
set(_JNI_FRAMEWORK_JAWT "${_JNI_FRAMEWORK_JVM}")
else()
set(_JNI_SEARCHES NORMAL)
endif()
set(_JNI_NORMAL_JVM
NAMES jvm
PATHS ${JAVA_JVM_LIBRARY_DIRECTORIES}
)
set(_JNI_NORMAL_JAWT
NAMES jawt
PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
)
foreach(search ${_JNI_SEARCHES})
find_library(JAVA_JVM_LIBRARY ${_JNI_${search}_JVM})
find_library(JAVA_AWT_LIBRARY ${_JNI_${search}_JAWT})
if(JAVA_JVM_LIBRARY)
break()
endif()
endforeach()
unset(_JNI_SEARCHES)
unset(_JNI_FRAMEWORK_JVM)
unset(_JNI_FRAMEWORK_JAWT)
unset(_JNI_NORMAL_JVM)
unset(_JNI_NORMAL_JAWT)
# Find headers matching the library.
if("${JAVA_JVM_LIBRARY};${JAVA_AWT_LIBRARY};" MATCHES "(/JavaVM.framework|-framework JavaVM);")
set(CMAKE_FIND_FRAMEWORK ONLY)
else()
set(CMAKE_FIND_FRAMEWORK NEVER)
endif()
# add in the include path
find_path(JAVA_INCLUDE_PATH jni.h
${JAVA_AWT_INCLUDE_DIRECTORIES}
)
find_path(JAVA_INCLUDE_PATH2 NAMES jni_md.h jniport.h
PATHS
${JAVA_INCLUDE_PATH}
${JAVA_INCLUDE_PATH}/darwin
${JAVA_INCLUDE_PATH}/win32
${JAVA_INCLUDE_PATH}/linux
${JAVA_INCLUDE_PATH}/freebsd
${JAVA_INCLUDE_PATH}/openbsd
${JAVA_INCLUDE_PATH}/solaris
${JAVA_INCLUDE_PATH}/hp-ux
${JAVA_INCLUDE_PATH}/alpha
${JAVA_INCLUDE_PATH}/aix
)
find_path(JAVA_AWT_INCLUDE_PATH jawt.h
${JAVA_INCLUDE_PATH}
)
# Restore CMAKE_FIND_FRAMEWORK
if(DEFINED _JNI_CMAKE_FIND_FRAMEWORK)
set(CMAKE_FIND_FRAMEWORK ${_JNI_CMAKE_FIND_FRAMEWORK})
unset(_JNI_CMAKE_FIND_FRAMEWORK)
else()
unset(CMAKE_FIND_FRAMEWORK)
endif()
#include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
INCLUDE (FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI DEFAULT_MSG JAVA_AWT_LIBRARY
JAVA_JVM_LIBRARY
JAVA_INCLUDE_PATH
JAVA_INCLUDE_PATH2
JAVA_AWT_INCLUDE_PATH)
mark_as_advanced(
JAVA_AWT_LIBRARY
JAVA_JVM_LIBRARY
JAVA_AWT_INCLUDE_PATH
JAVA_INCLUDE_PATH
JAVA_INCLUDE_PATH2
)
set(JNI_LIBRARIES
${JAVA_AWT_LIBRARY}
${JAVA_JVM_LIBRARY}
)
set(JNI_INCLUDE_DIRS
${JAVA_INCLUDE_PATH}
${JAVA_INCLUDE_PATH2}
${JAVA_AWT_INCLUDE_PATH}
)

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. */
@@ -402,7 +393,7 @@
/* Define if we have thread safe support */
#cmakedefine H5_HAVE_THREADSAFE @H5_HAVE_THREADSAFE@
/* Define if `timezone' is a global variable */
/* Define if timezone is a global variable */
#cmakedefine H5_HAVE_TIMEZONE @H5_HAVE_TIMEZONE@
/* Define if the ioctl TIOCGETD is defined */
@@ -414,7 +405,7 @@
/* Define to 1 if you have the `tmpfile' function. */
#cmakedefine H5_HAVE_TMPFILE @H5_HAVE_TMPFILE@
/* Define if `tm_gmtoff' is a member of `struct tm' */
/* Define if tm_gmtoff is a member of struct tm */
#cmakedefine H5_HAVE_TM_GMTOFF @H5_HAVE_TM_GMTOFF@
/* Define to 1 if you have the <unistd.h> header file. */
@@ -435,7 +426,7 @@
/* Define if your system has window style path name. */
#cmakedefine H5_HAVE_WINDOW_PATH @H5_HAVE_WINDOW_PATH@
/* Define to 1 if you have the <winsock.h> header file. */
/* Define to 1 if you have the <winsock2.h> header file. */
#cmakedefine H5_HAVE_WINSOCK2_H @H5_HAVE_WINSOCK2_H@
/* Define to 1 if you have the <zlib.h> header file. */
@@ -453,7 +444,7 @@
/* Define if the compiler understands __inline__ */
#cmakedefine H5_HAVE___INLINE__ @H5_HAVE___INLINE__@
/* Define if HDF5's high-level library headers should be included in hdf5.h */
/* Define if the high-level library headers should be included in hdf5.h */
#cmakedefine H5_INCLUDE_HL @H5_INCLUDE_HL@
/* Define if your system can convert long double to (unsigned) long long
@@ -472,15 +463,15 @@
with special algorithm. */
#cmakedefine H5_LONG_TO_LDOUBLE_SPECIAL @H5_LONG_TO_LDOUBLE_SPECIAL@
/* Define if your system is power6 and cannot convert some long double values. */
#cmakedefine H5_DISABLE_SOME_LDOUBLE_CONV @H5_DISABLE_SOME_LDOUBLE_CONV@
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#cmakedefine H5_LT_OBJDIR @H5_LT_OBJDIR@
/* Define to enable internal memory allocation sanity checking. */
/* #cmakedefine H5_MEMORY_ALLOC_SANITY_CHECK @H5_MEMORY_ALLOC_SANITY_CHECK@ ** Define in CMakeLists.txt */
/* Define if the metadata trace file code is to be compiled in */
#cmakedefine H5_METADATA_TRACE_FILE @H5_METADATA_TRACE_FILE@
/* Define if we can violate pointer alignment restrictions */
#cmakedefine H5_NO_ALIGNMENT_RESTRICTIONS @H5_NO_ALIGNMENT_RESTRICTIONS@
@@ -614,6 +605,9 @@
/* The size of `short', as computed by sizeof. */
#cmakedefine H5_SIZEOF_SHORT @H5_SIZEOF_SHORT@
/* The size of `time_t', as computed by sizeof. */
#cmakedefine H5_SIZEOF_TIME_T @H5_SIZEOF_TIME_T@
/* The size of `uint16_t', as computed by sizeof. */
#cmakedefine H5_SIZEOF_UINT16_T @H5_SIZEOF_UINT16_T@
@@ -681,6 +675,9 @@
/* Define using v1.8 public API symbols by default */
#cmakedefine H5_USE_18_API_DEFAULT @H5_USE_18_API_DEFAULT@
/* Define using v1.10 public API symbols by default */
#cmakedefine H5_USE_110_API_DEFAULT @H5_USE_110_API_DEFAULT@
/* Define if a memory checking tool will be used on the library, to cause
library to be very picky about memory operations and also disable the
internal free list manager code. */

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,50 +355,50 @@ ENABLE_LANGUAGE (C)
# The provided CMake C macros don't provide a general compile/run function
# so this one is used.
#-----------------------------------------------------------------------------
macro (C_RUN FUNCTION CODE RETURN)
message (STATUS "Detecting C ${FUNCTION}")
if (CMAKE_REQUIRED_LIBRARIES)
macro (C_RUN FUNCTION_NAME SOURCE_CODE RETURN_VAR)
message (STATUS "Detecting C ${FUNCTION_NAME}")
if (HDF5_REQUIRED_LIBRARIES)
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
else ()
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
endif ()
file (WRITE
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
${CODE}
${SOURCE_CODE}
)
TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
RUN_OUTPUT_VARIABLE OUTPUT
RUN_OUTPUT_VARIABLE OUTPUT_VAR
)
set (${RETURN} ${OUTPUT})
set (${RETURN_VAR} ${OUTPUT_VAR})
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
#message ( "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
#message ( "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ")
#message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
#message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
#message (STATUS "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
#message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
#message (STATUS "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ")
#message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
if (${COMPILE_RESULT_VAR})
if (${RUN_RESULT_VAR} MATCHES 1)
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION}")
message (STATUS "Testing C ${FUNCTION} - OK")
set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
message (STATUS "Testing C ${FUNCTION_NAME} - OK")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the C ${FUNCTION} exists passed with the following output:\n"
"${OUTPUT}\n\n"
"Determining if the C ${FUNCTION_NAME} exists passed with the following output:\n"
"${OUTPUT_VAR}\n\n"
)
else ()
message (STATUS "Testing C ${FUNCTION} - Fail")
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION}")
message (STATUS "Testing C ${FUNCTION_NAME} - Fail")
set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION_NAME}")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the C ${FUNCTION} exists failed with the following output:\n"
"${OUTPUT}\n\n")
"Determining if the C ${FUNCTION_NAME} exists failed with the following output:\n"
"${OUTPUT_VAR}\n\n")
endif ()
else ()
message (FATAL_ERROR "Compilation of C ${FUNCTION} - Failed")
message (FATAL_ERROR "Compilation of C ${FUNCTION_NAME} - Failed")
endif ()
endmacro ()
@@ -423,9 +406,9 @@ set (PROG_SRC
"
#include <float.h>
#include <stdio.h>
#define CHECK_FLOAT128 ${SIZEOF___FLOAT128}
#define CHECK_FLOAT128 ${${HDF_PREFIX}_SIZEOF___FLOAT128}
#if CHECK_FLOAT128!=0
# if ${${HDF_PREFIX}_HAVE_QUADMATH}!=0
# if ${${HDF_PREFIX}_HAVE_QUADMATH_H}!=0
#include <quadmath.h>
# endif
# ifdef FLT128_DIG
@@ -460,9 +443,9 @@ string (REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
list (GET PROG_OUTPUT 0 LDBL_DIG)
list (GET PROG_OUTPUT 1 FLT128_DIG)
if (SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
if (${HDF_PREFIX}_SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
set (${HDF_PREFIX}_HAVE_FLOAT128 0)
set (SIZEOF___FLOAT128 0)
set (${HDF_PREFIX}_SIZEOF___FLOAT128 0)
set (${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${LDBL_DIG})
else ()
set(${HDF_PREFIX}_PAC_C_MAX_REAL_PRECISION ${FLT128_DIG})

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

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

File diff suppressed because it is too large Load Diff

View File

@@ -1,16 +1,17 @@
# Distributed under the OSI-approved BSD 3-Clause License. See https://cmake.org/licensing for details.
#.rst:
# UseJavaClassFilelist
# --------------------
#
#
#
#
#
# This script create a list of compiled Java class files to be added to
# a jar file. This avoids including cmake files which get created in
# the binary directory.
#[=======================================================================[.rst:
UseJavaClassFilelist
--------------------
This script create a list of compiled Java class files to be added to
a jar file. This avoids including cmake files which get created in
the binary directory.
#]=======================================================================]
if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
if (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")

View File

@@ -1,14 +1,15 @@
# Distributed under the OSI-approved BSD 3-Clause License. See https://cmake.org/licensing for details.
#.rst:
# UseJavaSymlinks
# ---------------
#
#
#
#
#
# Helper script for UseJava.cmake
#[=======================================================================[.rst:
UseJavaSymlinks
---------------
Helper script for UseJava.cmake
#]=======================================================================]
if (UNIX AND _JAVA_TARGET_OUTPUT_LINK)
if (_JAVA_TARGET_OUTPUT_NAME)

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

@@ -19,6 +19,8 @@ set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Framework
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE)

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,13 +38,17 @@ set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
set (${HDF5_PACKAGE_NAME}_BUILD_JAVA @HDF5_BUILD_JAVA@)
set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
set (${HDF5_PACKAGE_NAME}_ENABLE_THREADSAFE @HDF5_ENABLE_THREADSAFE@)
set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@)
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@)
set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@)
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @H5_ENABLE_SHARED_LIB@)
set (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS @H5_ENABLE_STATIC_LIB@)
set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@)
set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@)
set (${HDF5_PACKAGE_NAME}_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
set (${HDF5_PACKAGE_NAME}_DEFAULT_API_VERSION "@DEFAULT_API_VERSION@")
set (${HDF5_PACKAGE_NAME}_PARALLEL_FILTERED_WRITES "@PARALLEL_FILTERED_WRITES@")
#-----------------------------------------------------------------------------
# Dependencies
@@ -105,10 +109,10 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@)
# project which has already built hdf5 as a subproject
#-----------------------------------------------------------------------------
if (NOT TARGET "@HDF5_PACKAGE@")
if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib")
if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip")
if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS)
include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
@@ -116,22 +120,28 @@ endif ()
# Handle default component(static) :
if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
if (${HDF5_PACKAGE_NAME}_BUILD_STATIC_LIBS)
set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL static)
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_static_C true)
else ()
set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL shared)
set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_shared_C true)
endif ()
endif ()
# Handle requested components:
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
if (${comp} STREQUAL "shared")
if (comp STREQUAL "shared")
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN)
set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@/shared")
endif ()
elseif (${comp} STREQUAL "static")
elseif (comp STREQUAL "static")
list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
@@ -143,32 +153,32 @@ endforeach ()
foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
set (hdf5_comp2)
if (${comp} STREQUAL "C")
if (comp STREQUAL "C")
set (hdf5_comp "hdf5")
elseif (${comp} STREQUAL "CXX")
elseif (comp STREQUAL "CXX")
set (hdf5_comp "hdf5_cpp")
elseif (${comp} STREQUAL "HL")
elseif (comp STREQUAL "HL")
set (hdf5_comp "hdf5_hl")
elseif (${comp} STREQUAL "CXX_HL")
elseif (comp STREQUAL "CXX_HL")
set (hdf5_comp "hdf5_hl_cpp")
elseif (${comp} STREQUAL "Java")
elseif (comp STREQUAL "Java")
set (hdf5_comp "hdf5_java")
elseif (${comp} STREQUAL "Tools")
elseif (comp STREQUAL "Tools")
set (hdf5_comp "hdf5_tools")
elseif (${comp} STREQUAL "Fortran")
elseif (comp STREQUAL "Fortran")
set (hdf5_comp2 "hdf5_f90cstub")
set (hdf5_comp "hdf5_fortran")
elseif (${comp} STREQUAL "Fortran_HL")
elseif (comp STREQUAL "Fortran_HL")
set (hdf5_comp2 "hdf5_hl_f90cstub")
set (hdf5_comp "hdf5_hl_fortran")
endif ()
if (${comp} STREQUAL "Java")
if (comp STREQUAL "Java")
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
else ()
list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}-${libtype}" HAVE_COMP)
endif ()
if (${HAVE_COMP} LESS 0)
if (${comp} STREQUAL "Java")
if (comp STREQUAL "Java")
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
else ()
set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
@@ -183,7 +193,7 @@ foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} @HDF5_PACKAGE@::${hdf5_comp2}-${libtype} @HDF5_PACKAGE@::${hdf5_comp}-${libtype})
endif ()
elseif (${comp} STREQUAL "Java")
elseif (comp STREQUAL "Java")
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
set (${COMP_LIBRARY} ${${COMP_LIBRARY}} hdf5::${hdf5_comp})

View File

@@ -9,7 +9,7 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
# runTest.cmake executes a command and captures the output in a file. File is then compared
# jrunTest.cmake executes a command and captures the output in a file. File is then compared
# against a reference file. Exit status of command can also be compared.
cmake_policy(SET CMP0007 NEW)
@@ -24,7 +24,7 @@ if (NOT TEST_LIBRARY_DIRECTORY)
message (STATUS "Require TEST_LIBRARY_DIRECTORY to be defined")
endif ()
if (NOT TEST_FOLDER)
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
message (FATAL_ERROR "Require TEST_FOLDER to be defined")
endif ()
if (NOT TEST_OUTPUT)
message (FATAL_ERROR "Require TEST_OUTPUT to be defined")
@@ -32,9 +32,6 @@ endif ()
if (NOT TEST_CLASSPATH)
message (STATUS "Require TEST_CLASSPATH to be defined")
endif ()
if (NOT TEST_REFERENCE)
message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
endif ()
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT})
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT})
@@ -44,14 +41,6 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
file (REMOVE ${TEST_FOLDER}/${TEST_OUTPUT}.err)
endif ()
# if there is not an error reference file add the error output to the stdout file
if (NOT TEST_ERRREF)
if (NOT SKIP_APPEND)
# append error file since skip was not defined
set (ERROR_APPEND 1)
endif ()
endif ()
if (NOT TEST_LOG_LEVEL)
set (LOG_LEVEL "info")
else ()
@@ -62,6 +51,8 @@ message (STATUS "COMMAND: ${TEST_TESTER} -Xmx1024M -Dorg.slf4j.simpleLogger.defa
if (WIN32 AND NOT MINGW)
set (ENV{PATH} "$ENV{PATH}\\;${TEST_LIBRARY_DIRECTORY}")
else ()
set (ENV{LD_LIBRARY_PATH} "$ENV{LD_LIBRARY_PATH}:${TEST_LIBRARY_DIRECTORY}")
endif ()
# run the test program, capture the stdout/stderr and the result var
@@ -75,6 +66,7 @@ execute_process (
RESULT_VARIABLE TEST_RESULT
OUTPUT_FILE ${TEST_OUTPUT}
ERROR_FILE ${TEST_OUTPUT}.err
OUTPUT_VARIABLE TEST_OUT
ERROR_VARIABLE TEST_ERROR
)
@@ -88,10 +80,10 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
endif ()
if (NOT ERROR_APPEND)
# append error output to the stdout output file
# write back to original .err file
file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT}.err "${TEST_STREAM}")
else ()
# write back to original .err file
# append error output to the stdout output file
file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
endif ()
endif ()
@@ -121,8 +113,8 @@ if (TEST_MASK_ERROR)
endif ()
endif ()
# if the return value is !=0 bail out
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
# if the return value is !=expected bail out
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
message (STATUS "ERROR OUTPUT: ${TEST_STREAM}")
message (FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != 0.\n${TEST_ERROR}")
endif ()
@@ -131,52 +123,65 @@ message (STATUS "COMMAND Error: ${TEST_ERROR}")
# compare output files to references unless this must be skipped
if (NOT TEST_SKIP_COMPARE)
if (WIN32 AND NOT MINGW)
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
endif ()
if (EXISTS ${TEST_FOLDER}/${TEST_REFERENCE})
if (WIN32 AND NOT MINGW)
file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
endif ()
# now compare the output with the reference
execute_process (
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
RESULT_VARIABLE TEST_RESULT
)
if (NOT "${TEST_RESULT}" STREQUAL "0")
set (TEST_RESULT 0)
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
list (LENGTH test_act len_act)
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
list (LENGTH test_ref len_ref)
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
math (EXPR _FP_LEN "${len_ref} - 1")
foreach (line RANGE 0 ${_FP_LEN})
list (GET test_act ${line} str_act)
list (GET test_ref ${line} str_ref)
if (NOT "${str_act}" STREQUAL "${str_ref}")
if (NOT "${str_act}" STREQUAL "")
set (TEST_RESULT 1)
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
endif ()
endif ()
endforeach ()
if (NOT TEST_SORT_COMPARE)
# now compare the output with the reference
execute_process (
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
RESULT_VARIABLE TEST_RESULT
)
else ()
if ("${len_act}" STREQUAL "0")
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
endif ()
if ("${len_ref}" STREQUAL "0")
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} v1)
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} v2)
list (SORT v1)
list (SORT v2)
if (NOT v1 STREQUAL v2)
set(TEST_RESULT 1)
endif ()
endif ()
if (NOT "${len_act}" STREQUAL "${len_ref}")
set (TEST_RESULT 1)
if (TEST_RESULT)
set (TEST_RESULT 0)
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
list (LENGTH test_act len_act)
file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
list (LENGTH test_ref len_ref)
if (len_act GREATER 0 AND len_ref GREATER 0)
math (EXPR _FP_LEN "${len_ref} - 1")
foreach (line RANGE 0 ${_FP_LEN})
list (GET test_act ${line} str_act)
list (GET test_ref ${line} str_ref)
if (NOT str_act STREQUAL str_ref)
if (str_act)
set (TEST_RESULT 1)
message (STATUS "line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
endif ()
endif ()
endforeach ()
else ()
if (len_act EQUAL 0)
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT} is empty")
endif ()
if (len_ref EQUAL 0)
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_REFERENCE} is empty")
endif ()
endif ()
if (NOT len_act EQUAL len_ref)
set (TEST_RESULT 1)
endif ()
endif ()
endif ()
message (STATUS "COMPARE Result: ${TEST_RESULT}")
message (STATUS "COMPARE Result: ${TEST_RESULT}")
# again, if return value is !=0 scream and shout
if (NOT "${TEST_RESULT}" STREQUAL "0")
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
# again, if return value is !=0 scream and shout
if (TEST_RESULT)
message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
endif ()
endif ()
# now compare the .err file with the error reference, if supplied
@@ -191,34 +196,34 @@ if (NOT TEST_SKIP_COMPARE)
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
RESULT_VARIABLE TEST_RESULT
)
if (NOT "${TEST_RESULT}" STREQUAL "0")
if (TEST_RESULT)
set (TEST_RESULT 0)
file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
list (LENGTH test_act len_act)
file (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
list (LENGTH test_ref len_ref)
math (EXPR _FP_LEN "${len_ref} - 1")
if (NOT "${len_act}" STREQUAL "0" AND NOT "${len_ref}" STREQUAL "0")
if (len_act GREATER 0 AND len_ref GREATER 0)
math (EXPR _FP_LEN "${len_ref} - 1")
foreach (line RANGE 0 ${_FP_LEN})
list (GET test_act ${line} str_act)
list (GET test_ref ${line} str_ref)
if (NOT "${str_act}" STREQUAL "${str_ref}")
if (NOT "${str_act}" STREQUAL "")
if (NOT str_act STREQUAL str_ref)
if (str_act)
set (TEST_RESULT 1)
message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
message (STATUS "line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
endif ()
endif ()
endforeach ()
else ()
if ("${len_act}" STREQUAL "0")
if (len_act EQUAL 0)
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_OUTPUT}.err is empty")
endif ()
if ("${len_ref}" STREQUAL "0")
if (len_ref EQUAL 0)
message (STATUS "COMPARE Failed: ${TEST_FOLDER}/${TEST_ERRREF} is empty")
endif ()
endif()
if (NOT "${len_act}" STREQUAL "${len_ref}")
endif ()
if (NOT len_act EQUAL len_ref)
set (TEST_RESULT 1)
endif ()
endif ()
@@ -226,7 +231,7 @@ if (NOT TEST_SKIP_COMPARE)
message (STATUS "COMPARE Result: ${TEST_RESULT}")
# again, if return value is !=0 scream and shout
if (NOT ${TEST_RESULT} STREQUAL 0)
if (TEST_RESULT)
message (FATAL_ERROR "Failed: The error output of ${TEST_OUTPUT}.err did not match ${TEST_ERRREF}")
endif ()
endif ()
@@ -239,20 +244,20 @@ if (TEST_GREP_COMPARE)
# TEST_REFERENCE should always be matched
string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
if ("${TEST_RESULT}" STREQUAL "0")
if (NOT TEST_RESULT)
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
endif ()
string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
if ("${TEST_EXPECT}" STREQUAL "1")
if (TEST_EXPECT)
# TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
string (LENGTH "${TEST_MATCH}" TEST_RESULT)
if (NOT "${TEST_RESULT}" STREQUAL "0")
if (TEST_RESULT)
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
endif ()
endif ()
endif ()
# everything went fine...
message ("${TEST_PROGRAM} Passed")
message (STATUS "${TEST_PROGRAM} Passed")

View File

@@ -32,7 +32,7 @@ Linking Options:
Languages:
----------
C: yes
C: YES
C Compiler: @CMAKE_C_COMPILER@ @CMAKE_C_COMPILER_VERSION@
CPPFLAGS: @CPPFLAGS@
H5_CPPFLAGS: @H5_CPPFLAGS@
@@ -41,7 +41,7 @@ Languages:
H5_CFLAGS: @H5_CFLAGS@
AM_CFLAGS: @AM_CFLAGS@
Shared C Library: @H5_ENABLE_SHARED_LIB@
Static C Library: YES
Static C Library: @H5_ENABLE_STATIC_LIB@
Fortran: @HDF5_BUILD_FORTRAN@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Compiler: @CMAKE_Fortran_COMPILER@ @CMAKE_Fortran_COMPILER_VERSION@
@@ -49,7 +49,7 @@ Languages:
@BUILD_FORTRAN_CONDITIONAL_TRUE@ H5 Fortran Flags: @H5_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ AM Fortran Flags: @AM_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Shared Fortran Library: @H5_ENABLE_SHARED_LIB@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: YES
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: @H5_ENABLE_STATIC_LIB@
C++: @HDF5_BUILD_CPP_LIB@
@BUILD_CXX_CONDITIONAL_TRUE@ C++ Compiler: @CMAKE_CXX_COMPILER@ @CMAKE_CXX_COMPILER_VERSION@
@@ -57,27 +57,30 @@ Languages:
@BUILD_CXX_CONDITIONAL_TRUE@ H5 C++ Flags: @H5_CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ AM C++ Flags: @AM_CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @H5_ENABLE_SHARED_LIB@
@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: YES
@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: @H5_ENABLE_STATIC_LIB@
JAVA: @HDF5_BUILD_JAVA@
@BUILD_JAVA_CONDITIONAL_TRUE@ JAVA Compiler: @CMAKE_Java_COMPILER@ @Java_VERSION@
@BUILD_JAVA_CONDITIONAL_TRUE@ JAVA Compiler: @CMAKE_Java_COMPILER@ @Java_VERSION@
Features:
---------
Parallel HDF5: @HDF5_ENABLE_PARALLEL@
High-level library: @HDF5_BUILD_HL_LIB@
Threadsafety: @HDF5_ENABLE_THREADSAFE@
Default API mapping: @DEFAULT_API_VERSION@
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
I/O filters (external): @EXTERNAL_FILTERS@
MPE: @H5_HAVE_LIBLMPE@
Direct VFD: @H5_HAVE_DIRECT@
dmalloc: @H5_HAVE_LIBDMALLOC@
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
API Tracing: @HDF5_ENABLE_TRACE@
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@
Memory allocation sanity checks: @HDF5_MEMORY_ALLOC_SANITY_CHECK@
Metadata trace file: @METADATATRACEFILE@
Function Stack Tracing: @HDF5_ENABLE_CODESTACK@
Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@
Optimization Instrumentation: @HDF5_Enable_Instrument@
Parallel HDF5: @HDF5_ENABLE_PARALLEL@
Parallel Filtered Dataset Writes: @PARALLEL_FILTERED_WRITES@
Large Parallel I/O: @LARGE_PARALLEL_IO@
High-level library: @HDF5_BUILD_HL_LIB@
Build HDF5 Tests: @BUILD_TESTING@
Build HDF5 Tools: @HDF5_BUILD_TOOLS@
Threadsafety: @HDF5_ENABLE_THREADSAFE@
Default API mapping: @DEFAULT_API_VERSION@
With deprecated public symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
I/O filters (external): @EXTERNAL_FILTERS@
MPE: @H5_HAVE_LIBLMPE@
Direct VFD: @H5_HAVE_DIRECT@
dmalloc: @H5_HAVE_LIBDMALLOC@
Packages w/ extra debug output: @INTERNAL_DEBUG_OUTPUT@
API Tracing: @HDF5_ENABLE_TRACE@
Using memory checker: @HDF5_ENABLE_USING_MEMCHECKER@
Memory allocation sanity checks: @HDF5_MEMORY_ALLOC_SANITY_CHECK@
Function Stack Tracing: @HDF5_ENABLE_CODESTACK@
Strict File Format Checks: @HDF5_STRICT_FORMAT_CHECKS@
Optimization Instrumentation: @HDF5_Enable_Instrument@

View File

@@ -23,6 +23,8 @@ set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace" FORCE)
set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE)
set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)

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>

View File

@@ -9,294 +9,348 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
cmake_minimum_required (VERSION 3.10)
########################################################
# This dashboard is maintained by The HDF Group
# For any comments please contact cdashhelp@hdfgroup.org
#
########################################################
# -----------------------------------------------------------
# -- Get environment
# -----------------------------------------------------------
if (NOT SITE_OS_NAME)
## machine name not provided - attempt to discover with uname
## -- set hostname
## --------------------------
find_program (HOSTNAME_CMD NAMES hostname)
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
find_program (UNAME NAMES uname)
macro (getuname name flag)
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
endmacro ()
getuname (osname -s)
getuname (osrel -r)
getuname (cpu -m)
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
if (SITE_BUILDNAME_SUFFIX)
set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
endif ()
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS}")
else ()
## machine name provided
## --------------------------
if (CMAKE_HOST_UNIX)
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
else ()
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
endif ()
if (SITE_BUILDNAME_SUFFIX)
set (CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
endif ()
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
endif ()
#-----------------------------------------------------------------------------
# MAC machines need special option
#-----------------------------------------------------------------------------
if (APPLE)
# Compiler choice
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
set (ENV{CC} "${XCODE_CC}")
set (ENV{CXX} "${XCODE_CXX}")
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
endif ()
#-----------------------------------------------------------------------------
set (NEED_REPOSITORY_CHECKOUT 0)
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
if (CTEST_USE_TAR_SOURCE)
## Uncompress source if tar file provided
## --------------------------
if (WIN32)
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
else ()
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar]")
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
endif ()
if (NOT rv EQUAL 0)
message (STATUS "extracting... [error-(${rv}) clean up]")
file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
message (FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
endif ()
file (RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
set (LOCAL_SKIP_UPDATE "TRUE")
else ()
if (LOCAL_UPDATE)
if (CTEST_USE_GIT_SOURCE)
find_program (CTEST_GIT_COMMAND NAMES git git.cmd)
set (CTEST_GIT_UPDATE_OPTIONS)
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
set (NEED_REPOSITORY_CHECKOUT 1)
endif ()
if (${NEED_REPOSITORY_CHECKOUT})
if (REPOSITORY_BRANCH)
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
else ()
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
endif ()
set (CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
else ()
set (CTEST_GIT_options "pull")
endif ()
set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
else ()
## --------------------------
## use subversion to get source
#-----------------------------------------------------------------------------
## cygwin does not handle the find_package() call
## --------------------------
set (CTEST_UPDATE_COMMAND "SVNCommand")
if (NOT SITE_CYGWIN})
find_package (Subversion)
set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
else ()
set (CTEST_SVN_COMMAND "/usr/bin/svn")
set (CTEST_UPDATE_COMMAND "/usr/bin/svn")
endif ()
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
set (NEED_REPOSITORY_CHECKOUT 1)
endif ()
if (NOT CTEST_REPO_VERSION)
set (CTEST_REPO_VERSION "HEAD")
endif ()
if (${NEED_REPOSITORY_CHECKOUT})
set (CTEST_CHECKOUT_COMMAND
"\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
else ()
if (CTEST_REPO_VERSION)
set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
endif ()
endif ()
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
## Clear the build directory
## --------------------------
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
if (NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
else ()
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
endif ()
# Use multiple CPU cores to build
include (ProcessorCount)
ProcessorCount (N)
if (NOT N EQUAL 0)
if (NOT WIN32)
set (CTEST_BUILD_FLAGS -j${N})
endif ()
set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
endif ()
#-----------------------------------------------------------------------------
# Send the main script as a note.
list (APPEND CTEST_NOTES_FILES
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
"${CMAKE_CURRENT_LIST_FILE}"
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
)
#-----------------------------------------------------------------------------
# Check for required variables.
# --------------------------
foreach (req
CTEST_CMAKE_GENERATOR
CTEST_SITE
CTEST_BUILD_NAME
)
if (NOT DEFINED ${req})
message (FATAL_ERROR "The containing script must set ${req}")
endif ()
endforeach ()
#-----------------------------------------------------------------------------
# Initialize the CTEST commands
#------------------------------
if(CMAKE_GENERATOR_TOOLSET)
set(CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
else ()
set(CTEST_CONFIGURE_TOOLSET "")
endif()
if (LOCAL_MEMCHECK_TEST)
find_program (CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
set (CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
else ()
if (LOCAL_COVERAGE_TEST)
find_program (CTEST_COVERAGE_COMMAND NAMES gcov)
endif ()
set (CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
endif ()
#-----------------------------------------------------------------------------
## -- set output to english
set ($ENV{LC_MESSAGES} "en_EN")
# Print summary information.
foreach (v
CTEST_SITE
CTEST_BUILD_NAME
CTEST_SOURCE_DIRECTORY
CTEST_BINARY_DIRECTORY
CTEST_CMAKE_GENERATOR
CTEST_CONFIGURATION_TYPE
CTEST_GIT_COMMAND
CTEST_CHECKOUT_COMMAND
CTEST_CONFIGURE_COMMAND
CTEST_SCRIPT_DIRECTORY
CTEST_USE_LAUNCHERS
)
set (vars "${vars} ${v}=[${${v}}]\n")
endforeach ()
message (STATUS "Dashboard script configuration:\n${vars}\n")
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
## NORMAL process
## -- LOCAL_UPDATE updates the source folder from svn
## -- LOCAL_SUBMIT reports to CDash server
## -- LOCAL_SKIP_TEST skips the test process (only builds)
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
## -- LOCAL_COVERAGE_TEST executes code coverage process
## --------------------------
ctest_start (${MODEL} TRACK ${MODEL})
if (LOCAL_UPDATE)
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
endif ()
configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Update Configure Notes)
endif ()
if (${res} LESS 0 OR ${res} GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
endif ()
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Build)
endif ()
if (${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
endif ()
if (NOT LOCAL_SKIP_TEST)
if (NOT LOCAL_MEMCHECK_TEST)
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Test)
endif ()
if (${res} LESS 0 OR ${res} GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
endif ()
else ()
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
if (LOCAL_SUBMIT)
ctest_submit (PARTS MemCheck)
endif ()
endif ()
if (LOCAL_COVERAGE_TEST)
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Coverage)
endif ()
endif ()
endif ()
if (NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
##-----------------------------------------------
## Package the product
##-----------------------------------------------
execute_process (COMMAND cpack -C ${CTEST_CONFIGURATION_TYPE} -V
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
RESULT_VARIABLE cpackResult
OUTPUT_VARIABLE cpackLog
ERROR_VARIABLE cpackLog.err
)
file (WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
if (cpackResult GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
endif ()
endif ()
#-----------------------------------------------------------------------------
cmake_minimum_required (VERSION 3.10)
########################################################
# This dashboard is maintained by The HDF Group
# For any comments please contact cdashhelp@hdfgroup.org
#
########################################################
# -----------------------------------------------------------
# -- Get environment
# -----------------------------------------------------------
if (NOT SITE_OS_NAME)
## machine name not provided - attempt to discover with uname
## -- set hostname
## --------------------------
find_program (HOSTNAME_CMD NAMES hostname)
exec_program (${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
find_program (UNAME NAMES uname)
macro (getuname name flag)
exec_program ("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
endmacro ()
getuname (osname -s)
getuname (osrel -r)
getuname (cpu -m)
message (STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
set (CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
else ()
## machine name provided
## --------------------------
if (CMAKE_HOST_UNIX)
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
else ()
set (CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
endif ()
endif ()
if (SITE_BUILDNAME_SUFFIX)
set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX}-${CTEST_BUILD_NAME}")
endif ()
set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
#-----------------------------------------------------------------------------
# MAC machines need special option
#-----------------------------------------------------------------------------
if (APPLE)
# Compiler choice
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
set (ENV{CC} "${XCODE_CC}")
set (ENV{CXX} "${XCODE_CXX}")
set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
endif ()
#-----------------------------------------------------------------------------
set (NEED_REPOSITORY_CHECKOUT 0)
set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
if (CTEST_USE_TAR_SOURCE)
## Uncompress source if tar file provided
## --------------------------
if (WIN32)
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip]")
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
else ()
message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar]")
execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
endif ()
if (NOT rv EQUAL 0)
message (STATUS "extracting... [error-(${rv}) clean up]")
file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
message (FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
endif ()
file (RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
set (LOCAL_SKIP_UPDATE "TRUE")
else ()
if (LOCAL_UPDATE)
if (CTEST_USE_GIT_SOURCE)
find_program (CTEST_GIT_COMMAND NAMES git git.cmd)
set (CTEST_GIT_UPDATE_OPTIONS)
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
set (NEED_REPOSITORY_CHECKOUT 1)
endif ()
if (${NEED_REPOSITORY_CHECKOUT})
if (REPOSITORY_BRANCH)
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
else ()
set (CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
endif ()
set (CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
else ()
set (CTEST_GIT_options "pull")
endif ()
set (CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
else ()
## --------------------------
## use subversion to get source
#-----------------------------------------------------------------------------
## cygwin does not handle the find_package() call
## --------------------------
set (CTEST_UPDATE_COMMAND "SVNCommand")
if (NOT SITE_CYGWIN})
find_package (Subversion)
set (CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
set (CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
else ()
set (CTEST_SVN_COMMAND "/usr/bin/svn")
set (CTEST_UPDATE_COMMAND "/usr/bin/svn")
endif ()
if (NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
set (NEED_REPOSITORY_CHECKOUT 1)
endif ()
if (NOT CTEST_REPO_VERSION)
set (CTEST_REPO_VERSION "HEAD")
endif ()
if (${NEED_REPOSITORY_CHECKOUT})
set (CTEST_CHECKOUT_COMMAND
"\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
else ()
if (CTEST_REPO_VERSION)
set (CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
endif ()
endif ()
endif ()
endif ()
endif ()
#-----------------------------------------------------------------------------
## Clear the build directory
## --------------------------
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
if (NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
else ()
ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY})
endif ()
# Use multiple CPU cores to build
include (ProcessorCount)
ProcessorCount (N)
if (NOT N EQUAL 0)
if (MAX_PROC_COUNT)
if (N GREATER MAX_PROC_COUNT)
set (N ${MAX_PROC_COUNT})
endif ()
endif ()
if (NOT WIN32)
set (CTEST_BUILD_FLAGS -j${N})
endif ()
set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
endif ()
#-----------------------------------------------------------------------------
# Send the main script as a note.
list (APPEND CTEST_NOTES_FILES
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
"${CMAKE_CURRENT_LIST_FILE}"
"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
)
#-----------------------------------------------------------------------------
# Check for required variables.
# --------------------------
foreach (req
CTEST_CMAKE_GENERATOR
CTEST_SITE
CTEST_BUILD_NAME
)
if (NOT DEFINED ${req})
message (FATAL_ERROR "The containing script must set ${req}")
endif ()
endforeach ()
#-----------------------------------------------------------------------------
# Initialize the CTEST commands
#------------------------------
if (CMAKE_GENERATOR_TOOLSET)
set (CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET}")
else ()
set (CTEST_CONFIGURE_TOOLSET "")
endif()
if (LOCAL_MEMCHECK_TEST)
find_program (CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
set (CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
else ()
if (LOCAL_COVERAGE_TEST)
find_program (CTEST_COVERAGE_COMMAND NAMES gcov)
endif ()
set (CTEST_CONFIGURE_COMMAND
"${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_CONFIGURE_TOOLSET}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
endif ()
#-----------------------------------------------------------------------------
## -- set output to english
set ($ENV{LC_MESSAGES} "en_EN")
# Print summary information.
foreach (v
CTEST_SITE
CTEST_BUILD_NAME
CTEST_SOURCE_DIRECTORY
CTEST_BINARY_DIRECTORY
CTEST_CMAKE_GENERATOR
CTEST_CONFIGURATION_TYPE
CTEST_GIT_COMMAND
CTEST_CHECKOUT_COMMAND
CTEST_CONFIGURE_COMMAND
CTEST_SCRIPT_DIRECTORY
CTEST_USE_LAUNCHERS
)
set (vars "${vars} ${v}=[${${v}}]\n")
endforeach ()
message (STATUS "Dashboard script configuration:\n${vars}\n")
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
## NORMAL process
## -- LOCAL_UPDATE updates the source folder from svn
## -- LOCAL_SUBMIT reports to CDash server
## -- LOCAL_SKIP_TEST skips the test process (only builds)
## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
## -- LOCAL_COVERAGE_TEST executes code coverage process
## --------------------------
ctest_start (${MODEL} TRACK ${MODEL})
if (LOCAL_UPDATE)
ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
endif ()
configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Update Configure Notes)
endif ()
if (${res} LESS 0 OR ${res} GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
endif ()
# On Cray XC40, configuring fails in the Fortran section when using the craype-mic-knl module.
# When the configure phase is done with the craype-haswell module and the build phase is done
# with the craype-mic-knl module, configure succeeds and tests pass on the knl compute nodes
# for Intel, Cray, GCC and Clang compilers. If the variables aren't set or if not
# cross compiling, the module switch will not occur.
if (CMAKE_CROSSCOMPILING AND COMPILENODE_HWCOMPILE_MODULE AND COMPUTENODE_HWCOMPILE_MODULE)
execute_process (COMMAND module switch ${COMPILENODE_HWCOMPILE_MODULE} ${COMPUTENODE_HWCOMPILE_MODULE})
endif ()
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Build)
endif ()
if (${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
endif ()
if (NOT LOCAL_SKIP_TEST)
if (NOT LOCAL_MEMCHECK_TEST)
if (NOT LOCAL_BATCH_TEST)
ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
else ()
file(STRINGS ${CTEST_BINARY_DIRECTORY}/Testing/TAG TAG_CONTENTS REGEX "^2([0-9]+)[-]([0-9]+)$")
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "raybsub")
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
else ()
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "qsub")
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME} ctestS.out)
else ()
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME})
endif()
endif ()
message(STATUS "Check for existence of ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml")
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
while(result)
ctest_sleep(60)
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
endwhile(result)
if (LOCAL_BATCH_SCRIPT_PARALLEL_NAME)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Test)
endif ()
message(STATUS "Found ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml for serial tests. Renaming to SerialTest.xml")
file (RENAME ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/SerialTest.xml)
file (RENAME ${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastTest_${TAG_CONTENTS}.log ${CTEST_BINARY_DIRECTORY}/Testing/Temporary/LastTest_${TAG_CONTENTS}_Serial.log)
unset(result CACHE)
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "raybsub")
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
else ()
if (LOCAL_BATCH_SCRIPT_COMMAND STREQUAL "qsub")
execute_process (COMMAND ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_NAME} ctestP.out)
else ()
execute_process (COMMAND ${LOCAL_BATCH_SCRIPT_COMMAND} ${LOCAL_BATCH_SCRIPT_ARGS} ${CTEST_BINARY_DIRECTORY}/${LOCAL_BATCH_SCRIPT_PARALLEL_NAME})
endif ()
endif ()
message(STATUS "Check for existence of ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml")
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
while(result)
ctest_sleep(60)
execute_process(COMMAND ls ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
endwhile(result)
message(STATUS "Found ${CTEST_BINARY_DIRECTORY}/Testing/${TAG_CONTENTS}/Test.xml for parallel tests.")
endif()
endif ()
if (LOCAL_SUBMIT)
ctest_submit (PARTS Test)
endif ()
if (${res} LESS 0 OR ${res} GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
endif ()
else ()
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
if (LOCAL_SUBMIT)
ctest_submit (PARTS MemCheck)
endif ()
endif ()
if (LOCAL_COVERAGE_TEST)
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
if (LOCAL_SUBMIT)
ctest_submit (PARTS Coverage)
endif ()
endif ()
endif ()
if (NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
##-----------------------------------------------
## Package the product
##-----------------------------------------------
execute_process (COMMAND cpack -C ${CTEST_CONFIGURATION_TYPE} -V
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
RESULT_VARIABLE cpackResult
OUTPUT_VARIABLE cpackLog
ERROR_VARIABLE cpackLog.err
)
file (WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
if (cpackResult GREATER 0)
file (APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
endif ()
endif ()
#-----------------------------------------------------------------------------

View File

@@ -9,232 +9,254 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#############################################################################################
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
#############################################################################################
cmake_minimum_required (VERSION 3.10)
############################################################################
# Usage:
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
# where valid options for OPTION are:
# BUILD_GENERATOR - The cmake build generator:
# Unix * Unix Makefiles
#############################################################################################
### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ###
### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ###
### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log ###
#############################################################################################
cmake_minimum_required (VERSION 3.10)
############################################################################
# Usage:
# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log
# where valid options for OPTION are:
# BUILD_GENERATOR - The cmake build generator:
# Unix * Unix Makefiles
# VS2017 * Visual Studio 15 2017
# VS201764 * Visual Studio 15 2017 Win64
# VS2015 * Visual Studio 14 2015
# VS201564 * Visual Studio 14 2015 Win64
# VS2013 * Visual Studio 12 2013
# VS201364 * Visual Studio 12 2013 Win64
#
# INSTALLDIR - root folder where hdf5 is installed
# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
# CTEST_SOURCE_NAME - source folder
##############################################################################
set (CTEST_SOURCE_VERSION "1.11.2")
set (CTEST_SOURCE_VERSEXT "")
##############################################################################
# handle input parameters to script.
#BUILD_GENERATOR - which CMake generator to use, required
#INSTALLDIR - HDF5-1.10.0 root folder
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0
if (DEFINED CTEST_SCRIPT_ARG)
# transform ctest script arguments of the form
# script.ctest,var1=value1,var2=value2
# to variables with the respective names set to the respective values
string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
foreach (current_var ${script_args})
if ("${current_var}" MATCHES "^([^=]+)=(.+)$")
set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
endif ()
endforeach ()
endif ()
# build generator must be defined
if (NOT DEFINED BUILD_GENERATOR)
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
endif ()
###################################################################
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
# VS2015 * Visual Studio 14 2015
# VS201564 * Visual Studio 14 2015 Win64
# VS2013 * Visual Studio 12 2013
# VS201364 * Visual Studio 12 2013 Win64
#
# INSTALLDIR - root folder where hdf5 is installed
# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
# CTEST_SOURCE_NAME - source folder
##############################################################################
set (CTEST_SOURCE_VERSION "1.10.6")
set (CTEST_SOURCE_VERSEXT "-snap1")
##############################################################################
# handle input parameters to script.
#BUILD_GENERATOR - which CMake generator to use, required
#INSTALLDIR - HDF5-1.10.0 root folder
#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0
#MODEL - CDash group name
#HPC - run alternate configurations for HPC machines; sbatch, bsub, raybsub, qsub
#MPI - enable MPI;
if (DEFINED CTEST_SCRIPT_ARG)
# transform ctest script arguments of the form
# script.ctest,var1=value1,var2=value2
# to variables with the respective names set to the respective values
string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}")
foreach (current_var ${script_args})
if ("${current_var}" MATCHES "^([^=]+)=(.+)$")
set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}")
endif ()
endforeach ()
endif ()
#HPC - run alternate configurations for HPC machines
if (DEFINED HPC)
set (BUILD_GENERATOR "Unix")
endif ()
# build generator must be defined
if (NOT DEFINED BUILD_GENERATOR)
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
endif ()
###################################################################
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
### (default use command line -C value)
set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
###################################################################
if (NOT DEFINED INSTALLDIR)
if (WIN32)
set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
else ()
set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
endif ()
endif ()
if (NOT DEFINED CTEST_CONFIGURATION_TYPE)
set (CTEST_CONFIGURATION_TYPE "Release")
endif ()
if (NOT DEFINED CTEST_SOURCE_NAME)
set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
endif ()
set (CTEST_BINARY_NAME "build")
set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
if (WIN32)
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
else ()
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
endif ()
###################################################################
######### Following describes compiler ############
if (WIN32)
set (SITE_OS_NAME "Windows")
set (SITE_OS_VERSION "WIN7")
if (${BUILD_GENERATOR} STREQUAL "VS201764")
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2017")
set (SITE_COMPILER_VERSION "15")
elseif (${BUILD_GENERATOR} STREQUAL "VS2017")
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2017")
set (SITE_COMPILER_VERSION "15")
elseif (${BUILD_GENERATOR} STREQUAL "VS201564")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2015")
set (SITE_COMPILER_VERSION "14")
elseif (${BUILD_GENERATOR} STREQUAL "VS2015")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2015")
set (SITE_COMPILER_VERSION "14")
elseif (${BUILD_GENERATOR} STREQUAL "VS201364")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2013")
set (SITE_COMPILER_VERSION "12")
elseif (${BUILD_GENERATOR} STREQUAL "VS2013")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2013")
set (SITE_COMPILER_VERSION "12")
elseif (${BUILD_GENERATOR} STREQUAL "VS201264")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2012")
set (SITE_COMPILER_VERSION "11")
elseif (${BUILD_GENERATOR} STREQUAL "VS2012")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2012")
set (SITE_COMPILER_VERSION "11")
set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
###################################################################
if (NOT DEFINED INSTALLDIR)
if (WIN32)
set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
else ()
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
endif ()
## Set the following to unique id your computer ##
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
else ()
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
## Set the following to unique id your computer ##
if (APPLE)
set (CTEST_SITE "MAC.XXXX")
else ()
set (CTEST_SITE "LINUX.XXXX")
endif ()
if (APPLE)
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
set (ENV{CC} "${XCODE_CC}")
set (ENV{CXX} "${XCODE_CXX}")
set (CTEST_USE_LAUNCHERS 1)
set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare")
set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized")
set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat")
set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2")
set (RR_FLAGS_C "${RR_FLAGS_COMMON}")
set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}")
set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}")
set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}")
endif ()
endif ()
###################################################################
###################################################################
######### Following is for submission to CDash ############
###################################################################
set (MODEL "Experimental")
###################################################################
###################################################################
##### Following controls CDash submission #####
#set (LOCAL_SUBMIT "TRUE")
##### Following controls test process #####
#set (LOCAL_SKIP_TEST "TRUE")
#set (LOCAL_MEMCHECK_TEST "TRUE")
#set (LOCAL_COVERAGE_TEST "TRUE")
##### Following controls cpack command #####
#set (LOCAL_NO_PACKAGE "TRUE")
##### Following controls source update #####
#set (LOCAL_UPDATE "TRUE")
set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git")
set (REPOSITORY_BRANCH "develop")
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
###################################################################
###################################################################
if (WIN32)
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}")
include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake)
include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe")
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi")
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip")
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
else ()
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake)
include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
if (APPLE)
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
else ()
if (CYGWIN)
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
else ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
endif ()
endif ()
endif ()
endif ()
if (NOT DEFINED CTEST_CONFIGURATION_TYPE)
set (CTEST_CONFIGURATION_TYPE "Release")
endif ()
if (NOT DEFINED CTEST_SOURCE_NAME)
set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
endif ()
set (CTEST_BINARY_NAME "build")
set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
if (WIN32)
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
else ()
set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
endif ()
###################################################################
######### Following describes compiler ############
if (NOT DEFINED HPC)
if (NOT DEFINED BUILD_GENERATOR)
message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
endif ()
if (WIN32)
set (SITE_OS_NAME "Windows")
set (SITE_OS_VERSION "WIN7")
if (BUILD_GENERATOR STREQUAL "VS201764")
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2017")
set (SITE_COMPILER_VERSION "15")
elseif (BUILD_GENERATOR STREQUAL "VS2017")
set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2017")
set (SITE_COMPILER_VERSION "15")
elseif (BUILD_GENERATOR STREQUAL "VS201564")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2015")
set (SITE_COMPILER_VERSION "14")
elseif (BUILD_GENERATOR STREQUAL "VS2015")
set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2015")
set (SITE_COMPILER_VERSION "14")
elseif (BUILD_GENERATOR STREQUAL "VS201364")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2013")
set (SITE_COMPILER_VERSION "12")
elseif (BUILD_GENERATOR STREQUAL "VS2013")
set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2013")
set (SITE_COMPILER_VERSION "12")
elseif (BUILD_GENERATOR STREQUAL "VS201264")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
set (SITE_OS_BITS "64")
set (SITE_COMPILER_NAME "vs2012")
set (SITE_COMPILER_VERSION "11")
elseif (BUILD_GENERATOR STREQUAL "VS2012")
set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
set (SITE_OS_BITS "32")
set (SITE_COMPILER_NAME "vs2012")
set (SITE_COMPILER_VERSION "11")
else ()
message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364")
endif ()
## Set the following to unique id your computer ##
set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX")
else ()
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
## Set the following to unique id your computer ##
if (APPLE)
set (CTEST_SITE "MAC.XXXX")
else ()
set (CTEST_SITE "LINUX.XXXX")
endif ()
if (APPLE)
execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
set (ENV{CC} "${XCODE_CC}")
set (ENV{CXX} "${XCODE_CXX}")
set (CTEST_USE_LAUNCHERS 1)
set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare")
set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized")
set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat")
set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2")
set (RR_FLAGS_C "${RR_FLAGS_COMMON}")
set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}")
set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}")
set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}")
endif ()
endif ()
else ()
set (CTEST_SITE "${SITE_OS_NAME}")
set (CTEST_CMAKE_GENERATOR "Unix Makefiles")
endif ()
###################################################################
###################################################################
######### Following is for submission to CDash ############
###################################################################
if (NOT DEFINED MODEL)
set (MODEL "Experimental")
endif ()
###################################################################
###################################################################
##### Following controls CDash submission #####
#set (LOCAL_SUBMIT "TRUE")
##### Following controls test process #####
#set (LOCAL_SKIP_TEST "TRUE")
#set (LOCAL_MEMCHECK_TEST "TRUE")
#set (LOCAL_COVERAGE_TEST "TRUE")
##### Following controls cpack command #####
#set (LOCAL_NO_PACKAGE "TRUE")
##### Following controls source update #####
#set (LOCAL_UPDATE "TRUE")
set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git")
set (REPOSITORY_BRANCH "hdf5_1_10_6")
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
###################################################################
###################################################################
if (WIN32)
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}")
include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake)
include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe")
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi")
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip")
file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
else ()
set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake)
if (DEFINED HPC)
include (${CTEST_SOURCE_DIRECTORY}/config/cmake/scripts/HPC/${HPC}-HDF5options.cmake)
endif ()
include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
if (APPLE)
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
else ()
if (CYGWIN)
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
else ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz")
file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
endif ()
endif ()
endif ()
endif ()

View File

@@ -16,25 +16,27 @@
### uncomment/comment and change the following lines for other configuration options
#############################################################################################
#### maximum parallel processor count for build and test ####
#set (MAX_PROC_COUNT 8)
#############################################################################################
#### alternate toolsets ####
#set(CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0")
#set (CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0")
#############################################################################################
#### Only build static libraries ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
#### Add PICC option on linux/mac ####
#### Only build shared libraries ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DONLY_SHARED_LIBS:BOOL=OFF")
#### Add PIC option on linux/mac ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
#############################################################################################
#### fortran enabled ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON")
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
#### fortran disabled ####
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF")
#############################################################################################
#### java enabled ####
@@ -50,29 +52,55 @@ set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTA
#### ext libraries ####
### ext libs from tgz
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}")
### ext libs from git
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT")
### ext libs on system
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=NO")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
### disable ext zlib building
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
### disable ext szip building
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
### disable using ext zlib
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
### disable using ext szip
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
#### package examples ####
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACK_EXAMPLES:BOOL=ON -DHDF5_EXAMPLES_COMPRESSED:STRING=HDF5Examples-1.10.13-Source.tar.gz -DHDF5_EXAMPLES_COMPRESSED_DIR:PATH=${CTEST_SCRIPT_DIRECTORY}")
#############################################################################################
### enable parallel builds
if (DEFINED MPI)
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=OFF")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=OFF")
endif()
#############################################################################################
### enable thread-safety builds
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_THREADSAFE:BOOL=ON")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_PARALLEL:BOOL=OFF")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_CPP_LIB:BOOL=OFF")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_HL_LIB:BOOL=OFF")
#############################################################################################
### disable test program builds
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
#############################################################################################
### disable packaging
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
### Create install package with external libraries (szip, zlib)
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
#############################################################################################
### use a toolchain file
#set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/intel.cmake")
#############################################################################################

View File

@@ -0,0 +1,31 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#############################################################################################
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
#############################################################################################
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
endif()
#############################################################################################
### options to run test scripts in batch commands
set (LOCAL_BATCH_SCRIPT_COMMAND "bsub")
set (LOCAL_BATCH_TEST "TRUE")
set (LOCAL_BATCH_SCRIPT_NAME "ctestS.lsf")
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctestP.lsf")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=srun")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")

View File

@@ -0,0 +1,42 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#############################################################################################
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
#############################################################################################
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
endif()
#############################################################################################
### options to run test scripts in batch commands
set (LOCAL_BATCH_SCRIPT_NAME "ctest.qsub")
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctest.qsub")
if (DEFINED KNL)
### some additions and alternatives to cross compile on haswell for knl
set (COMPUTENODE_HWCOMPILE_MODULE "craype-mic-knl")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake")
endif ()
set (LOCAL_BATCH_SCRIPT_COMMAND "qsub")
set (LOCAL_BATCH_TEST "TRUE")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=aprun")
# Option to suppress writing job statistics; to avoid issues with h5diff comparisons.
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_PREFLAGS:STRING=-q")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DACCOUNT_ID:STRING=${LOCAL_BATCH_SCRIPT_ARGS}")
#############################################################################################
#############################################################################################

View File

@@ -0,0 +1,32 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#############################################################################################
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
#############################################################################################
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
endif()
#############################################################################################
### options to run test scripts in batch commands
set (LOCAL_BATCH_SCRIPT_COMMAND "raybsub")
set (LOCAL_BATCH_TEST "TRUE")
set (LOCAL_BATCH_SCRIPT_NAME "ray_ctestS.lsf")
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ray_ctestP.lsf")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_COMMAND:STRING=${LOCAL_BATCH_SCRIPT_COMMAND}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=mpirun")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-np")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")

View File

@@ -0,0 +1,43 @@
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#############################################################################################
#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ###
#############################################################################################
if (DEFINED MPI)
# maximum parallel processor count for build and test ####
set (MAX_PROC_COUNT 8)
endif()
#############################################################################################
### options to run test scripts in batch commands
if (DEFINED KNL)
### some additions and alternatives to cross compile on haswell for knl
set (COMPILENODE_HWCOMPILE_MODULE "craype-haswell")
set (COMPUTENODE_HWCOMPILE_MODULE "craype-mic-knl")
set (LOCAL_BATCH_SCRIPT_NAME "knl_ctestS.sl")
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "knl_ctestP.sl")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake")
else ()
set (LOCAL_BATCH_SCRIPT_NAME "ctestS.sl")
set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "ctestP.sl")
endif ()
set (LOCAL_BATCH_SCRIPT_COMMAND "sbatch")
set (LOCAL_BATCH_TEST "TRUE")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_TEST:BOOL=ON")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_NAME:STRING=${LOCAL_BATCH_SCRIPT_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=${LOCAL_BATCH_SCRIPT_PARALLEL_NAME}")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_EXECUTABLE:STRING=srun")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_NUMPROC_FLAG:STRING=-n")
set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DMPIEXEC_MAX_NUMPROCS:STRING=6")
#############################################################################################
#############################################################################################

View File

@@ -20,7 +20,7 @@ if (NOT TEST_GET_PROGRAM)
message (FATAL_ERROR "Require TEST_GET_PROGRAM getub to be defined")
endif ()
if (NOT TEST_FOLDER)
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
message (FATAL_ERROR "Require TEST_FOLDER to be defined")
endif ()
if (NOT TEST_HFILE)
message (FATAL_ERROR "Require TEST_HFILE the hdf file to be defined")
@@ -62,7 +62,7 @@ if (TEST_CHECKUB STREQUAL "YES")
OUTPUT_VARIABLE TEST_OUT
ERROR_VARIABLE TEST_ERROR
)
if (NOT ${TEST_RESULT} STREQUAL "0")
if (TEST_RESULT)
message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} ${TEST_OFILE} is: ${TEST_ERROR}")
endif ()
file (READ ${TEST_HFILE}.len.txt TEST_O_STRING_LEN)
@@ -70,7 +70,7 @@ if (TEST_CHECKUB STREQUAL "YES")
math( EXPR TEST_STRING_SIZE "${TEST_U_STRING_LEN} + ${TEST_O_STRING_LEN}" )
if (NOT TEST_O_STRING_LEN STREQUAL "0")
if (TEST_O_STRING_LEN)
#$JAM_BIN/getub -c $s2 $origfile > $cmpfile
EXECUTE_PROCESS (
COMMAND ${TEST_GET_PROGRAM} -c ${TEST_O_STRING_LEN} ${TEST_OFILE}
@@ -108,7 +108,7 @@ if (TEST_CHECKUB STREQUAL "YES")
message (STATUS "COMPARE Result: ${TEST_RESULT}: ${TEST_STRING_SIZE}=${TEST_U_STRING_LEN}+${TEST_O_STRING_LEN}")
# if the return value is !=${TEST_EXPECT} bail out
if (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT})
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
message (FATAL_ERROR "Failed: The output of ${TEST_HFILE}-ub did not match ${TEST_HFILE}.\n${TEST_ERROR}")
endif ()
else ()
@@ -121,11 +121,11 @@ else ()
OUTPUT_VARIABLE TEST_OUT
ERROR_VARIABLE TEST_ERROR
)
if (NOT TEST_H_STRING_LEN STREQUAL "0")
if (TEST_H_STRING_LEN)
message (FATAL_ERROR "Failed: The output of ${TEST_HFILE} was NOT empty")
endif ()
endif ()
# everything went fine...
message ("Passed: The output of CHECK matched expectation")
message (STATUS "Passed: The output of CHECK matched expectation")

View File

@@ -17,7 +17,7 @@ if (NOT TEST_PROGRAM)
message (FATAL_ERROR "Require TEST_PROGRAM to be defined")
endif ()
if (NOT TEST_FOLDER)
message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
message (FATAL_ERROR "Require TEST_FOLDER to be defined")
endif ()
if (NOT TEST_VFD)
message (FATAL_ERROR "Require TEST_VFD to be defined")
@@ -32,9 +32,9 @@ if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}.err)
endif ()
# if there is not an error reference file add the error output to the stdout file
if (NOT TEST_ERRREF)
set (ERROR_APPEND 1)
endif ()
#if (NOT TEST_ERRREF)
# set (ERROR_APPEND 1)
#endif ()
message (STATUS "USING ${TEST_VFD} ON COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
@@ -60,7 +60,7 @@ if (ERROR_APPEND AND EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.err)
endif ()
# if the return value is !=${TEST_EXPECT} bail out
if (NOT "${TEST_RESULT}" STREQUAL "${TEST_EXPECT}")
if (NOT TEST_RESULT EQUAL TEST_EXPECT)
if (NOT TEST_NOERRDISPLAY)
if (EXISTS ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out)
file (READ ${TEST_FOLDER}/${TEST_OUTPUT}_${TEST_VFD}.out TEST_STREAM)
@@ -73,4 +73,4 @@ endif ()
message (STATUS "COMMAND Error: ${TEST_ERROR}")
# everything went fine...
message ("Passed: The ${TEST_PROGRAM} program used vfd ${TEST_VFD}")
message (STATUS "Passed: The ${TEST_PROGRAM} program used vfd ${TEST_VFD}")

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

@@ -28,7 +28,7 @@ if (APPLE)
list (LENGTH CMAKE_OSX_ARCHITECTURES ARCH_LENGTH)
if (ARCH_LENGTH GREATER 1)
set (CMAKE_OSX_ARCHITECTURES "" CACHE STRING "" FORCE)
message(FATAL_ERROR "Building Universal Binaries on OS X is NOT supported by the HDF5 project. This is"
message (FATAL_ERROR "Building Universal Binaries on OS X is NOT supported by the HDF5 project. This is"
"due to technical reasons. The best approach would be build each architecture in separate directories"
"and use the 'lipo' tool to combine them into a single executable or library. The 'CMAKE_OSX_ARCHITECTURES'"
"variable has been set to a blank value which will build the default architecture for this system.")
@@ -70,7 +70,7 @@ if (WIN32)
set (CMAKE_REQUIRED_FLAGS "-DWIN32_LEAN_AND_MEAN=1 -DNOGDI=1")
endif ()
set (${HDF_PREFIX}_HAVE_WIN32_API 1)
set (CMAKE_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
set (HDF5_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
if (NOT UNIX AND NOT MINGW)
set (WINDOWS 1)
set (CMAKE_REQUIRED_FLAGS "/DWIN32_LEAN_AND_MEAN=1 /DNOGDI=1")
@@ -109,88 +109,10 @@ endif ()
# END of WINDOWS Hard code Values
# ----------------------------------------------------------------------
if (CYGWIN)
set (${HDF_PREFIX}_HAVE_LSEEK64 0)
endif ()
#-----------------------------------------------------------------------------
# Check for the math library "m"
#-----------------------------------------------------------------------------
if (NOT WINDOWS)
CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
endif ()
# UCB (BSD) compatibility library
CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
# For other tests to use the same libraries
set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LINK_LIBS})
set (USE_INCLUDES "")
if (WINDOWS)
set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
endif ()
if (NOT WINDOWS)
TEST_BIG_ENDIAN (${HDF_PREFIX}_WORDS_BIGENDIAN)
endif ()
# For other specific tests, use this MACRO.
macro (HDF_FUNCTION_TEST OTHER_TEST)
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
set (OTHER_TEST_ADD_LIBRARIES)
if (CMAKE_REQUIRED_LIBRARIES)
set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
endif ()
foreach (def
HAVE_SYS_TIME_H
HAVE_UNISTD_H
HAVE_SYS_TYPES_H
HAVE_SYS_SOCKET_H
)
if ("${${HDF_PREFIX}_${def}}")
set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
endif ()
endforeach ()
if (LARGEFILE)
set (MACRO_CHECK_FUNCTION_DEFINITIONS
"${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
)
endif ()
#message (STATUS "Performing ${OTHER_TEST}")
TRY_COMPILE (${OTHER_TEST}
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
"${OTHER_TEST_ADD_LIBRARIES}"
OUTPUT_VARIABLE OUTPUT
)
if (${OTHER_TEST})
set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
else ()
message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
"${OUTPUT}\n"
)
endif ()
endif ()
endmacro ()
#-----------------------------------------------------------------------------
# Check for these functions before the time headers are checked
#-----------------------------------------------------------------------------
HDF_FUNCTION_TEST (STDC_HEADERS)
#-----------------------------------------------------------------------------
# Check IF header file exists and add it to the list.
#-----------------------------------------------------------------------------
@@ -247,6 +169,91 @@ CHECK_INCLUDE_FILE_CONCAT ("memory.h" ${HDF_PREFIX}_HAVE_MEMORY_H)
CHECK_INCLUDE_FILE_CONCAT ("dlfcn.h" ${HDF_PREFIX}_HAVE_DLFCN_H)
CHECK_INCLUDE_FILE_CONCAT ("inttypes.h" ${HDF_PREFIX}_HAVE_INTTYPES_H)
CHECK_INCLUDE_FILE_CONCAT ("netinet/in.h" ${HDF_PREFIX}_HAVE_NETINET_IN_H)
# _Bool type support
CHECK_INCLUDE_FILE_CONCAT (stdbool.h ${HDF_PREFIX}_HAVE_STDBOOL_H)
## Check for non-standard extenstion quadmath.h
CHECK_INCLUDE_FILES(quadmath.h C_HAVE_QUADMATH)
if (${C_HAVE_QUADMATH})
set(${HDF_PREFIX}_HAVE_QUADMATH_H 1)
else ()
set(${HDF_PREFIX}_HAVE_QUADMATH_H 0)
endif ()
if (CYGWIN)
set (${HDF_PREFIX}_HAVE_LSEEK64 0)
endif ()
#-----------------------------------------------------------------------------
# Check for the math library "m"
#-----------------------------------------------------------------------------
if (NOT WINDOWS)
CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
endif ()
# UCB (BSD) compatibility library
CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
# For other tests to use the same libraries
set (HDF5_REQUIRED_LIBRARIES ${HDF5_REQUIRED_LIBRARIES} ${LINK_LIBS})
set (USE_INCLUDES "")
if (WINDOWS)
set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
endif ()
# For other specific tests, use this MACRO.
macro (HDF_FUNCTION_TEST OTHER_TEST)
if (NOT DEFINED ${HDF_PREFIX}_${OTHER_TEST})
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
foreach (def
HAVE_SYS_TIME_H
HAVE_UNISTD_H
HAVE_SYS_TYPES_H
HAVE_SYS_SOCKET_H
)
if ("${${HDF_PREFIX}_${def}}")
set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
endif ()
endforeach ()
if (LARGEFILE)
set (MACRO_CHECK_FUNCTION_DEFINITIONS
"${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
)
endif ()
#message (STATUS "Performing ${OTHER_TEST}")
try_compile (${OTHER_TEST}
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
COMPILE_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS}"
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
OUTPUT_VARIABLE OUTPUT
)
if (${OTHER_TEST})
set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
else ()
message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing Other Test ${OTHER_TEST} failed with the following output:\n"
"${OUTPUT}\n"
)
endif ()
endif ()
endmacro ()
#-----------------------------------------------------------------------------
# Check for these functions before the time headers are checked
#-----------------------------------------------------------------------------
HDF_FUNCTION_TEST (STDC_HEADERS)
#-----------------------------------------------------------------------------
# Check for large file support
@@ -277,13 +284,12 @@ if (NOT WINDOWS)
set (HDF_EXTRA_C_FLAGS -D_GNU_SOURCE)
option (HDF_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
if (HDF_ENABLE_LARGE_FILE)
if (HDF_ENABLE_LARGE_FILE AND NOT DEFINED TEST_LFS_WORKS_RUN)
set (msg "Performing TEST_LFS_WORKS")
TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
try_run (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DTEST_LFS_WORKS
OUTPUT_VARIABLE OUTPUT
COMPILE_DEFINITIONS "-DTEST_LFS_WORKS"
)
# The LARGEFILE definitions were from the transition period
@@ -300,14 +306,14 @@ if (NOT WINDOWS)
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
message (STATUS "${msg}... no")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Test TEST_LFS_WORKS Run failed with the following output and exit code:\n ${OUTPUT}\n"
"Test TEST_LFS_WORKS Run failed with the following exit code:\n ${TEST_LFS_WORKS_RUN}\n"
)
endif ()
else ()
set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
message (STATUS "${msg}... no")
file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Test TEST_LFS_WORKS Compile failed with the following output:\n ${OUTPUT}\n"
"Test TEST_LFS_WORKS Compile failed\n"
)
endif ()
endif ()
@@ -322,17 +328,12 @@ if (NOT WINDOWS OR MINGW)
HDF_FUNCTION_TEST (HAVE_OFF64_T)
if (${HDF_PREFIX}_HAVE_OFF64_T)
CHECK_FUNCTION_EXISTS (lseek64 ${HDF_PREFIX}_HAVE_LSEEK64)
CHECK_FUNCTION_EXISTS (fseeko64 ${HDF_PREFIX}_HAVE_FSEEKO64)
CHECK_FUNCTION_EXISTS (ftello64 ${HDF_PREFIX}_HAVE_FTELLO64)
CHECK_FUNCTION_EXISTS (ftruncate64 ${HDF_PREFIX}_HAVE_FTRUNCATE64)
endif ()
CHECK_FUNCTION_EXISTS (fseeko ${HDF_PREFIX}_HAVE_FSEEKO)
CHECK_FUNCTION_EXISTS (ftello ${HDF_PREFIX}_HAVE_FTELLO)
HDF_FUNCTION_TEST (HAVE_STAT64_STRUCT)
if (HAVE_STAT64_STRUCT)
CHECK_FUNCTION_EXISTS (fstat64 ${HDF_PREFIX}_HAVE_FSTAT64)
CHECK_FUNCTION_EXISTS (stat64 ${HDF_PREFIX}_HAVE_STAT64)
endif ()
endif ()
@@ -412,13 +413,13 @@ HDF_CHECK_TYPE_SIZE (off64_t ${HDF_PREFIX}_SIZEOF_OFF64_T)
if (NOT ${HDF_PREFIX}_SIZEOF_OFF64_T)
set (${HDF_PREFIX}_SIZEOF_OFF64_T 0)
endif ()
HDF_CHECK_TYPE_SIZE (time_t ${HDF_PREFIX}_SIZEOF_TIME_T)
#-----------------------------------------------------------------------------
# Extra C99 types
#-----------------------------------------------------------------------------
# _Bool type support
CHECK_INCLUDE_FILE_CONCAT (stdbool.h ${HDF_PREFIX}_HAVE_STDBOOL_H)
if (HAVE_STDBOOL_H)
set (CMAKE_EXTRA_INCLUDE_FILES stdbool.h)
HDF_CHECK_TYPE_SIZE (bool ${HDF_PREFIX}_SIZEOF_BOOL)
@@ -442,7 +443,7 @@ if (NOT WINDOWS)
# Check a bunch of time functions
#-----------------------------------------------------------------------------
CHECK_FUNCTION_EXISTS (gettimeofday ${HDF_PREFIX}_HAVE_GETTIMEOFDAY)
foreach (test
foreach (time_test
HAVE_TM_GMTOFF
HAVE___TM_GMTOFF
# HAVE_TIMEZONE
@@ -452,7 +453,7 @@ if (NOT WINDOWS)
HAVE_TM_ZONE
HAVE_STRUCT_TM_TM_ZONE
)
HDF_FUNCTION_TEST (${test})
HDF_FUNCTION_TEST (${time_test})
endforeach ()
if (NOT CYGWIN AND NOT MINGW)
HDF_FUNCTION_TEST (HAVE_TIMEZONE)
@@ -505,6 +506,8 @@ CHECK_FUNCTION_EXISTS (lround ${HDF_PREFIX}_HAVE_LROUND)
CHECK_FUNCTION_EXISTS (lroundf ${HDF_PREFIX}_HAVE_LROUNDF)
CHECK_FUNCTION_EXISTS (lstat ${HDF_PREFIX}_HAVE_LSTAT)
CHECK_FUNCTION_EXISTS (pread ${HDF_PREFIX}_HAVE_PREAD)
CHECK_FUNCTION_EXISTS (pwrite ${HDF_PREFIX}_HAVE_PWRITE)
CHECK_FUNCTION_EXISTS (rand_r ${HDF_PREFIX}_HAVE_RAND_R)
CHECK_FUNCTION_EXISTS (random ${HDF_PREFIX}_HAVE_RANDOM)
CHECK_FUNCTION_EXISTS (round ${HDF_PREFIX}_HAVE_ROUND)
@@ -554,7 +557,7 @@ endif ()
# Check a bunch of other functions
#-----------------------------------------------------------------------------
if (NOT WINDOWS)
foreach (test
foreach (other_test
HAVE_ATTRIBUTE
HAVE_C99_FUNC
# STDC_HEADERS
@@ -563,7 +566,7 @@ if (NOT WINDOWS)
SYSTEM_SCOPE_THREADS
HAVE_SOCKLEN_T
)
HDF_FUNCTION_TEST (${test})
HDF_FUNCTION_TEST (${other_test})
endforeach ()
endif ()
@@ -573,36 +576,27 @@ endif ()
if (WINDOWS)
if (NOT HDF_NO_IOEO_TEST)
message (STATUS "Checking for InitOnceExecuteOnce:")
if (NOT DEFINED ${${HDF_PREFIX}_HAVE_IOEO})
if (NOT DEFINED ${HDF_PREFIX}_HAVE_IOEO)
if (LARGEFILE)
set (CMAKE_REQUIRED_DEFINITIONS
"${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
)
endif ()
set (MACRO_CHECK_FUNCTION_DEFINITIONS
"-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
if (CMAKE_REQUIRED_LIBRARIES)
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
else ()
set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
endif ()
set (MACRO_CHECK_FUNCTION_DEFINITIONS "-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
if (CMAKE_REQUIRED_INCLUDES)
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
else ()
set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
endif ()
TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
-DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
"${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
COMPILE_OUTPUT_VARIABLE OUTPUT)
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
COMPILE_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} ${MACRO_CHECK_FUNCTION_DEFINITIONS}"
LINK_LIBRARIES "${HDF5_REQUIRED_LIBRARIES}"
CMAKE_FLAGS "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES} -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}"
COMPILE_OUTPUT_VARIABLE OUTPUT
)
# if it did not compile make the return value fail code of 1
if (NOT HAVE_IOEO_COMPILED)
set (HAVE_IOEO_EXITCODE 1)
@@ -653,8 +647,8 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
TRY_RUN (${HDF_PREFIX}_PRINTF_LL_TEST_RUN ${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE
${CMAKE_BINARY_DIR}
${HDF_RESOURCES_EXT_DIR}/HDFTests.c
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
OUTPUT_VARIABLE OUTPUT
COMPILE_DEFINITIONS "${CURRENT_TEST_DEFINITIONS}"
RUN_OUTPUT_VARIABLE OUTPUT
)
if (${HDF_PREFIX}_PRINTF_LL_TEST_COMPILE)
if (${HDF_PREFIX}_PRINTF_LL_TEST_RUN MATCHES 0)
@@ -662,11 +656,11 @@ if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "
set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${${HDF_PREFIX}_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
set (PRINT_LL_FOUND 1)
else ()
message ("Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
message (STATUS "Width test failed with result: ${${HDF_PREFIX}_PRINTF_LL_TEST_RUN}")
endif ()
else ()
file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed with the following output:\n ${OUTPUT}\n"
"Test ${HDF_PREFIX}_PRINTF_LL_WIDTH failed\n"
)
endif ()

View File

@@ -9,136 +9,108 @@
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
#########################################################################
# - Derived from the FindTiff.cmake and FindJPEG.cmake that is included with cmake
# FindSZIP
# - Find SZIP library
# - Derived from the FindTiff.cmake that is included with cmake
# Find the native SZIP includes and library
# This module defines
# SZIP_INCLUDE_DIRS, where to find tiff.h, etc.
# Imported targets
##################
# This module defines the following :prop_tgt:`IMPORTED` targets:
#
# SZIP::SZIP
# The SZIP library, if found.
#
# Result variables
###################
# This module will set the following variables in your project:
# SZIP_FOUND, true if the SZIP headers and libraries were found.
# SZIP_INCLUDE_DIR, the directory containing the SZIP headers.
# SZIP_INCLUDE_DIRS, the directory containing the SZIP headers.
# SZIP_LIBRARIES, libraries to link against to use SZIP.
# SZIP_FOUND, If false, do not try to use SZIP.
# also defined, but not for general use are
# Cache variables
#################
# The following variables may also be set:
# SZIP_LIBRARY, where to find the SZIP library.
# SZIP_LIBRARY_DEBUG - Debug version of SZIP library
# SZIP_LIBRARY_RELEASE - Release Version of SZIP library
# message (STATUS "Finding SZIP library and headers..." )
############################################
#
# Check the existence of the libraries.
#
############################################
# This macro was taken directly from the FindQt4.cmake file that is included
# with the CMake distribution. This is NOT my work. All work was done by the
# original authors of the FindQt4.cmake file. Only minor modifications were
# made to remove references to Qt and make this file more generally applicable
#########################################################################
macro (SZIP_ADJUST_LIB_VARS basename)
if (${basename}_INCLUDE_DIR)
# if only the release version was found, set the debug variable also to the release version
if (${basename}_LIBRARY_RELEASE AND NOT ${basename}_LIBRARY_DEBUG)
set (${basename}_LIBRARY_DEBUG ${${basename}_LIBRARY_RELEASE})
set (${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE})
set (${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE})
endif ()
find_path(SZIP_INCLUDE_DIR szlib.h)
# if only the debug version was found, set the release variable also to the debug version
if (${basename}_LIBRARY_DEBUG AND NOT ${basename}_LIBRARY_RELEASE)
set (${basename}_LIBRARY_RELEASE ${${basename}_LIBRARY_DEBUG})
set (${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG})
set (${basename}_LIBRARIES ${${basename}_LIBRARY_DEBUG})
endif ()
if (${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE)
# if the generator supports configuration types then set
# optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
set (${basename}_LIBRARY optimized ${${basename}_LIBRARY_RELEASE} debug ${${basename}_LIBRARY_DEBUG})
else ()
# if there are no configuration types and CMAKE_BUILD_TYPE has no value
# then just use the release libraries
set (${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
endif ()
set (${basename}_LIBRARIES optimized ${${basename}_LIBRARY_RELEASE} debug ${${basename}_LIBRARY_DEBUG})
endif ()
set(szip_names ${SZIP_NAMES} sz szip szip-static libsz libszip libszip-static)
foreach(name ${szip_names})
list(APPEND szip_names_debug "${name}d")
endforeach()
set (${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH "The ${basename} library")
if(NOT SZIP_LIBRARY)
find_library(SZIP_LIBRARY_RELEASE NAMES ${szip_names})
find_library(SZIP_LIBRARY_DEBUG NAMES ${szip_names_debug})
include(SelectLibraryConfigurations)
select_library_configurations(SZIP)
mark_as_advanced(SZIP_LIBRARY_RELEASE SZIP_LIBRARY_DEBUG)
endif()
unset(szip_names)
unset(szip_names_debug)
if (${basename}_LIBRARY)
set (${basename}_FOUND 1)
endif ()
endif ()
if(SZIP_INCLUDE_DIR AND EXISTS "${SZIP_INCLUDE_DIR}/SZconfig.h")
file(STRINGS "${SZIP_INCLUDE_DIR}/SZconfig.h" szip_version_str
REGEX "^#define[\t ]+SZIP_PACKAGE_VERSION[\t ]+.*")
# Make variables changeble to the advanced user
MARK_AS_ADVANCED (${basename}_LIBRARY ${basename}_LIBRARY_RELEASE ${basename}_LIBRARY_DEBUG ${basename}_INCLUDE_DIR )
endmacro ()
string(REGEX REPLACE "^#define[\t ]+SZIP_PACKAGE_VERSION[\t ]+([0-9]+).*"
"\\1" SZIP_VERSION "${szip_version_str}")
unset(szip_version_str)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(SZIP
REQUIRED_VARS SZIP_LIBRARY SZIP_INCLUDE_DIR
VERSION_VAR SZIP_VERSION)
# Look for the header file.
set (SZIP_INCLUDE_SEARCH_DIRS
$ENV{SZIP_INSTALL}/include
$ENV{SZIP_INSTALL}/include/szip
/usr/include
/usr/include/szip
)
if(SZIP_FOUND)
set(SZIP_LIBRARIES ${SZIP_LIBRARY})
set(SZIP_INCLUDE_DIRS "${SZIP_INCLUDE_DIR}")
set (SZIP_LIB_SEARCH_DIRS
$ENV{SZIP_INSTALL}/lib
/usr/lib
)
if(NOT TARGET SZIP::SZIP)
add_library(SZIP::SZIP UNKNOWN IMPORTED)
if(SZIP_INCLUDE_DIRS)
set_target_properties(SZIP::SZIP PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SZIP_INCLUDE_DIRS}")
endif()
if(EXISTS "${SZIP_LIBRARY}")
set_target_properties(SZIP::SZIP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${SZIP_LIBRARY}")
endif()
if(EXISTS "${SZIP_LIBRARY_RELEASE}")
set_property(TARGET SZIP::SZIP APPEND PROPERTY
IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(SZIP::SZIP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
IMPORTED_LOCATION_RELEASE "${SZIP_LIBRARY_RELEASE}")
endif()
if(EXISTS "${SZIP_LIBRARY_DEBUG}")
set_property(TARGET SZIP::SZIP APPEND PROPERTY
IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(SZIP::SZIP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
IMPORTED_LOCATION_DEBUG "${SZIP_LIBRARY_DEBUG}")
endif()
endif()
endif()
set (SZIP_BIN_SEARCH_DIRS
$ENV{SZIP_INSTALL}/bin
/usr/bin
)
FIND_PATH (SZIP_INCLUDE_DIR
NAMES szlib.h
PATHS ${SZIP_INCLUDE_SEARCH_DIRS}
NO_DEFAULT_PATH
)
if (WIN32)
set (SZIP_SEARCH_DEBUG_NAMES "sz_d;libsz_d")
set (SZIP_SEARCH_RELEASE_NAMES "sz;libsz;libszip")
else ()
set (SZIP_SEARCH_DEBUG_NAMES "sz_d")
set (SZIP_SEARCH_RELEASE_NAMES "sz;szip")
endif ()
# Look for the library.
FIND_LIBRARY (SZIP_LIBRARY_DEBUG
NAMES ${SZIP_SEARCH_DEBUG_NAMES}
PATHS ${SZIP_LIB_SEARCH_DIRS}
NO_DEFAULT_PATH
)
FIND_LIBRARY (SZIP_LIBRARY_RELEASE
NAMES ${SZIP_SEARCH_RELEASE_NAMES}
PATHS ${SZIP_LIB_SEARCH_DIRS}
NO_DEFAULT_PATH
)
SZIP_ADJUST_LIB_VARS (SZIP)
if (SZIP_INCLUDE_DIR AND SZIP_LIBRARY)
set (SZIP_FOUND 1)
set (SZIP_LIBRARIES ${SZIP_LIBRARY})
set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
if (SZIP_LIBRARY_DEBUG)
get_filename_component (SZIP_LIBRARY_PATH ${SZIP_LIBRARY_DEBUG} PATH)
set (SZIP_LIB_DIR ${SZIP_LIBRARY_PATH})
elseif ()
get_filename_component (SZIP_LIBRARY_PATH ${SZIP_LIBRARY_RELEASE} PATH)
set (SZIP_LIB_DIR ${SZIP_LIBRARY_PATH})
endif ()
else ()
set (SZIP_FOUND 0)
set (SZIP_LIBRARIES)
set (SZIP_INCLUDE_DIRS)
endif ()
mark_as_advanced(SZIP_LIBRARY SZIP_INCLUDE_DIR)
# Report the results.
if (NOT SZIP_FOUND)
@@ -153,29 +125,3 @@ if (NOT SZIP_FOUND)
endif ()
endif ()
endif ()
if (SZIP_FOUND)
include (CheckSymbolExists)
#############################################
# Find out if SZIP was build using dll's
#############################################
# Save required variable
set (CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set (CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
# Add SZIP_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${SZIP_INCLUDE_DIRS}")
# Restore CMAKE_REQUIRED_INCLUDES and CMAKE_REQUIRED_FLAGS variables
set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
#
#############################################
endif ()
if (FIND_SZIP_DEBUG)
message (STATUS "SZIP_INCLUDE_DIR: ${SZIP_INCLUDE_DIR}")
message (STATUS "SZIP_INCLUDE_DIRS: ${SZIP_INCLUDE_DIRS}")
message (STATUS "SZIP_LIBRARY_DEBUG: ${SZIP_LIBRARY_DEBUG}")
message (STATUS "SZIP_LIBRARY_RELEASE: ${SZIP_LIBRARY_RELEASE}")
message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
endif ()

View File

@@ -14,24 +14,7 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
# May need to build JPEG with PIC on x64 machines with gcc
# Need to use CMAKE_ANSI_CFLAGS define so that compiler test works
if (${compress_type} MATCHES "SVN")
EXTERNALPROJECT_ADD (JPEG
SVN_REPOSITORY ${JPEG_URL}
# [SVN_REVISION rev]
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
-DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
)
elseif (${compress_type} MATCHES "GIT")
if (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (JPEG
GIT_REPOSITORY ${JPEG_URL}
GIT_TAG ${JPEG_BRANCH}
@@ -47,6 +30,8 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (JPEG
@@ -64,23 +49,25 @@ macro (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
)
endif ()
externalproject_get_property (JPEG BINARY_DIR SOURCE_DIR)
##include (${BINARY_DIR}/${JPEG_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
# Create imported target jpeg-static
add_library(jpeg-static STATIC IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (jpeg-static "jpeg" STATIC "")
add_dependencies (JPEG jpeg-static)
set (JPEG_STATIC_LIBRARY "jpeg-static")
add_library(${HDF_PACKAGE_NAMESPACE}jpeg-static STATIC IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}jpeg-static "jpeg" STATIC "")
add_dependencies (${HDF_PACKAGE_NAMESPACE}jpeg-static JPEG)
set (JPEG_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}jpeg-static")
set (JPEG_LIBRARIES ${JPEG_STATIC_LIBRARY})
if (BUILD_SHARED_LIBS)
# Create imported target jpeg-shared
add_library(jpeg-shared SHARED IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (jpeg-shared "jpeg" SHARED "")
add_dependencies (JPEG jpeg-shared)
set (JPEG_SHARED_LIBRARY "jpeg-shared")
add_library(${HDF_PACKAGE_NAMESPACE}jpeg-shared SHARED IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}jpeg-shared "jpeg" SHARED "")
add_dependencies (${HDF_PACKAGE_NAMESPACE}jpeg-shared JPEG)
set (JPEG_SHARED_LIBRARY "${HDF_PACKAGE_NAMESPACE}jpeg-shared")
set (JPEG_LIBRARIES ${JPEG_LIBRARIES} ${JPEG_SHARED_LIBRARY})
endif ()
@@ -97,32 +84,14 @@ macro (PACKAGE_JPEG_LIBRARY compress_type)
COMMENT "Copying ${JPEG_INCLUDE_DIR_GEN}/jconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
)
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/jconfig.h)
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
add_dependencies (JPEG-GenHeader-Copy JPEG)
endif ()
endmacro ()
#-------------------------------------------------------------------------------
macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
if (${compress_type} MATCHES "SVN")
EXTERNALPROJECT_ADD (SZIP
SVN_REPOSITORY ${SZIP_URL}
# [SVN_REVISION rev]
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
-DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
)
elseif (${compress_type} MATCHES "GIT")
if (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (SZIP
GIT_REPOSITORY ${SZIP_URL}
GIT_TAG ${SZIP_BRANCH}
@@ -139,6 +108,8 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (SZIP
@@ -157,23 +128,25 @@ macro (EXTERNAL_SZIP_LIBRARY compress_type encoding)
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DSZIP_ENABLE_ENCODING:BOOL=${encoding}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
)
endif ()
externalproject_get_property (SZIP BINARY_DIR SOURCE_DIR)
##include (${BINARY_DIR}/${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
# Create imported target szip-static
add_library(szip-static STATIC IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (szip-static "szip" STATIC "")
add_dependencies (SZIP szip-static)
set (SZIP_STATIC_LIBRARY "szip-static")
add_library(${HDF_PACKAGE_NAMESPACE}szip-static STATIC IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szip-static "szip" STATIC "")
add_dependencies (${HDF_PACKAGE_NAMESPACE}szip-static SZIP)
set (SZIP_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}szip-static")
set (SZIP_LIBRARIES ${SZIP_STATIC_LIBRARY})
if (BUILD_SHARED_LIBS)
# Create imported target szip-shared
add_library(szip-shared SHARED IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (szip-shared "szip" SHARED "")
add_dependencies (SZIP szip-shared)
set (SZIP_SHARED_LIBRARY "szip-shared")
add_library(${HDF_PACKAGE_NAMESPACE}szip-shared SHARED IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}szip-shared "szip" SHARED "")
add_dependencies (${HDF_PACKAGE_NAMESPACE}szip-shared SZIP)
set (SZIP_SHARED_LIBRARY "${HDF_PACKAGE_NAMESPACE}szip-shared")
set (SZIP_LIBRARIES ${SZIP_LIBRARIES} ${SZIP_SHARED_LIBRARY})
endif ()
@@ -190,31 +163,14 @@ macro (PACKAGE_SZIP_LIBRARY compress_type)
COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
)
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SZconfig.h)
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
add_dependencies (SZIP-GenHeader-Copy SZIP)
endif ()
endmacro ()
#-------------------------------------------------------------------------------
macro (EXTERNAL_ZLIB_LIBRARY compress_type)
if (${compress_type} MATCHES "SVN")
EXTERNALPROJECT_ADD (ZLIB
SVN_REPOSITORY ${ZLIB_URL}
# [SVN_REVISION rev]
INSTALL_COMMAND ""
CMAKE_ARGS
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
-DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
-DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
)
elseif (${compress_type} MATCHES "GIT")
if (${compress_type} MATCHES "GIT")
EXTERNALPROJECT_ADD (ZLIB
GIT_REPOSITORY ${ZLIB_URL}
GIT_TAG ${ZLIB_BRANCH}
@@ -230,6 +186,8 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
)
elseif (${compress_type} MATCHES "TGZ")
EXTERNALPROJECT_ADD (ZLIB
@@ -247,6 +205,8 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
-DCMAKE_PDB_OUTPUT_DIRECTORY:PATH=${CMAKE_PDB_OUTPUT_DIRECTORY}
-DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DPACKAGE_NAMESPACE=${HDF_PACKAGE_NAMESPACE}
)
endif ()
externalproject_get_property (ZLIB BINARY_DIR SOURCE_DIR)
@@ -258,17 +218,18 @@ macro (EXTERNAL_ZLIB_LIBRARY compress_type)
endif ()
##include (${BINARY_DIR}/${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
# Create imported target zlib-static
add_library(zlib-static STATIC IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (zlib-static ${ZLIB_LIB_NAME} STATIC "")
add_dependencies (ZLIB zlib-static)
set (ZLIB_STATIC_LIBRARY "zlib-static")
add_library(${HDF_PACKAGE_NAMESPACE}zlib-static STATIC IMPORTED)
# add_library(${HDF_PACKAGE_NAMESPACE}zlib-static ALIAS zlib-static)
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}zlib-static ${ZLIB_LIB_NAME} STATIC "")
add_dependencies (${HDF_PACKAGE_NAMESPACE}zlib-static ZLIB)
set (ZLIB_STATIC_LIBRARY "${HDF_PACKAGE_NAMESPACE}zlib-static")
set (ZLIB_LIBRARIES ${ZLIB_STATIC_LIBRARY})
if (BUILD_SHARED_LIBS)
# Create imported target zlib-shared
add_library(zlib-shared SHARED IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (zlib-shared ${ZLIB_LIB_NAME} SHARED "")
add_dependencies (ZLIB zlib-shared)
set (ZLIB_SHARED_LIBRARY "zlib-shared")
add_library(${HDF_PACKAGE_NAMESPACE}zlib-shared SHARED IMPORTED)
HDF_IMPORT_SET_LIB_OPTIONS (${HDF_PACKAGE_NAMESPACE}zlib-shared ${ZLIB_LIB_NAME} SHARED "")
add_dependencies (${HDF_PACKAGE_NAMESPACE}zlib-shared ZLIB)
set (ZLIB_SHARED_LIBRARY "${HDF_PACKAGE_NAMESPACE}zlib-shared")
set (ZLIB_LIBRARIES ${ZLIB_LIBRARIES} ${ZLIB_SHARED_LIBRARY})
endif ()
@@ -285,7 +246,7 @@ macro (PACKAGE_ZLIB_LIBRARY compress_type)
COMMENT "Copying ${ZLIB_INCLUDE_DIR_GEN}/zconf.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
)
set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/zconf.h)
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
if (${compress_type} MATCHES "GIT" OR ${compress_type} MATCHES "TGZ")
add_dependencies (ZLIB-GenHeader-Copy ZLIB)
endif ()
endmacro ()

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()
@@ -28,7 +28,7 @@ macro (SET_HDF_BUILD_TYPE)
endif()
endif()
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
message (STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
@@ -78,7 +78,7 @@ macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
if (${libtype} MATCHES "SHARED")
set (targetfilename $<TARGET_PDB_FILE:${libtarget}>)
else ()
get_property (target_name TARGET ${libtarget} PROPERTY OUTPUT_NAME_RELWITHDEBINFO)
get_property (target_name TARGET ${libtarget} PROPERTY $<IF:$<CONFIG:Debug>,OUTPUT_NAME_DEBUG,OUTPUT_NAME_RELWITHDEBINFO>)
set (targetfilename $<TARGET_FILE_DIR:${libtarget}>/${target_name}.pdb)
endif ()
install (
@@ -86,9 +86,10 @@ macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
${targetfilename}
DESTINATION
${targetdestination}
CONFIGURATIONS RelWithDebInfo
CONFIGURATIONS $<CONFIG>
COMPONENT ${targetcomponent}
)
OPTIONAL
)
endif ()
endmacro ()
@@ -100,9 +101,10 @@ macro (INSTALL_PROGRAM_PDB progtarget targetdestination targetcomponent)
$<TARGET_PDB_FILE:${progtarget}>
DESTINATION
${targetdestination}
CONFIGURATIONS RelWithDebInfo
CONFIGURATIONS $<CONFIG>
COMPONENT ${targetcomponent}
)
OPTIONAL
)
endif ()
endmacro ()
@@ -126,19 +128,6 @@ macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
endif ()
endif ()
set_target_properties (${libtarget}
PROPERTIES
OUTPUT_NAME
${LIB_RELEASE_NAME}
OUTPUT_NAME_DEBUG
${LIB_DEBUG_NAME}
OUTPUT_NAME_RELEASE
${LIB_RELEASE_NAME}
OUTPUT_NAME_MINSIZEREL
${LIB_RELEASE_NAME}
OUTPUT_NAME_RELWITHDEBINFO
${LIB_RELEASE_NAME}
)
if (${libtype} MATCHES "STATIC")
if (WIN32)
set_target_properties (${libtarget}
@@ -170,7 +159,7 @@ macro (HDF_IMPORT_SET_LIB_OPTIONS libtarget libname libtype libversion)
if (${importtype} MATCHES "IMPORT")
set (importprefix "${CMAKE_STATIC_LIBRARY_PREFIX}")
endif ()
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
if (${HDF_CFG_NAME} MATCHES "Debug")
set (IMPORT_LIB_NAME ${LIB_DEBUG_NAME})
else ()
set (IMPORT_LIB_NAME ${LIB_RELEASE_NAME})
@@ -224,10 +213,9 @@ macro (TARGET_C_PROPERTIES wintarget libtype)
$<$<C_COMPILER_ID:MSVC>:${WIN_COMPILE_FLAGS}>
$<$<CXX_COMPILER_ID:MSVC>:${WIN_COMPILE_FLAGS}>
)
target_link_libraries(${wintarget} INTERFACE
$<$<C_COMPILER_ID:MSVC>:${WIN_LINK_FLAGS}>
$<$<CXX_COMPILER_ID:MSVC>:${WIN_LINK_FLAGS}>
)
if(MSVC)
set_property(TARGET ${wintarget} APPEND PROPERTY LINK_FLAGS "${WIN_LINK_FLAGS}")
endif()
endmacro ()
#-----------------------------------------------------------------------------
@@ -273,14 +261,14 @@ macro (HDF_README_PROPERTIES target_fortran)
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2015")
else ()
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2017")
endif ()
endif ()
else ()
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}")
endif ()
endif ()
elseif (APPLE)
set (BINARY_EXAMPLE_ENDING "tar.gz")
set (BINARY_INSTALL_ENDING "dmg")
set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg
set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}")
else ()
@@ -294,7 +282,9 @@ macro (HDF_README_PROPERTIES target_fortran)
set (BINARY_PLATFORM "${BINARY_PLATFORM} / ${CMAKE_Fortran_COMPILER_ID} Fortran")
endif ()
if (BUILD_SHARED_LIBS)
if (ONLY_SHARED_LIBS)
set (LIB_TYPE "Shared")
elseif (BUILD_SHARED_LIBS)
set (LIB_TYPE "Static and Shared")
else ()
set (LIB_TYPE "Static")
@@ -358,10 +348,34 @@ macro (HDF_DIR_PATHS package_prefix)
endif ()
endif ()
set (CMAKE_SKIP_BUILD_RPATH FALSE)
set (CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
set (CMAKE_BUILD_WITH_INSTALL_RPATH ON)
if (APPLE)
set (CMAKE_INSTALL_NAME_DIR "@rpath")
set (CMAKE_INSTALL_RPATH
"@executable_path/../${${package_prefix}_INSTALL_LIB_DIR}"
"@executable_path/"
"@loader_path/../${${package_prefix}_INSTALL_LIB_DIR}"
"@loader_path/"
)
else ()
set (CMAKE_INSTALL_RPATH "\$ORIGIN/../${${package_prefix}_INSTALL_LIB_DIR}:\$ORIGIN/")
endif ()
if (DEFINED ADDITIONAL_CMAKE_PREFIX_PATH AND EXISTS "${ADDITIONAL_CMAKE_PREFIX_PATH}")
set (CMAKE_PREFIX_PATH ${ADDITIONAL_CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH})
endif ()
#set the default debug suffix for all library targets
if(NOT CMAKE_DEBUG_POSTFIX)
if (WIN32)
set (CMAKE_DEBUG_POSTFIX "_D")
else ()
set (CMAKE_DEBUG_POSTFIX "_debug")
endif ()
endif ()
SET_HDF_BUILD_TYPE()
#-----------------------------------------------------------------------------
@@ -380,13 +394,14 @@ macro (HDF_DIR_PATHS package_prefix)
set (CMAKE_Fortran_MODULE_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all fortran modules."
)
if (WIN32)
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(_isMultiConfig)
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE})
set (CMAKE_PDB_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all pdb files."
)
else ()
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE})
set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endif ()
else ()
# if we are externally configured, but the project uses old cmake scripts

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

@@ -13,7 +13,7 @@
# This file provides functions for Fortran support.
#
#-------------------------------------------------------------------------------
ENABLE_LANGUAGE (Fortran)
enable_language (Fortran)
set (HDF_PREFIX "H5")
#-------------------------------------------------------------------------------
@@ -48,9 +48,9 @@ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}")
#-----------------------------------------------------------------------------
macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
message (STATUS "Testing Fortran ${FUNCTION}")
if (CMAKE_REQUIRED_LIBRARIES)
if (HDF5_REQUIRED_LIBRARIES)
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
"-DLINK_LIBRARIES:STRING=${HDF5_REQUIRED_LIBRARIES}")
else ()
set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
endif ()
@@ -65,9 +65,9 @@ macro (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
OUTPUT_VARIABLE OUTPUT
)
# message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
# message ( "Test result ${OUTPUT}")
# message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
# message (STATUS "Test result ${OUTPUT}")
# message (STATUS "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
if (${RESULT_VAR})
set (${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")

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