Alex Turbov
6a95ab97e7
cmFindPackageCommand: Deduplicate version string comparator code
2022-07-11 17:14:01 +04:00
Alex Turbov
c6d3ef1c95
cmFindPackageCommand: Replace empty string literal w/ default std::string{}
2022-07-11 17:14:01 +04:00
Alex Turbov
f2a4e4f6fa
cmFindPackageCommand: Simplify if-return-else-return into single return stmt
2022-07-11 17:14:01 +04:00
Alex Turbov
a3fe1aca0c
cmFindPackageCommand: Replace strcmp with array subscription
2022-07-11 17:14:01 +04:00
Alex Turbov
b5f880d5c6
cmFindPackageCommand: Deduplicate code to exclude . and .. dir entries
2022-07-11 17:14:01 +04:00
Alex Turbov
045e36fe36
cmFindPackageCommand: Replace single-char string literals with char literals
2022-07-11 17:14:01 +04:00
Alex Turbov
1bed0be2cd
cmFindPackageCommand: Use std::any_of instead of "manual" for loops
2022-07-11 17:14:01 +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
Patrick Northon
a2cd0687db
try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE.
2022-07-08 15:49:02 -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
95cce32470
CMake 3.24.0-rc3
2022-07-07 11:02:54 -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
18a3ee6885
Merge topic 'ccmake-fix-pdcurses-windows' into release-3.24
...
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:12 -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
Brad King
5970536e16
Merge topic 'genex-LINK_LIBRARY-check-supported-properties' into release-3.24
...
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:00 -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
Brad King
18824a9a2d
Merge topic 'genex-LINK_LIBRARY-fix-generation'
...
e8792da04b genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genex
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !7443
2022-07-06 09:13:06 -04:00
Kitware Robot
d7ba536841
CMake Nightly Date Stamp
2022-07-06 00:01:09 -04:00
Brad King
bff468c988
cmFileCommand: Use cm::optional for keyword argument presence
2022-07-05 16:56:06 -04:00