Commit Graph

31863 Commits

Author SHA1 Message Date
Kitware Robot
4b033ca0eb CMake Nightly Date Stamp 2022-01-30 00:01:13 -05:00
Brad King
16fbf6ccb6 Merge topic 'gcc12-warning'
ae101921e8 Source: Avoid gcc 12 compilation warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6916
2022-01-29 06:30:19 -05:00
Kitware Robot
4b2ab96c51 CMake Nightly Date Stamp 2022-01-29 00:01:17 -05:00
Brad King
6108352f0a Merge topic 'ibmclang-compiler'
8c1731546c Help: Add release note for IBM Open XL C/C++ compiler support
24da80b70a Utilities: Suppress warnings in third-party code with IBMClang
6da99e671c IBMClang: Add support for IBM Open XL C/C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6785
2022-01-28 09:50:15 -05:00
Brad King
ba069c10dd Merge topic 'cuda_vs_arch_all'
daf372c4d6 CUDA: Fix issuing error if default architecture detection fails
7a0d098352 CUDA: Error on empty/invalid CMAKE_CUDA_ARCHITECTURES set by user
d19273bc7b CUDA: Support all and all-major on Visual Studio
5f667d783a CUDA: Actually use reverse architecture deprecation order for Clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !6912
2022-01-28 09:40:50 -05:00
Brad King
4ff6ea0f2f Merge topic 'timestamp-microseconds'
c050d6a01e string(TIMESTAMP): add %f specifier for microseconds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6910
2022-01-28 09:39:03 -05:00
Brad King
5126b3b8d1 Merge topic 'message-flush'
634587e322 message: Restore explicit flushing of messages on stderr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6913
2022-01-28 09:36:02 -05:00
Brad King
ae101921e8 Source: Avoid gcc 12 compilation warning
GCC 12 warns:

    warning: '%04d' directive output may be truncated writing between
    4 and 11 bytes into a region of size 5 [-Wformat-truncation=]

The surrounding logic guarantees the formatted integer will never
be more than 4 bytes, but it doesn't hurt to use a larger buffer.
This GCC behavior is documented:

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104012#c5
2022-01-28 08:06:13 -05:00
Peter Würth
c050d6a01e string(TIMESTAMP): add %f specifier for microseconds
The %f specified extends the string(TIMESTAMP) and file(TIMESTAMP)
commands to output the timestamp with a microsecond resolution.
This convention is offered by python's datetime module.
Before, the precision was limited to seconds.

The implementation is done by extending existing cmTimestamp methods
with a `microseconds` parameter. This parameter is optional in order to
be backwards compatible. The timestamps are now received in a
cross-platform manner using libuv, since the standard C functions like
time() don't allow for sub-second precision.

This requires libuv 1.28 or higher.  We already require higher than
that on Windows, so update the required version for other platforms.

Implements: #19335
2022-01-28 06:23:57 -05:00
Kitware Robot
ee1bed5058 CMake Nightly Date Stamp 2022-01-28 00:01:22 -05:00
Brad King
634587e322 message: Restore explicit flushing of messages on stderr
In the `cmake` command-line tool, the `message()` command with no
message mode argument prints the message stderr using the C++ `cerr`
stream.  Since commit 0a0a0f8a74 (cmMessenger: Color messages to
terminal by type, 2021-05-18, v3.21.0-rc1~146^2) and an update by
commit c7a8c9c811 (cmMessenger: Revert to non-color messages on
Windows, 2021-07-20, v3.21.1~15^2), we print the newline at the end of
the message using just `\n`.  We've now observed some cases of output
on stdout and stderr getting jumbled when the two go to the same file
descriptor.  Previously the newline was printed with `endl`, which
implicitly flushes.  Flush explicitly to restore that behavior.

Fixes: #23155
2022-01-27 16:06:35 -05:00
Raul Tambre
d19273bc7b CUDA: Support all and all-major on Visual Studio
The Visual Studio integration's CodeGeneration option only knows how to
generate a -gencode flag, which doesn't recognize all. Add a special case to
pass these two as regular additional flags.
2022-01-27 21:43:52 +02:00
Brad King
f4893ac0b1 Merge topic 'enlarge-build-file-stream-buffer'
bbdb000c55 GlobalNinjaGenerator: enlarge file stream buffer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6903
2022-01-27 11:11:59 -05:00
Brad King
b41b841cc6 Merge topic 'encode-literal-inplace'
5c3f188bef GlobalNinjaGenerator: Add EncodeLiteralInplace which doesn't copy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6904
2022-01-27 11:11:11 -05:00
Brad King
6a9a0d98e2 Merge topic 'vs-version-enum-class'
a88f98b3be Make cmGlobalVisualStudioGenerator::VSVersion enum class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6902
2022-01-27 11:10:21 -05:00
Brad King
1acf9aec75 Merge topic 'lcc-lexer-warnings'
a8fbe9a2fa LexerParser: Suppress LCC warnings in generated code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6896
2022-01-27 11:08:26 -05:00
Brad King
67d604a792 Merge topic 'nmake-rsp-encoding'
d5ee6d50ee NMake: Use UTF-8 BOM in response files only with MSVC tooling
cab631c2e2 NMake: Document response file encoding heuristic in a comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6905
2022-01-27 11:05:04 -05:00
Aaron Liu
24da80b70a Utilities: Suppress warnings in third-party code with IBMClang 2022-01-27 09:38:01 -05:00
Kitware Robot
44939f01e7 CMake Nightly Date Stamp 2022-01-27 00:01:14 -05:00
Clemens Wasser
bbdb000c55 GlobalNinjaGenerator: enlarge file stream buffer 2022-01-26 17:09:21 +01:00
Brad King
a8fbe9a2fa LexerParser: Suppress LCC warnings in generated code 2022-01-26 08:58:03 -05:00
Brad King
dbfa449f08 Merge topic 'parser-cleanup'
4959276c02 cmListFileCache: Remove cmCommandContext
0386641142 cmListFileCache: Rename FromCommandContext to FromListFileFunction
3c4fa4c892 cmListFileCache: Move cmListFileFunction earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6899
2022-01-26 08:05:01 -05:00
Brad King
a600b9207e Merge topic 'cache-short-paths'
6f835c3699 cmOutputConverter: Cache Short Paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6887
2022-01-26 08:02:23 -05:00
Brad King
d5ee6d50ee NMake: Use UTF-8 BOM in response files only with MSVC tooling
Since commit f3f57cc4ed (NMake: Use UTF-8 with BOM if supported by
nmake, 2021-04-22, v3.21.0-rc1~217^2), we add a BOM to response files
to tell MSVC tooling that they are encoded as UTF-8.  However, the
"NMake Makefiles" generator may also be used with non-MSVC toolchains
that do not understand the BOM.  Update the response file encoding
selection heuristic to add the BOM only with MSVC tooling.

Fixes: #23143
2022-01-26 07:57:43 -05:00
Brad King
cab631c2e2 NMake: Document response file encoding heuristic in a comment
Since commit f3f57cc4ed (NMake: Use UTF-8 with BOM if supported by
nmake, 2021-04-22, v3.21.0-rc1~217^2) the encoding of response files is
selected based on the makefile encoding.  In principle these may be
orthogonal, but in practice it is a useful heuristic.  Call out this
heuristic in a comment, and leave a FIXME to do something better.
2022-01-26 07:40:36 -05:00
Kitware Robot
c4acdcbc1c CMake Nightly Date Stamp 2022-01-26 00:01:16 -05:00
Clemens Wasser
5c3f188bef GlobalNinjaGenerator: Add EncodeLiteralInplace which doesn't copy 2022-01-25 21:39:49 +01:00
Sumit Bhardwaj
a88f98b3be Make cmGlobalVisualStudioGenerator::VSVersion enum class 2022-01-25 11:25:18 -08:00
Brad King
4959276c02 cmListFileCache: Remove cmCommandContext
Subsume it inside `cmListFileFunction`.
2022-01-25 08:40:41 -05:00
Brad King
0386641142 cmListFileCache: Rename FromCommandContext to FromListFileFunction
Accept a `cmListFileFunction` instead of a `cmCommandContext`.
2022-01-25 08:39:52 -05:00
Brad King
3c4fa4c892 cmListFileCache: Move cmListFileFunction earlier 2022-01-25 08:36:06 -05:00
Brad King
80eac95172 Merge topic 'fileapi-defer-static-init'
bfacb49154 fileapi: Make internal "toolchains" field tables more local

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6894
2022-01-25 08:24:03 -05:00
Clemens Wasser
6f835c3699 cmOutputConverter: Cache Short Paths
Cache the Short Paths since we only convert the same few paths anyway
and calling `GetShortPathNameW` is really expensive.

Also, compile the code path only on Windows hosts since it only runs
when using a Windows Shell anyway.
2022-01-25 04:27:15 -05:00
Kitware Robot
28e90f9576 CMake Nightly Date Stamp 2022-01-25 00:01:20 -05:00
Brad King
d5e3b1ca1e Merge topic 'cmp0128_cuda'
ee1396e29e CMP0128: Add flag in OLD mode even when standard matches the default
b2c25de8e0 CMP0128: Avoid test code duplication
3a089cd256 CMP0128: Prefix test names with mode
e13dd52535 XL: Detect default extensions mode for legacy compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6890
2022-01-24 12:37:52 -05:00
Brad King
63154cbf45 Merge topic 'vs-package-restore'
9aa7831f05 Presets: add resolve packages setting to build presets.
b2f8f0bb87 cmGlobalVisualStudio10Generator: Auto restore NuGet packages.
193b8fca52 cmBuildOptions: Split build arguments into separate object.
6a10103493 Help: Update preset schema description for version 3 entries.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6761
2022-01-24 11:46:29 -05:00
Brad King
25441f2617 Merge topic 'update-kwsys'
ecd5a18928 Merge branch 'upstream-KWSys' into update-kwsys
ca03a9be6c KWSys 2022-01-22 (16e180ad)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6878
2022-01-24 11:42:30 -05:00
Brad King
e9500bd770 Merge topic 'utf8-decode-empty'
0bd6009a0c cm_utf8: Fail on empty input range

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6885
2022-01-24 11:41:40 -05:00
Brad King
bfacb49154 fileapi: Make internal "toolchains" field tables more local
`Toolchains::DumpToolchain` uses some statically initialized tables.
Move them into its definition.  This may avoid initializing them
when not needed.

Issue: #23126
2022-01-24 11:33:35 -05:00
Kitware Robot
6424f7dc7d CMake Nightly Date Stamp 2022-01-24 00:02:24 -05:00
Raul Tambre
ee1396e29e CMP0128: Add flag in OLD mode even when standard matches the default
Commit 4a0485be (cmStandardLevelResolver: Avoid unnecessary flags, fix unset
level logic, 2021-04-29) unintentionally changed the behavior by modifying the
code to match a pre-existing comment. The resulting behavior change however
matches the intentions of CMP0128, so we simply need to guard it.

Fixes #23122.
2022-01-23 23:10:28 +02:00
Kitware Robot
780e61026f CMake Nightly Date Stamp 2022-01-23 00:02:04 -05:00
Carsten Rudolph
9aa7831f05 Presets: add resolve packages setting to build presets. 2022-01-22 06:35:41 -05:00
Carsten Rudolph
b2f8f0bb87 cmGlobalVisualStudio10Generator: Auto restore NuGet packages. 2022-01-22 06:35:41 -05:00
Carsten Rudolph
193b8fca52 cmBuildOptions: Split build arguments into separate object. 2022-01-22 06:35:38 -05:00
Brad King
ecd5a18928 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-01-22 (16e180ad)
2022-01-22 05:58:45 -05:00
Kitware Robot
850bdc4203 CMake Nightly Date Stamp 2022-01-22 00:01:10 -05:00
Brad King
0bd6009a0c cm_utf8: Fail on empty input range
Issue: #23132
2022-01-21 10:59:13 -05:00
Brad King
b23f57f307 Merge topic 'cmake-warn-extra-paths'
eacf1f879b cmake: Warn about unnecessary paths on command line
a4f076110d Tests: Fix RunCMake.CommandLine toolchain case command line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6882
2022-01-21 09:17:27 -05:00
Brad King
a86e42a0f5 Merge topic 'target-properties-from-variables'
fce24e4f10 define_property(): Add INITIALIZE_FROM_VARIABLE argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6865
2022-01-21 09:16:46 -05:00