Commit Graph

52139 Commits

Author SHA1 Message Date
Henryk Paluch 5302073010 Help: Add option to generate docs with latexpdf 2021-03-01 15:28:10 -05:00
Brad King 11506eb129 Merge topic 'FindDoxygen-policy-warnings'
79fa7529e0 FindDoxygen: Prevent CMP0054 policy warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5864
2021-03-01 14:57:39 -05:00
Brad King 0a8cb26f12 Merge branch 'release-3.20' 2021-03-01 14:56:31 -05:00
Brad King 0034289d06 Merge topic 'compilerid_require_success'
bdc40742bd CMakeDetermineCompilerId: Test without COMPILER_ID_FLAGS if REQUIRE_SUCCESS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5863
2021-03-01 14:56:31 -05:00
Brad King c829b6179c Merge topic 'compilerid_require_success' into release-3.20
bdc40742bd CMakeDetermineCompilerId: Test without COMPILER_ID_FLAGS if REQUIRE_SUCCESS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5863
2021-03-01 14:56:30 -05:00
Brad King 7a10aa922d Merge topic 'FindIntl-FindIconv-versions'
a9b11a06f5 FindIntl: Add version support
01e9922db5 FindIconv: Add version support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5852
2021-03-01 14:55:10 -05:00
Kitware Robot 653b871cb7 CMake Nightly Date Stamp 2021-03-01 00:01:15 -05:00
Kitware Robot 569547f0c4 CMake Nightly Date Stamp 2021-02-28 00:01:15 -05:00
Craig Scott 47f2d367a4 Merge topic 'FetchContent-docs'
24b467c043 Help: Prefer commit hashes in FetchContent examples for security reasons
ebcb8896e3 Help: Add missing MD5= for URL_HASH in FetchContent example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5834
2021-02-27 23:23:39 -05:00
Craig Scott 79fa7529e0 FindDoxygen: Prevent CMP0054 policy warnings
Fixes: #21871
2021-02-28 11:34:05 +11:00
Raul Tambre bdc40742bd CMakeDetermineCompilerId: Test without COMPILER_ID_FLAGS if REQUIRE_SUCCESS
If we REQUIRE_SUCCESS, i.e. TEST_FLAGS_FIRST must work, we need to also try
without user flags.

Fixes #21869.
2021-02-27 14:25:26 +02:00
Kitware Robot 9ff169d1a5 CMake Nightly Date Stamp 2021-02-27 00:01:16 -05:00
Brad King ea3f09aa40 Merge topic 'include-dir-style'
3e7dd39747 cmLocalGenerator: Simplify some GetIncludeFlag call sites
a133a583d4 cmLocalGenerator: Clarify GetIncludeFlags signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5859
2021-02-26 08:28:16 -05:00
Brad King 48c6718d88 Merge topic 'c_17_23'
8211b4706f IntelLLVM: C17 support
b9c3acac02 GNU: C23 support
c9f0613c2a GNU: C17 support
10a72c0f1c Clang: Default C standard doesn't depend on compatibility mode
6c2e309a66 Clang: Set standard flags according to frontend variant
9f81591dbf Clang: MSVC-style C flags
72f4984cdc Clang: C23 support
82239d43f8 Clang: C17 default version
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5783
2021-02-26 08:26:53 -05:00
Kitware Robot 06bc2d065b CMake Nightly Date Stamp 2021-02-26 00:01:16 -05:00
Brad King 3e7dd39747 cmLocalGenerator: Simplify some GetIncludeFlag call sites
The path style argument is meaningful only with the Ninja generator,
so drop it from call sites in Makefile and Xcode generators.
2021-02-25 13:24:54 -05:00
Brad King a133a583d4 cmLocalGenerator: Clarify GetIncludeFlags signature
Make the `config` argument non-optional so all callers must be explicit.
Convert the path style argument to an enumeration to make its role clear
at call sites.

The path style argument is implemented by `ConvertToIncludeReference`,
which was introduced with the Ninja generator by commit 5b114c9bee
(Introduce a cmLocalGenerator::ConvertToIncludeReference function,
2011-09-07, v2.8.7~187^2~4).  Its only purpose is to allow the Ninja
generator to use relative paths in `-I` flags.  Add a comment explaining
this role.
2021-02-25 13:24:45 -05:00
Raul Tambre 8211b4706f IntelLLVM: C17 support
Issue: #17755
2021-02-25 12:50:45 -05:00
Raul Tambre b9c3acac02 GNU: C23 support
Added in commit 9f936c861383dc69e0053e34315d5d0262a19e8f, released in 9.1.
2021-02-25 18:22:32 +02:00
Raul Tambre c9f0613c2a GNU: C17 support
Added in commit c76dc9c32d616eff1e0ae162042f1c0f8ca65fbf, released in 8.1.
Set as default in the same commit.

Issue: #17755
2021-02-25 18:22:32 +02:00
Raul Tambre 10a72c0f1c Clang: Default C standard doesn't depend on compatibility mode
MSVC compatibility mode doesn't affect the default standard.
2021-02-25 18:22:32 +02:00
Raul Tambre 6c2e309a66 Clang: Set standard flags according to frontend variant
They depend on the frontend not which compiler we're simulating.

Fixes #21771.
2021-02-25 18:22:32 +02:00
Raul Tambre 9f81591dbf Clang: MSVC-style C flags
Support added in LLVM commit d087d805acb664e885e9c31a916f6cfa5dbc2186, will be
released in Clang 13.
2021-02-25 18:22:32 +02:00
Raul Tambre 72f4984cdc Clang: C23 support
Added in LLVM commit d06f3917913d2558b771ccc48d838f8cd8993c01, released in
Clang 9.0.
2021-02-25 18:22:32 +02:00
Raul Tambre 82239d43f8 Clang: C17 default version
Switched in LLVM commit 91cdbd521a38495c66e30636943563ca70d3c022, released in
Clang 11.

Issue: #17755
2021-02-25 18:22:29 +02:00
Raul Tambre 9024fb632e Clang: C17 support
Added in LLVM commit 5b6c0f75e01571851b767dc63a3229c962f464f1, available since
Clang 6.

Issue: #17755
2021-02-25 18:22:10 +02:00
Raul Tambre dcd599757f C23 support 2021-02-25 18:22:10 +02:00
Raul Tambre 93b7d3d292 C17 support
Implements #17755.
2021-02-25 18:22:10 +02:00
Raul Tambre 58d9525233 Clang: Correct default C standards for ancient versions
C11 was made default in LLVM commit ab506adf7d3ced6abcaf42f92de3d6cd15fa19e8,
released in 3.5.2.
C99 was made default in LLVM commit 17f76e04d244c80e70f1c81c94d4524b53d9772d,
released in 2.1. It was flipped a few times between C89 and C99 during the 2.1
cycle, but the C89 default never made it into a release.
2021-02-25 18:22:10 +02:00
Raul Tambre 356e83c156 Clang: Correct C standards flags for ancient versions
C89, C99 flags in LLVM commit ff43821d5380ee38aff421701f1d461242b524ee.
C90 flag in LLVM commit 229ce60fc9983df5f7e83e25fa6b5c0ca4d2b135.
C1x flag in LLVM commit a686b5f8bf7b5a2ab636c0c2de5ad4c174aa33e0.
C11 flag in LLVM commit 6784aeb9ef96e5735850fa7226ed0cb45cb82e75.

Mark C90, C99 full support since 2.1. Might've been possibly a little later,
but source spelunking that much back is difficult.

Mark C11 full support since 3.0, which added _Static_assert in LLVM commit
3d9cbdc3e66e274d5d3cb94ce81a65478d9baae0.
2021-02-25 18:22:10 +02:00
Raul Tambre f112450ea0 Clang: C flags cleanup
Don't need to set the options to empty strings if not supported.
2021-02-25 18:22:10 +02:00
Raul Tambre 7596d8b951 CMakeCCompilerId: Fix C standard detection in Clang MSVC mode
Clang doesn't define __STDC__ if in MSVC compatibility mode, but does define
__STDC_VERSION__.
Avoid the fallback for this combination.
2021-02-25 18:22:07 +02:00
Brad King e53a73c6c9 Merge topic 'ci-xcode-12.4' into release-3.20
85ef0a84a0 gitlab-ci: update macOS jobs to use Xcode 12.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5858
2021-02-25 10:52:35 -05:00
Brad King c99db71533 Merge branch 'release-3.20' 2021-02-25 10:52:35 -05:00
Brad King 304ed74dc3 Merge topic 'ci-xcode-12.4'
85ef0a84a0 gitlab-ci: update macOS jobs to use Xcode 12.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5858
2021-02-25 10:52:35 -05:00
Brad King a5678e46f8 Merge topic 'runtime-dll-deps'
f31e8d33ef Genex: Fix grammatical error in TARGET_OBJECTS error message
d34d28e688 Genex: Add TARGET_RUNTIME_DLLS genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5837
2021-02-25 09:58:40 -05:00
Sibi Siddharthan a9b11a06f5 FindIntl: Add version support
Additional Changes: Rework the documentation of FindIntl

NOTES:
Reorder the REQUIRED_VARS arguments so find_package reports the library
instead of the include directory.
Handle Intl_LIBRARY in the same way how FindIconv handles it in case of glibc.
If the VERSION_VAR argument is an empty string nothing happens.

Fixes: #21857
2021-02-25 20:18:56 +05:30
Sibi Siddharthan 01e9922db5 FindIconv: Add version support
Issue: #21857
2021-02-25 20:18:55 +05:30
Brad King 85ef0a84a0 gitlab-ci: update macOS jobs to use Xcode 12.4 2021-02-25 09:09:12 -05:00
Brad King c06a6ba61a Merge topic 'create-test-source-list-duplicate-decls'
136608dfec cmCreateTestSourceList: avoid generating duplicate declarations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5856
2021-02-25 09:04:20 -05:00
Brad King 4250c5f91b Merge topic 'cuda_clang_implicit'
23753be1cc Clang/CUDA: Restore needed references to implicit link variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5855
2021-02-25 09:03:07 -05:00
Brad King 60280f0d99 Merge topic 'nvhpc-minor-fixes' into release-3.20
72efd95add PGI: Explicitly specify CMAKE_CXX98_STANDARD_COMPILE_OPTION
6bfb2c6175 HELP: Update compile-features documentation with missing compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5857
2021-02-25 09:02:02 -05:00
Brad King 3c7926ab6a Merge branch 'release-3.20' 2021-02-25 09:02:02 -05:00
Brad King 6288974ba5 Merge topic 'nvhpc-minor-fixes'
72efd95add PGI: Explicitly specify CMAKE_CXX98_STANDARD_COMPILE_OPTION
6bfb2c6175 HELP: Update compile-features documentation with missing compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5857
2021-02-25 09:02:02 -05:00
Harmen Stoppels 24b467c043 Help: Prefer commit hashes in FetchContent examples for security reasons
Fixes: #21841
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2021-02-25 21:14:15 +11:00
Craig Scott ebcb8896e3 Help: Add missing MD5= for URL_HASH in FetchContent example
Fixes: #21859
2021-02-25 21:14:15 +11:00
Kitware Robot 12cc87281f CMake Nightly Date Stamp 2021-02-25 00:01:15 -05:00
Kyle Edwards f31e8d33ef Genex: Fix grammatical error in TARGET_OBJECTS error message 2021-02-24 14:55:17 -05:00
Kyle Edwards d34d28e688 Genex: Add TARGET_RUNTIME_DLLS genex
Co-Authored-by: Brad King <brad.king@kitware.com>
2021-02-24 14:55:17 -05:00
Robert Maynard 72efd95add PGI: Explicitly specify CMAKE_CXX98_STANDARD_COMPILE_OPTION
The PGI ( and NVIDIA HPC ) compilers default C++ standard level
are based on the GCC system headers it is compiling against.

Therefore on newer platforms the default C++ level will be >= 11
and requesting C++98 compilation mode will fail as no explicit
flag will be set.
2021-02-24 13:47:03 -05:00