Commit Graph

32533 Commits

Author SHA1 Message Date
Brad King 5a460f3243 Merge topic 'file-set-crash'
3fee5398bd install(EXPORT): Check for missing file sets at generate time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7420
2022-06-30 08:20:24 -04:00
Kitware Robot 4c2cead0c3 CMake Nightly Date Stamp 2022-06-30 00:01:09 -04:00
Kyle Edwards 3fee5398bd install(EXPORT): Check for missing file sets at generate time
Missing file sets were originally checked at configure time in
install(TARGETS ... EXPORT), but were not checked at generate time. If
a file set was added after install(TARGETS ... EXPORT) was called,
an abortion error was thrown. Check again at generate time to gracefully
display an error message instead of crashing.

Fixes: #23680
2022-06-29 15:05:32 -04:00
Brad King b1d8141534 Merge topic 'log_level_command'
23bbac941a Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub command
2b6ef864e0 Move LogLevel enum out of cmake.h header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7348
2022-06-29 08:52:13 -04:00
Brad King c42a9dfce0 Merge topic 'lcc-updates'
22a2b9c49f Tests: Fix Java tests on multi-config generators
b05d297964 Tests: handle a case when hg executable is broken
2faabab644 Tests: don't fail tests on broken E2K Java RVM
1462a1e15d Tests: check for shlibdeps symbols/shlibs before testing it
070e217399 Tests: enable Java tests if javac is a recurse symlink
7545d1ca9f Tests: don't use broken makensis
f11c12f9c8 Source: Suppress some warnings on LCC 1.23.x
de16db0f64 curl: make libcmcurl buildable with old LibreSSL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7418
2022-06-29 08:48:13 -04:00
Brad King edad647dd9 Merge topic 'fix-23523'
10668f26c9 AUTOUIC: Fix internal paths of generated ui_foo.h files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7419
2022-06-29 08:43:28 -04:00
Kitware Robot 3a3e5462d0 CMake Nightly Date Stamp 2022-06-29 00:01:13 -04:00
Josiah Bills 10668f26c9 AUTOUIC: Fix internal paths of generated ui_foo.h files
For every file foo.ui we generate a ui_foo.h file in
${target}_autogen/include or ${target}_autogen/include_$<CONFIG> in the
multi-config case.  Even .ui files in subdirectories are handled this
way.  That means, .ui files with the same base name will conflict in a
target.

However, for .ui files in subdirectories we added generated sources with
the nonexistent path ${target}_autogen/include/subdir/ui_foo.h.  This
patch fixes that.

Also, CMake will now yield an error if a target has multiple .ui files
with the same base name.

Fixes #23523
2022-06-28 17:26:28 +02:00
makise-homura f11c12f9c8 Source: Suppress some warnings on LCC 1.23.x
LCC 1.23.x (confirmed for 1.23.10, 1.23.19, maybe others)
issues -Wunused-function warning on the following functions:
Source/cmFileAPICodemodel.cxx:126, ValueEq()
Source/cmFileAPICodemodel.cxx:130, ValueLess()
Source/cmGeneratorExpressionNode.cxx:630, back()
This fix makes it silent for compatibility.
This is not a subject for newer LCC versions, like 1.25 and 1.26.
On LCC 1.21 CMake is not buildable, and 1.22 and 1.24 are not
tested, as they are internal development versions. Thus, the fix
is only applied if LCC 1.23 is detected.
2022-06-28 11:12:04 -04:00
Alexandru Croitor 23bbac941a Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub command
The new sub-command writes a string representation of the
current log level to the output variable given to the
sub-command.

Given that the log-level might be set either via the --log-level
command line option or via the CMAKE_MESSAGE_LOG_LEVEL
cache / regular variables, the priority for each of the log level
sources is as follows, with the first one being the highest:
1) --log-level
2) CMAKE_MESSAGE_LOG_LEVEL regular variable
3) CMAKE_MESSAGE_LOG_LEVEL cache variable
4) default log level (STATUS)

Fixes: #23572
2022-06-28 16:03:22 +02:00
Brad King 31cbe200f3 Merge topic 'posix_c'
e1adddc74e RunCMake/CXXModules/NoCXX20: Force older standard
3f7ebf9354 RunCMake/CTestTimeout: Include sched.h for pid_t
8eb8d16c19 cmSystemTools: Fix unsetenv() fallback
324ca5b489 Tests/CTestTestFdSetSize: Support plain POSIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7408
2022-06-28 09:28:08 -04:00
Kitware Robot 10bacfb26b CMake Nightly Date Stamp 2022-06-28 00:01:06 -04:00
Kitware Robot 80e4a155e0 CMake Nightly Date Stamp 2022-06-27 00:01:14 -04:00
Raul Tambre 8eb8d16c19 cmSystemTools: Fix unsetenv() fallback
The fallback path boils down to putenv(). Calling that with a "=" sets the
variable to an empty string.
Use cmSystemTools::UnPutEnv() instead, which correctly handles unsetting
variables on a variety of systems.
2022-06-26 11:50:00 +03:00
Kitware Robot 526d10139d CMake Nightly Date Stamp 2022-06-26 00:01:08 -04:00
Kitware Robot 42984e7c16 CMake Nightly Date Stamp 2022-06-25 00:01:07 -04:00
Alexandru Croitor 2b6ef864e0 Move LogLevel enum out of cmake.h header
Move LogLevel enum into the cmMessageType.h header in preparation
for a new log level querying feature.
Wrap the enum into a new Message namespace.
Adjust all code usages.
2022-06-24 16:24:33 +02:00
Kitware Robot 68eece740a CMake Nightly Date Stamp 2022-06-24 00:01:11 -04:00
Brad King 10c2bb626e Merge topic 'update-kwsys'
db19b7a73f Merge branch 'upstream-KWSys' into update-kwsys
02dbf65dee KWSys 2022-06-21 (d427a180)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7403
2022-06-23 09:38:26 -04:00
Brad King b865fead75 Merge topic 'snprintf'
d5694e4623 Source: Replace uses of sprintf with safer snprintf
eccd0b92b6 Source: Tell Git not to check whitespace in third-party curses form code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7383
2022-06-23 09:31:40 -04:00
Brad King 5d8289116d Merge topic 'vs-compile-batching'
9a0a94fdaa VS: Add variable to to turn off Visual Studio compile batching
a7ebb73929 Help: Improve formatting in VS_NO_COMPILE_BATCHING docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7405
2022-06-23 09:23:56 -04:00
Kitware Robot de7f39c2a6 CMake Nightly Date Stamp 2022-06-23 00:01:07 -04:00
Brad King 9a0a94fdaa VS: Add variable to to turn off Visual Studio compile batching
Extend the change from commit b764c7c273 (VS: Add property to turn off
Visual Studio compile batching, 2022-02-07, v3.24.0-rc1~710^2) by
adding a variable to initialize the property on every target.

Issue: #23179
Fixes: #23639
2022-06-22 12:07:03 -04:00
Brad King db19b7a73f Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-06-21 (d427a180)
2022-06-22 11:01:05 -04:00
Sean McBride d5694e4623 Source: Replace uses of sprintf with safer snprintf 2022-06-22 08:59:40 -04:00
Brad King eccd0b92b6 Source: Tell Git not to check whitespace in third-party curses form code 2022-06-22 08:59:40 -04:00
Brad King 07a0c0a12b Merge topic 'use-arm64-msbuild'
80273514aa VS: Prefer ARM64 MSBuild on Windows ARM64 host

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7381
2022-06-22 08:48:33 -04:00
Brad King dc67ae7cd3 Merge topic 'use-arm64-msbuild' into release-3.24
80273514aa VS: Prefer ARM64 MSBuild on Windows ARM64 host

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7381
2022-06-22 08:48:32 -04:00
Brad King 52e9225e4f Merge topic 'xcode14'
7c79fde5fb Xcode: automatically create Info.plist for signing during compiler id
116cc5a57b cm_cxx_features: filter out warnings from Xcode 14

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7391
2022-06-22 08:47:38 -04:00
Kitware Robot da27438883 CMake Nightly Date Stamp 2022-06-22 00:01:08 -04:00
Tommy Vercetti 80273514aa VS: Prefer ARM64 MSBuild on Windows ARM64 host
Fixes: #23629
2022-06-21 10:56:42 -04:00
Gregor Jasny 116cc5a57b cm_cxx_features: filter out warnings from Xcode 14
```
xcodebuild[13070:54426] [MT] DVTSDK: Warning: SDK path collision for path
```
2022-06-21 10:48:37 -04:00
Brad King 8d8957e56d Merge topic 'add_export_no_system'
9680b3b279 Add EXPORT_NO_SYSTEM target property, deprecate IMPORTED_NO_SYSTEM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7379
2022-06-21 10:46:03 -04:00
Kitware Robot 45778c4f49 CMake Nightly Date Stamp 2022-06-21 00:01:11 -04:00
Kitware Robot 24142cf841 CMake Nightly Date Stamp 2022-06-20 00:01:17 -04:00
Kitware Robot d7bd40852a CMake Nightly Date Stamp 2022-06-19 00:01:07 -04:00
Kitware Robot c27a0b773f CMake Nightly Date Stamp 2022-06-18 00:01:11 -04:00
Brad King d94e09ec88 Merge topic 'cpp-named-module-file-sets'
07bc3b07ec gitlab-ci: test C++ modules using GCC
1b2270aa4e ci: add a Docker image to test out C++ modules with GCC
8c5a53096a Tests/RunCMake/CXXModules: add module-using examples
4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation
b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format
02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
a046a45aad cmGlobalNinjaGenerator: add a TODO for header units
386465bf83 cmTarget: add support for C++ module fileset types
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7369
2022-06-17 11:35:12 -04:00
Brad King 6940a67d47 Merge topic 'try_compile-cross-app-bundles'
81549baff4 try_compile: Fix COPY_FILE with app-bundles on non-macOS hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7377
2022-06-17 11:31:38 -04:00
Brad King 4f7291928b Merge topic 'msvc_cuda_pass_arch_flags_in_additional_options'
e3983168da CUDA: MSVC pass all cuda gencode flags via AdditionalOptions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7359
2022-06-17 11:29:54 -04:00
Da Quexian 9680b3b279 Add EXPORT_NO_SYSTEM target property, deprecate IMPORTED_NO_SYSTEM
Issue: #18040

Signed-off-by: Da Quexian <daquexian566@gmail.com>
2022-06-17 22:38:07 +08:00
Kitware Robot 467d0e01f8 CMake Nightly Date Stamp 2022-06-17 00:01:11 -04:00
Heiko Lewin 81549baff4 try_compile: Fix COPY_FILE with app-bundles on non-macOS hosts
Cross compiling from eg linux to apple-platforms requires handling of
.app-Bundles.

Fixes: #23597
2022-06-16 14:29:16 -04:00
Ben Boeckel 4151547e2f cmGlobalNinjaGenerator: use cmModuleMapper implementation 2022-06-16 10:28:34 -04:00
Ben Boeckel b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format 2022-06-16 10:28:34 -04:00
Ben Boeckel 02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
This will allow all generators to share an implementation for actually
writing out the module map formats.
2022-06-16 10:28:34 -04:00
Ben Boeckel a046a45aad cmGlobalNinjaGenerator: add a TODO for header units 2022-06-16 10:28:34 -04:00
Ben Boeckel 386465bf83 cmTarget: add support for C++ module fileset types
C++ modules have two variants which are of importance to CMake:

  - `CXX_MODULES`: interface modules (those using `export module M;`,
    `export module M:part;`, or `module M:internal_part;`)
  - `CXX_MODULE_HEADER_UNITS`: importable header units

Creating C++ modules or partitions are *not* supported in any other
source listing. This is because the source files must be installed (so
their scope matters), but not part of usage requirements (what it means
for a module source to be injected into a consumer is not clear at this
moment). Due to the way `FILE_SET` works with scopes, they are a perfect
fit as long as `INTERFACE` is not allowed (which it is not).
2022-06-16 10:28:34 -04:00
Brad King dd8befd9d3 Merge topic 'add_SYSTEM_prop'
69beee5314 Add SYSTEM target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7308
2022-06-16 09:00:45 -04:00
Brad King 7eddfed10f Merge topic 'xcode-launch-mode'
a1a0ae3ad4 Xcode: Add Xcode SCHEME control for 'Launch' control

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7355
2022-06-16 08:59:51 -04:00