Commit Graph

32613 Commits

Author SHA1 Message Date
Brad King 31d7aa5e3c cmCMakePathCommand: Use cm::optional for keyword argument presence 2022-07-20 16:03:12 -04:00
Brad King 316960ded0 cmInstallCommand: Drop unused local variable 2022-07-20 16:03:12 -04:00
Kyle Edwards 5ef74c4053 Merge topic 'ninja-multi-compile-commands-duplicates'
a186c1aff6 Ninja Multi-Config: Deduplicate compile_commands.json for cross configs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Hannon <hello111f@gmail.com>
Merge-request: !7477
2022-07-18 10:19:43 -04:00
Kitware Robot 9590e3bd80 CMake Nightly Date Stamp 2022-07-18 00:01:14 -04:00
Kitware Robot b1a0072d2a CMake Nightly Date Stamp 2022-07-17 00:01:07 -04:00
Kitware Robot 831757ead3 CMake Nightly Date Stamp 2022-07-16 00:01:08 -04:00
Kyle Edwards a186c1aff6 Ninja Multi-Config: Deduplicate compile_commands.json for cross configs
compile_commands.json was being written for every permutation of
cross configurations. Deduplicate so only one command is output
for each configuration.

Fixes: #23733
2022-07-15 16:22:21 -04:00
Kitware Robot cc803ce680 CMake Nightly Date Stamp 2022-07-15 00:01:09 -04:00
Kyle Edwards cf8fdf5e43 Merge topic 'export-try-compile-crash'
29c7546a61 cmGlobalGenerator: Only compute build files for all targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7472
2022-07-14 09:56:04 -04:00
Kyle Edwards b051fa5392 Merge topic 'vs-msb-8028'
d99d33d749 VS: Generate IntDir property for INTERFACE libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7462
2022-07-14 09:54:46 -04:00
Kitware Robot 7fa5b3eecc CMake Nightly Date Stamp 2022-07-14 00:01:07 -04:00
Kyle Edwards 29c7546a61 cmGlobalGenerator: Only compute build files for all targets
If we're creating generation objects for imported targets only, we
don't need the export sets. Only compute build file generators
if generating for all targets.

Fixes: #23709
2022-07-13 11:34:34 -04:00
Kitware Robot 6a35e799fd CMake Nightly Date Stamp 2022-07-13 00:01:06 -04:00
Kitware Robot 2b37f48009 CMake Nightly Date Stamp 2022-07-12 00:01:06 -04:00
Kitware Robot 6212038992 CMake Nightly Date Stamp 2022-07-11 00:01:16 -04:00
Kitware Robot 8a32a96db6 CMake Nightly Date Stamp 2022-07-10 00:01:08 -04:00
Kitware Robot 6734c2af47 CMake Nightly Date Stamp 2022-07-09 00:01:09 -04:00
Jonas Fierlings d99d33d749 VS: Generate IntDir property for INTERFACE libraries
This prevents MSBuild from complaining with warning MSB8028.

Fixes #23043
2022-07-08 16:47:01 +02:00
Brad King 974511a870 Merge topic 'command-arg-parser-maybe-empty'
f46b2e9142 cmArgumentParser: Model maybe-missing string with wrapper type
e6d1e29ffa cmArgumentParser: Model maybe-empty and non-empty lists with wrapper types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7459
2022-07-08 09:06:52 -04:00
Brad King cf043b9150 Merge topic 'xcode_swift_definitions'
5cb625eb2f Xcode: Pass compile definitions to Swift

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7388
2022-07-08 09:02:08 -04:00
Kitware Robot c4cdd7a24d CMake Nightly Date Stamp 2022-07-08 00:01:08 -04:00
Brad King f46b2e9142 cmArgumentParser: Model maybe-missing string with wrapper type
Bindings to `std::string` require one value.  Some clients have been
filtering `keywordsMissingValue` to support keywords that tolerate a
missing value.  Offer them a type-safe way to achieve this instead.
2022-07-07 09:49:04 -04:00
Brad King e6d1e29ffa cmArgumentParser: Model maybe-empty and non-empty lists with wrapper types
Previously bindings to `std::vector<std::string>` required at least one
value.  Some clients have been filtering `keywordsMissingValue` to
support keywords followed by empty lists.  Instead, require clients to
specify whether a keyword's list can be empty as part of the binding
type.
2022-07-07 09:48:58 -04:00
Brad King 4c50f639c7 Merge topic 'cpp-named-module-export-infra'
f62c3c3c72 RunCMake/CXXModules: test public modules requiring private modules
c5d4dd713f RunCMake/CXXModules: add tests which export BMIs
4d55f1422e RunCMake/CXXModules: test installation of BMIs and interfaces
eff45f790d RunCMake/CXXModules: fix example follow-on case names
a87c39dad1 RunCMake/CXXModules: output example test output upon failure
727e3db07a RunCMake/CXXModules: append to the test options
f899563ae4 cmGlobalNinjaGenerator: verify that private sources stay private
9ecd3e771b cmGlobalNinjaGenerator: generate install rules for BMI files
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !7224
2022-07-07 09:25:55 -04:00
Brad King d21b391cde Merge topic 'file-TIMESTAMP-relative-path'
733801b57f file(TIMESTAMP): Interpret relative paths w.r.t. the source tree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7440
2022-07-07 09:22:11 -04:00
Brad King 3b1d54506f Merge topic 'generator-makefiles-deps-messages-VERBOSE'
9480ced81a Makefiles generator: dependencies messages in verbose mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7456
2022-07-07 09:14:23 -04:00
Brad King e5530f3d97 Merge topic 'ccmake-fix-pdcurses-windows'
a78d10220c ccmake: Fix mangled configuration log with PDCurses on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7458
2022-07-07 09:13:13 -04:00
Brad King 24631689f0 Merge topic 'genex-LINK_LIBRARY-check-supported-properties'
913ea78d7a Genex LINK_LIBRARY and LINK_GROUP: check supported properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7454
2022-07-07 09:07:01 -04:00
David Geldreich 5cb625eb2f Xcode: Pass compile definitions to Swift
correct Xcode generator Swift definitions
original code was defining GCC_PREPROCESSOR_DEFINITIONS which is valid only for C languages
add definitions to SWIFT_ACTIVE_COMPILATION_CONDITIONS when Swift language is used in the target
add test in SwiftOnly
for old Xcode (<8.0), append defines to cflags so it ends up in OTHER_SWIFT_FLAGS

Fixes: #23637
2022-07-07 15:00:32 +02:00
Kitware Robot f0bb74765a CMake Nightly Date Stamp 2022-07-07 00:01:08 -04:00
Duncan Ogilvie a78d10220c ccmake: Fix mangled configuration log with PDCurses on Windows
This fix seems to work on both Windows and Ubuntu (WSL).

Issue: #18053
2022-07-06 12:14:47 -04:00
Marc Chevrier 9480ced81a Makefiles generator: dependencies messages in verbose mode
Fixes: #23689
2022-07-06 17:40:08 +02:00
Ben Boeckel f899563ae4 cmGlobalNinjaGenerator: verify that private sources stay private
Private source files are not installed or made available, so they must
not be required by public module interface units at all.
2022-07-06 11:37:51 -04:00
Ben Boeckel 9ecd3e771b cmGlobalNinjaGenerator: generate install rules for BMI files 2022-07-06 11:37:50 -04:00
Ben Boeckel 89f39b6539 cmGlobalNinjaGenerator: generate module property files for each target export 2022-07-06 11:33:16 -04:00
Marc Chevrier 913ea78d7a Genex LINK_LIBRARY and LINK_GROUP: check supported properties
Refines check for properties supporting these genex.
Enhance error message.

Fixes: #23699
2022-07-06 16:15:43 +02:00
Ben Boeckel cf847617be cmGlobalNinjaGenerator: verify generated objects against filesets 2022-07-06 10:15:23 -04:00
Ben Boeckel fddd44c897 cmNinjaTargetGenerator: write out BMI install information for the collator 2022-07-06 10:15:23 -04:00
Ben Boeckel 95402a0bd7 cmNinjaTargetGenerator: write out export information for the collator
The collator will use this to know where the target's export information
needs to go so that module properties may be provided.
2022-07-06 10:15:23 -04:00
Ben Boeckel d3e2e61bcd cmNinjaTargetGenerator: write out fileset information for the collator
The collator will use this to generate property settings for the
imported targets in the build and install export sets.
2022-07-06 10:15:23 -04:00
Ben Boeckel 48502a3781 cmExperimental: update CXX_MODULE_CMAKE_API UUID
The set of features available has been expanded, so update the UUID.
2022-07-06 10:15:23 -04:00
Ben Boeckel 3526b8c123 cmExport*FileGenerator: support exporting C++ module properties
C++ module properties will be generated at build time, so generate code
that includes the files actually responsible for the information.
2022-07-06 10:15:23 -04:00
Ben Boeckel fe44cbe9e7 exports: support CXX_MODULES_DIRECTORY
This directory will be used to store build-discovered information about
targets such as the modules provided by the files in the relevant
`FILE_SET` types.

A directory is used because basing the name on a `<FILE_NAME>-*.cmake`
pattern makes it end up being globbed in the configuration-dependent
information mechanism. Since old modules and targets may be around,
unconditionally including them may refer to targets that do not actually
exist.
2022-07-06 10:15:23 -04:00
Ben Boeckel 29118091dc install: support CXX_MODULES_BMI installation bits 2022-07-06 10:15:23 -04:00
Ben Boeckel f3cfde394a cmTargetSourcesCommand: allow INTERFACE C++ modules when imported
`PUBLIC` filesets become `INTERFACE` upon installation. Allow
`INTERFACE` scopes for C++ modules when the target is imported.
2022-07-06 10:15:23 -04:00
Ben Boeckel ea3175a4eb cmExportInstallAndroidMKGenerator: combine string literals 2022-07-06 10:15:23 -04:00
TheBrokenRail 733801b57f file(TIMESTAMP): Interpret relative paths w.r.t. the source tree
Fixes: #23610
2022-07-06 09:28:21 -04:00
Brad King ad2e7f3c53 Merge topic 'command-arg-parser-optional'
bff468c988 cmFileCommand: Use cm::optional for keyword argument presence
2586afa31b cmCTest*Command:: Use cm::optional for keyword argument presence
5446b15c5c cmInstallCommand: Use cm::optional for keyword argument presence
298f226cb4 cmExportCommand: Use cm::optional for keyword argument presence
0a4c5164c9 cmArgumentParser: Offer cm::optional bindings to capture keyword presence
f3dbf4b89d cmArgumentParser: Remove unnecessary local names for common types
2873f41bd9 cmArgumentParser: Require callers to consider unparsed arguments
1ee5a4a548 cmArgumentParser: Avoid allocating copies of keyword strings
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7450
2022-07-06 09:22:38 -04:00
Brad King fd0042b68a Merge topic 'freebsd-cpack-update'
2655605261 FreeBSD: follow CPACK_PACKAGE_FILE_NAME, if set
50580af645 FreeBSD (docs): repair errors in documentation of FreeBSD-cpack
1b61cd1597 FreeBSD: explain the pkg_create() call
57e8cd1a81 FreeBSD: drop support for libpkg before 1.17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7447
2022-07-06 09:19:45 -04:00
Brad King b80ccea686 Merge topic 'enable_language-deduplicate'
e3c8012ccd Help: Document enable_language accepting multiple languages
b4fd385c9b cmMakefile: Dedupe languages when enabling them
66bfe14309 cmMakefile: Refactor parameter and variable names for EnableLanguage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7426
2022-07-06 09:16:34 -04:00