Commit Graph

45354 Commits

Author SHA1 Message Date
Brad King
080163a657 Merge branch 'CMakeFindBinUtils-cleanup' into release-3.16
Merge-request: !3920
2019-10-15 11:19:53 -04:00
Brad King
c3c751e9dd Merge branch 'FindCurses-tinfow' into release-3.16
Merge-request: !3915
2019-10-15 11:19:44 -04:00
Brad King
c89794feae Merge branch 'FindHDF5-cray' into release-3.16
Merge-request: !3918
2019-10-15 11:19:31 -04:00
Brad King
4041f6a327 Merge branch 'doc-static-lib-flags' into release-3.16
Merge-request: !3919
2019-10-15 11:15:45 -04:00
Brad King
f0da223ff0 CMakeFindBinUtils: Remove unnecessary variable unset calls
Some unset calls were added by commit 079b8e2916 (Clang: prefer lld-link
over link.exe, 2019-07-11, v3.16.0-rc1~161^2~2) but they are unnecessary
since commit 3a82ef78eb (CMakeFindBinUtils: Rename and unset variables
for additional names, 2019-07-23, v3.16.0-rc1~332^2~2).

Suggested-by: Norbert Lange <nolange79@gmail.com>
2019-10-15 11:09:06 -04:00
Manuel Herrmann
9fc87ef2e7 FindCurses: use tinfow when wide support is requested 2019-10-15 09:50:52 -04:00
Willem Deconinck
08f4b5dcf9 FindHDF5: Append hdf5 to hdf5_hl to avoid undefined references 2019-10-15 09:47:58 -04:00
Willem Deconinck
cd6f0ef35a FindHDF5: Cray HDF5 Fortran module filename is usually capitalized 2019-10-15 09:47:58 -04:00
Brad King
fb16e0e7c0 Help: Clarify documentation of CMAKE_STATIC_LINKER_FLAGS
Issue: #19838
2019-10-15 09:43:00 -04:00
Brad King
7716be4561 Merge branch 'cmake-initial-cache-relative' into release-3.16
Merge-request: !3912
2019-10-14 16:18:16 -04:00
Brad King
74035b0ad4 Merge branch 'FindOpenMP-clang-HIP-device' into release-3.16
Merge-request: !3911
2019-10-14 16:18:08 -04:00
Peter Waller
c9d73b26b0 cmake: Fix relative path regression in -C
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
2019-10-14 16:17:00 -04:00
Konstantin Pyzhov
db5a8d7876 FindOpenMP: Add support for HIP clang device pass
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.
2019-10-12 11:04:45 -04:00
Brad King
6847d81856 Merge branch 'no-git-version' into release-3.16
Merge-request: !3910
2019-10-11 14:36:31 -04:00
Kyle Edwards
874396a30d CMakeVersion: Add option to disable Git suffix
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.
2019-10-11 14:32:09 -04:00
Brad King
b254b0651e CMakeVersion: Prefer Git information provided by 'git archive' exports
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.
2019-10-11 13:49:59 -04:00
Brad King
75f361a00c Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.16
Merge-request: !3909
2019-10-11 12:08:51 -04:00
Brad King
ecbf6546d7 IRSL: Install vcruntime140_1.dll if available
VS 2019 now distributes this additional runtime DLL with its `14.2x`
toolsets.

Fixes: #19829
2019-10-11 12:05:51 -04:00
Brad King
2eecd1c3bc IRSL: Prefer MSVC runtime libraries from newest toolset first 2019-10-11 11:57:39 -04:00
Brad King
820f952316 Merge branch 'vs-v142-csharp-flags' into release-3.16
Merge-request: !3908
2019-10-11 11:19:02 -04:00
Brad King
bbf216fb6b VS: Add toolset v142 CSharp flag table
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
2019-10-11 11:11:20 -04:00
Brad King
d26ef5d807 Merge branch 'FindPostgreSQL-macports-and-v12' into release-3.16
Merge-request: !3907
2019-10-11 11:09:46 -04:00
Ben Boeckel
ec43d96657 FindPostgreSQL: support macports installation scheme
Macports installs into `include/postgresql${suffix}`. Add this to the
list of supported suffixes. Also copy the non-server
`postgresql/${suffix}` path.
2019-10-11 11:04:13 -04:00
Ben Boeckel
908dff41c6 FindPostgreSQL: support version 12 2019-10-11 11:04:13 -04:00
Brad King
18f3e28652 Merge branch 'iar-8051-support' into release-3.16
Merge-request: !3906
2019-10-11 10:23:37 -04:00
Micael Borgefeldt
5652e11ea1 IAR: Add 8051 support
Issue: #17264
2019-10-11 10:22:52 -04:00
Micael Borgefeldt
6e51db9a40 IAR: Fix v850 assembler support file extensions
Fix the file extension added by commit 158f3795b8 (IAR: Add v850
assembler support, 2019-09-23, v3.16.0-rc1~70^2).

Issue: #17264
2019-10-11 10:22:52 -04:00
Brad King
3709389520 Merge branch 'objc-c++flags' into release-3.16
Merge-request: !3904
2019-10-11 09:24:24 -04:00
Brad King
3e05637280 Merge branch 'doc-unity-build' into release-3.16
Merge-request: !3905
2019-10-11 08:32:53 -04:00
Brad King
ef5875b559 Merge branch 'intel-19-compile-features' into release-3.16
Merge-request: !3900
2019-10-11 08:32:37 -04:00
Brad King
13c8dbd5a6 Help: Document CMAKE_UNITY_BUILD/CMAKE_EXPORT_COMPILE_COMMANDS limitation
These two options currently do not work well together.  Mention this
limitation in the documentation.

Issue: #19826
2019-10-11 08:05:59 -04:00
Brad King
ed06d27c7f Help: Extend documentation of CMAKE_UNITY_BUILD variable 2019-10-11 08:05:29 -04:00
Brad King
1d9155eb93 Help: Improve UNITY_BUILD documentation formatting 2019-10-11 08:03:29 -04:00
Cristian Adam
806e01d638 Objective-C: Do not treat Objective-C files as C++ files
When both C and C++ langauges are enabled, the Objective-C files
should be treated as C files and not as C++ files.
2019-10-11 14:01:48 +02:00
Brad King
8aac65a361 Help: Document CMAKE_UNITY_BUILD in 3.16 release notes 2019-10-11 07:54:59 -04:00
Brad King
3fb146cb11 Tests: Update CompileFeatures test for Intel 19 with VS 2015
Blacklist `cxx_relaxed_constexpr` for this case because the compiler
does not advertise the support in this mode but compiles our example.
2019-10-10 13:14:42 -04:00
Brad King
847e8bc98c Intel: Fix default C++ dialect detection on Windows
For the Intel Compiler for Windows we have some subtle preprocessor
checks in compiler feature detection to detect C++11 and C++14 modes.
Use these when detecting the default C++ dialect too.
2019-10-10 13:14:42 -04:00
Brad King
9150c818b7 CMake 3.16.0-rc1 v3.16.0-rc1 2019-10-10 09:31:05 -04:00
Brad King
580e322dcb Merge branch 'rename_loglevel_option' into release-3.16
Merge-request: !3899
2019-10-10 09:21:36 -04:00
Craig Scott
7bbddeb78d CLI: Rename --loglevel to --log-level for naming consistency
Other multi-word command line options use hyphens to separate
the words, so the --loglevel option introduced in CMake 3.15 was
inconsistent in this regard. Rename it to --log-level but still support
the original --loglevel name to preserve backward compatibility.
2019-10-10 09:20:50 -04:00
Brad King
e5419f4f87 Merge branch 'pch-generate' into release-3.16
Merge-request: !3890
2019-10-10 09:14:58 -04:00
Brad King
b63dc7c8fc Merge branch 'ExternalProject-minor-typos' into release-3.16
Merge-request: !3898
2019-10-09 09:22:08 -04:00
Brad King
88fa7b761d Merge branch 'vs-16.4-global-targets' into release-3.16
Merge-request: !3896
2019-10-09 09:19:40 -04:00
Brad King
155d6d8342 Merge branch 'file-GENERATE-earlier' into release-3.16
Merge-request: !3895
2019-10-09 09:19:16 -04:00
Brad King
980d811044 Merge branch 'apple-asm-deployment-target' into release-3.16
Merge-request: !3894
2019-10-09 09:18:43 -04:00
Gregor Jasny
1a3a62251b Apple: Set Clang ASM compiler features
The same is done for the C and CXX language. This initializes
compiler flags like the sysroot path or deployment target.

Closes: #19794
Suggested-by: Kyle Fleming
2019-10-09 09:18:33 -04:00
Ben Boeckel
5d3b825cbd ExternalProject: fix some documentation typos 2019-10-09 08:27:44 -04:00
Cristian Adam
36ded610af PCH: Generate sources during Compute step 2019-10-09 13:50:25 +02:00
Brad King
04e5f30ad3 VS: Tell VS 16.4 not to verify CMake-provided custom command outputs
Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify
SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to
outputs in CMake-provided targets like `install`.  Simply mark these
outputs as `SYMBOLIC` too since they are not actually generated.

Fixes: #19737
2019-10-07 17:41:31 -04:00
Brad King
f1fb63b306 file(GENERATE): Create output file structures even earlier
Since commit b80557c7bd (file(GENERATE): Evaluate early to allow
generating source files, 2014-11-04, v3.2.0-rc1~398^2) we create the
`cmSourceFile` instances marked with a `GENERATED` source file property
before tracing source dependencies.  Move it to even earlier so that
steps in `cmGlobalGenerator::AddAutomaticSources` can operate on all
sources.  This also avoids the accidental `O(n^2)` calls for `n` local
generators that we had previously.

This is also needed since commit 83c1657ff7 (Unity build: Generate
sources during Compute step, 2019-10-03) to support `file(GENERATE)`
outputs as sources in a target with `UNITY_BUILD` enabled.
2019-10-07 15:22:12 -04:00