summaryrefslogtreecommitdiffstats
path: root/Modules/FindHDF5.cmake
Commit message (Collapse)AuthorAgeFilesLines
* FindHDF5: fixes for HL when using an imported configKris Thielemans2017-08-031-3/+9
| | | | | - some variables did not have the appropriate HL infix - some logic was not yet implemented for HL
* FindHDF5: unset some variablesKris Thielemans2017-08-031-12/+14
| | | | | prefixed some local variables with _hdf5 and unset them at the end (still more of these to do)
* FindHDF5: for a static imported config, use CONFIG-specific libraryKris Thielemans2017-08-031-1/+4
| | | | | first check the LOCATION_<CONFIG> propertiy to find the library, then LOCATION
* FindHDF5: fix hdf5-config case with more than one configurationKris Thielemans2017-08-031-3/+43
| | | | | | | | | | Select a configuration as the first of the following available: * MAP_IMPORTED_CONFIG_<CONFIG> * ${CMAKE_BUILD_TYPE}, RELWITHDEBINFO, RELEASE, DEBUG * First entry in IMPORTED_CONFIGURATIONS Fixes: #17039
* FindHDF5: Define H5_BUILT_AS_DYNAMIC_LIB when using Windows DLLsKris Thielemans2017-07-071-0/+4
| | | | | | When searching for shared libraries on Windows, add H5_BUILT_AS_DYNAMIC_LIB to HDF5_DEFINITIONS so that the header file knows how to dllimport the symbols.
* FindHDF5: Add support for HDF5_USE_STATIC_LIBRARIES on WindowsKris Thielemans2017-07-071-15/+23
| | | | Also add the `_D` suffix for debug libraries.
* FindHDF5: Fix parallel detection when primary compiler is an HDF5 wrapperChuck Atkins2017-06-161-21/+27
| | | | | | | | | | | This is covering a different use case where your primary compilers are HDF5 wrappers, as is the case when using the Cray Programming Environment. The existing code tries to query the compiler using options only available to h5cc and friends, which doesn't work when your wrapper is not h5cc, as is the case with the CrayPE. This change instead pulls strings out of a test binary when testing for "is your regular compiler an HDF5 wrapper" while the "query wrapper for options" is reserved for the "I found the hdf5 wrappers but they're not your main compiler" mode.
* separgs: Use NATIVE_COMMAND where appropriateChristian Pfeiffer2017-04-261-5/+1
|
* Merge branch 'backport-FindHDF5-optional-no-config' into ↵Brad King2017-03-211-1/+4
|\ | | | | | | FindHDF5-optional-no-config
| * FindHDF5: Add option to skip finding package configuration fileBrad King2017-03-211-1/+4
| | | | | | | | | | | | | | | | Some projects may not be prepared to use the imported targets defined by the HDF5 package configuration file. Give users a way to skip this part of the search. Issue: #16718
| * FindHDF5: Improve HDF5_ROOT variable documentationBrad King2017-03-211-1/+2
| |
* | FindHDF5: Improve HDF5_ROOT and HDF5_FIND_DEBUG documentationBrad King2017-03-211-2/+4
| |
* | Merge topic 'FindHDF5-fix-quoting'Brad King2017-03-211-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 8214061d FindHDF5: fix quoting Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !587
| * | FindHDF5: fix quotingBen Boeckel2017-03-151-1/+1
| | |
* | | FindHDF5: set HDF5_<lang>_INCLUDE_DIRS in all casesKris Thielemans2017-03-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case that we're using `find_path` to find the include directory, only the `_DIR` variable was set, while in all other cases only the `_DIRS` variable was set. Set the `_DIRS` variable in all cases (while keeping `_DIR` as result of `find_path`). Also document the `_DIRS` variable. Fixes: #16694
* | | Merge topic 'FindHDF5-fix-definitions'Brad King2017-03-061-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | ea2a8dd2 FindHDF5: Restore `-D` in HDF5_DEFINITIONS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !554
| * | FindHDF5: Restore `-D` in HDF5_DEFINITIONSKris Thielemans2017-03-061-1/+1
| |/ | | | | | | | | | | | | | | Changes in commit v3.8.0-rc1~7^2~5 (FindHDF5: Fix command-line parsing argument extraction order, 2017-02-02) accidentally dropped `-D` from preprocessor definition flags extracted from the HDF5 compiler wrappers. Fixes: #16693
* | FindHDF5: initialize HDF5_DEFINITIONS when using hdf5-config.cmakeKris Thielemans2017-03-011-0/+1
| |
* | FindHDF5: document HDF5_<LANG>_DEFINITIONSKris Thielemans2017-03-011-1/+5
| |
* | FindHDF5: use import libraries when using hdf5-config.cmake on WindowsKris Thielemans2017-03-011-3/+11
| | | | | | | | | | | | | | The `LOCATION` of imported shared libraries on Windows is that of the `.dll`. Use the import library instead to get the `.lib` to be linked. Fixes: #16534
* | FindHDF5: do not cache library locations when using hdf5-config.cmakeKris Thielemans2017-03-011-6/+2
| | | | | | | | | | The imported targets provide a persistent reference of their location, so we do not need to cache the values.
* | FindHDF5: recognize hdf5:: prefix when using hdf5-config.cmakeKris Thielemans2017-03-011-6/+10
| | | | | | | | Some versions of HDF5 use this prefix on their imported targets.
* | FindHDF5: fix typo in commentKris Thielemans2017-03-011-1/+1
| |
* | FindHDF5: remove mark_as_advanced for non-cached variablesKris Thielemans2017-03-011-7/+0
| |
* | FindHDF5: add HDF5_FIND_DEBUG variable to get debugging outputKris Thielemans2017-02-281-0/+23
| |
* | FindHDF5: hide HDF5_DIR if HDF5 was found in another wayKris Thielemans2017-02-281-0/+6
|/
* FindHDF5: Fix search for language-specific header fileBrad King2017-02-171-2/+2
| | | | | | | | | | | | | | | | | | Refactoring in commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of compiler wrappers, 2016-04-04) converted code of the form if(${LANGUAGE} MATCHES ...) to if(LANGUAGE MATCHES ...) However, `LANGUAGE` is a foreach() loop variable and not a normal variable so auto-dereference does not occur. Restore the explicit `${}` syntax and use the new name of the loop variable that has changed since then too. Fixes: #16651
* FindHDF5: Restore HDF5_<LANG>_INCLUDE_DIR advanced cache entry markBrad King2017-02-171-1/+1
| | | | | | | | | Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching to correctly find HL for all bindings, 2016-05-12) renamed the language loop variable used to construct the name of `HDF5_<LANG>_INCLUDE_DIR` but forgot to update it in the `mark_as_advanced` call. Fix it now. Issue: #16651
* FindHDF5: Restore HDF5_INCLUDE_DIR in all code pathsBrad King2017-02-031-5/+6
| | | | | | | | | This compatibility variable should be set no matter which method was used to find HDF5. Even if `HDF5_INCLUDE_DIRS` was set by copying the `HDF5_INCLUDE_DIR` value from `hdf5-config.cmake` it will not hurt to copy the same value back. Issue: #16566
* FindHDF5: Restore fallback to static librariesBrad King2017-02-031-11/+12
| | | | | | | | | | | Since commit v3.6.1~6^2~2 (FindHDF5: Fix h5cc arg parsing to work with homebrew on Mac, 2016-07-11) we treated `HDF5_USE_STATIC_LIBRARIES` OFF as a requirement for shared libraries. It is just supposed to be a preference. Even if `HDF5_USE_STATIC_LIBRARIES` is not set we should still fall back to finding static libraries if shared libraries are not available. Issue: #16566
* FindHDF5: Fix search with HDF5_ROOTBrad King2017-02-031-8/+33
| | | | | | | | | | | | | | | Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching to correctly find HL for all bindings, 2016-05-12) turned off a large amount of its logic when HDF5_ROOT is set. This caused use of the hdf5 compiler wrapper to extract all needed libraries (e.g. z, dl as dependencies of hdf5 static libraries) to be skipped when using HDF5_ROOT. Fix the search logic to honor HDF5_ROOT in all code paths. Restrict the search for hdf5-specific components to this root, but allow external libraries to be found anywhere. Fixes: #16566
* FindHDF5: Use keywords in find_library callsBrad King2017-02-031-2/+8
| | | | Clarify the purpose of each argument.
* FindHDF5: Initialize/finalize internal search options variableBrad King2017-02-031-7/+11
| | | | While at it, use a more private name.
* FindHDF5: Fix command-line parsing argument extraction orderBrad King2017-02-031-55/+37
| | | | | | | | | | | | Re-implement our internal `_HDF5_parse_compile_line` helper to process command line arguments all at once and in order. Otherwise the libraries named by absolute path and those named by `-l` arguments are not kept in order. The new implementation will not handle separate arguments like `-I /path/to/include/dir` but I have not seen the HDF5 compiler wrappers produce this form. If necessary the parsing loop can be extended with a state variable to keep track of such pairs.
* FindHDF5: use the target rather than the pathBen Boeckel2017-01-161-4/+4
| | | | | On Windows, the `LOCATION` property gets the path to the `.dll` rather than the `.lib` which is unsuitable for linking.
* Merge topic 'FindHDF5-restore-default-C'Brad King2016-11-031-10/+2
|\ | | | | | | | | ff3ccc1f FindHDF5: Restore pre-3.6 behavior of finding only C by default
| * FindHDF5: Restore pre-3.6 behavior of finding only C by defaultBrad King2016-11-021-10/+2
| | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching to correctly find HL for all bindings, 2016-05-12) changed the default behavior from finding only the C bindings to finding everything for the enabled languages. Restore the original behavior for compatibility and because many projects need only the C bindings. Closes: #16397
| * Merge branch 'FindHDF5-fix-hl-fortran' into releaseBrad King2016-09-021-1/+1
| |\
* | | Simplify CMake per-source license noticesBrad King2016-09-271-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* | | Merge topic 'FindHDF5-is-parallel'Brad King2016-09-031-8/+60
|\ \ \ | |/ / | | | | | | | | | b61eab24 FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
| * | FindHDF5: Fix regression in providing HDF5_IS_PARALLELBrad King2016-09-021-8/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of compiler wrappers, 2016-04-01) we have additional code paths that find HDF5 and suppress the original search logic. Report HDF5_IS_PARALLEL from these other code paths too. Closes: #16257
* | | Merge topic 'FindHDF5-fix-hl-fortran'Brad King2016-09-031-1/+1
|\ \ \ | | |/ | |/| | | | | | | befe8648 FindHDF5: Fix regression in finding hdf5hl_fortran
| * | FindHDF5: Fix regression in finding hdf5hl_fortranBrad King2016-09-021-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching to correctly find HL for all bindings, 2016-05-12) accidentally dropped the name `hdf5hl_fortran` from the list of library names and replaced it with `hdf5_hl_fortran`. IIUC the latter name is when HDF5 is built with CMake and the former name is for other build systems. Since this is the non-CMake code path, user the former name. Closes: #16233
* | issues: update references to the CMake issue trackerBen Boeckel2016-08-151-2/+2
|/ | | | | References to specific comments are left as-is since comments were not migrated.
* FindHDF5: Make sure compile definition vars keep the -D flagChuck Atkins2016-08-021-1/+1
|
* FindHDF5: Cleanup inconsistent use of HDF5_ROOTChuck Atkins2016-07-121-10/+14
|
* FindHDF5: Properly fail when required components are not found.Chuck Atkins2016-07-121-1/+20
|
* FindHDF5: Fix h5cc arg parsing to work with homebrew on MacChuck Atkins2016-07-121-26/+65
|
* FindHDF5: create all the *_LIBRARIES when using hdf5-config.cmakeRobert Maynard2016-06-241-0/+4
|
* FindHDF5: cache the correct path to the high level librariesRobert Maynard2016-06-241-3/+3
|