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
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.
1679fecb CompileFeatures Test: make sure the target "CompileFeatures" is always defined
98e6d1e5 Tests/Module/WCDH: make it work with only C features defined
c8703e9d WCDH: optionally omit error code for unknown compilers or compiler versions
0de9c398 WCDH: add macro to write simple replacement defines
When using a Visual Studio generator with an Intel toolset, such as
-T "Intel C++ Compiler XE 14.0"
the generated FortranCInterface mangling detection project may fail to
build due to `devenv` not working with the `/project ALL_BUILD` option.
This seems to be a bug in `devenv` or the Intel VS integration. Work
around the problem by building with `/project FortranCInterface`
instead. We only need to build this executable and its dependencies
within the detection test project anyway.
Fixes: #16519
071f8e78 Apple: Add support for static frameworks
d525754e Xcode: Refactor RunCMake.Framework test to prepare for static frameworks
45405f00 Xcode: Ignore Xcode project warning until issue is fixed
50e1c105 Makefile: For static libraries remove only the "real" lib before creating
8643ca75 Makefile: Re-order list of files to clean
050bb41c Tell Git not to export the GitSetup directory
d6108c87 GitSetup: Tell Git not to export .gitattributes
3642d657 Merge branch 'upstream-GitSetup' into developer-setup
7e5ef9ca GitSetup 2016-12-13 (cd5ada6d)
a6fda7bf Merge branch 'upstream-GitSetup' into developer-setup
a2d393d6 Add script to update GitSetup from upstream
c7b846ed GitSetup 2012-04-26 (b7daff9b)
The CSharp compiler for VS 2017 has moved from `MSBuildTools` to
`RoslynTargets`. Account for both locations giving priority to the
`MSBuildTools` location.
GitSetup upstream added an attribute to export `.gitattributes` so that
importing snapshots into the sources of other projects would bring along
the attributes. However, we don't want to export them from CMake. Drop
`.gitattributes` entries not relevant to CMake.
Everything in there guards against unsupported compilers already, so no need to
skip the whole file if no features are defined. This in turn allows to have a
simpler fallback in case there is no C++ auto_type feature available.
This allows one to generate a header that will basically always work. In case
an unknown compiler or compiler version is encountered it simply falls back to
the unsupported case.
This fixes a regression introduced by commit v3.3.0-rc1~5^2~2
(FindBoost: Search for debug and release libraries separately,
2015-01-26). The `_Boost_CHANGE_LIBDIR` variable was split into
`_Boost_CHANGE_LIBDIR_{DEBUG,RELEASE}` but one usage site was not
updated.
Fix tests to account for commit 243aed52 (cmTimestamp: Support
SOURCE_DATE_EPOCH to override current time, 2017-01-25).
In openSUSE we are running the test-suite as part of the build and that
failed in these two places when building everything with
`SOURCE_DATE_EPOCH` set.
Teach Visual Studio generators to include external object files in the
list of objects whose symbols are to be exported. The Makefile and
Ninja generators already did this.
560574b0 FeatureSummary: Update release notes
3cfde818 FeatureSummary: Refactor to use global properties for package types
f0165eb6 FeatureSummary: Allow lists of dependencies in ADD_FEATURE_INFO
9da7bf08 FeatureSummary: Add QUIET_ON_EMPTY option to feature_summary
4cf4aceb FeatureSummary: Add unit tests
614a97a5 FeatureSummary: Do not force OPTIONAL type in SET_PACKAGE_PROPERTIES
65a0bfd8 FeatureSummary: Add deprecation warnings to deprecated commands
4da3cae9 FeatureSummary: Clean printed output