Since commit 4ca0526f8a (cmake: Pass -S and -B into PreLoad.cmake and -C
scripts, 2019-08-20, v3.16.0-rc1~195^2) the value of `CMAKE_SOURCE_DIR`
is the source directory rather than the current working directory.
This was correct on its own, but the place storing that value is also
used as the base for relative paths specified on the command line.
The latter should of course be relative to the current working
directory.
The fix is to switch to use a full path internally, unless a full path
is already specified. Add tests for the behaviour of `-C` under these
four circumstances:
{with -S, without -S} x {full path, relative path}
Fixes: #19827
7cf79f4419 message: Support logging a context with each message
5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable
aa59badd6f Tests: Message log level tests must fail on unwanted output
7c579f0a03 Help: Move CMAKE_MESSAGE_INDENT variable to correct section
4b021bd3e9 message: Minor refactor to make code less verbose
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3680
The HIP clang makes 2 passes when compiling HIP programs: the DEVICE
pass and the HOST pass. For openmp, the `-fopenmp` option is only
passed to the HOST compilation pass. Therefore, the small test that
CMake uses for OpenMP detection fails to compile, and CMake reports
failure to detect OpenMP support in the compiler. The suggested
solution is to add check for `__HIP_DEVICE_COMPILE__` macro defined by
HIP clang for the DEVICE pass to the OpenMP detection test.
The previous regular expressions were allowing output from
lower log levels. The tests still pass after these changes but will
now catch regressions (previously they would not have).
Distro maintainers who are building from Git with patches added on
may want to disable the automatic Git suffixing, as it does not
provide any useful information and simply confuses the end user.
Add an undocumented CMake_VERSION_NO_GIT variable to disable this.
Update the approach from commit fe2c558ba6 (CMakeVersion: Preserve Git
information during 'git archive', 2019-07-25, v3.16.0-rc1~337^2) to
prefer `export-subst` information. This will allow exported source
trees to be imported into unrelated Git repositories while still using
the original upstream CMake commit information.
While the flag tables for C and C++ were generated from MSBuild `.xml`
files, the CSharp flag tables were written by hand. Copy the `v141`
flag table to use for the `v142` toolset.
Remove the special case added by commit 626c51f47b (VS: Update for
Visual Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) that mapped
the v142 flag table lookup to v141 since we now have the real v142
table.
Fixes: #19828
Macports installs into `include/postgresql${suffix}`. Add this to the
list of supported suffixes. Also copy the non-server
`postgresql/${suffix}` path.
3fb146cb11 Tests: Update CompileFeatures test for Intel 19 with VS 2015
847e8bc98c Intel: Fix default C++ dialect detection on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3900