Commit Graph

58157 Commits

Author SHA1 Message Date
Ben Boeckel eff45f790d RunCMake/CXXModules: fix example follow-on case names 2022-07-06 11:38:11 -04:00
Ben Boeckel a87c39dad1 RunCMake/CXXModules: output example test output upon failure 2022-07-06 11:38:10 -04:00
Ben Boeckel 727e3db07a RunCMake/CXXModules: append to the test options 2022-07-06 11:38:10 -04: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
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 ffd40c6b6e Tests/RunCMake/CXXModules: add a json comparison script 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
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 1d3eb4aa34 Merge topic 'clang-assembler-fix'
01d05985fd Tests: Pass -fno-lto to the Assembler test when using clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7432
2022-07-06 09:18:46 -04:00
Brad King 4ae8018ddf Merge topic 'FindOpenSSL-doc-pkg-config'
42199256af FindOpenSSL: Document use of pkg-config
475880f39b FindOpenSSL: Reformat hints documentation as definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7441
2022-07-06 09:17:42 -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 2f561f0e24 Merge branch 'release-3.24' 2022-07-06 09:13:06 -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
Brad King 9b051f557e Merge topic 'genex-LINK_LIBRARY-fix-generation' into release-3.24
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:05 -04:00
Brad King cf6225af3d Merge topic 'vs-test-arm64'
190e3b93cd Tests: Exclude win/arm64 tests with CMAKE_VS_PLATFORM_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7449
2022-07-06 08:55:09 -04:00
Brad King 0b05adebcc Merge topic 'lcc-additional-implicit-link-dirs'
0eea1e8563 LCC: for OpenMP, collectly determine implicit link dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7436
2022-07-06 08:53:47 -04:00
Brad King db256a5154 Merge topic 'pkgconfig-when-spaces-in-path'
bcdac84961 Tests/FindPkgConfig: correctly handle broken pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7435
2022-07-06 08:51:58 -04:00
Kitware Robot d7ba536841 CMake Nightly Date Stamp 2022-07-06 00:01:09 -04:00
Brad King fc30196e76 Merge branch 'release-3.24' 2022-07-05 17:35:06 -04:00
Brad King 016bc9715c Merge topic 'FindwxWidgets-more-versions'
2a19231d61 FindwxWidgets: Support more wxWidgets versions, including 3.2
853449429d FindwxWidgets: Use version number from header for library names
ed51e0bb75 FindwxWidgets: Move extracting version number to a macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7448
2022-07-05 17:35:06 -04:00
Brad King 4a8db1783c Merge topic 'FindwxWidgets-more-versions' into release-3.24
2a19231d61 FindwxWidgets: Support more wxWidgets versions, including 3.2
853449429d FindwxWidgets: Use version number from header for library names
ed51e0bb75 FindwxWidgets: Move extracting version number to a macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7448
2022-07-05 17:35:05 -04:00
Brad King 1d1b3ec199 Merge branch 'release-3.24' 2022-07-05 17:33:55 -04:00
Brad King 90f292db56 Merge topic 'doc-cpack-archive-component'
5fa14ddecb Help: Document that CPack Archive Generator <component> is all uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7438
2022-07-05 17:33:55 -04:00
Brad King a5a442d9e5 Merge topic 'doc-cpack-archive-component' into release-3.24
5fa14ddecb Help: Document that CPack Archive Generator <component> is all uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7438
2022-07-05 17:33:54 -04:00
Brad King 6271f9f186 Merge branch 'release-3.24' 2022-07-05 17:32:28 -04:00
Brad King 7de107ca56 Merge topic 'doc-TARGET_FILE-depends' into release-3.24
a4f0321ddc Help: Document $<TARGET_FILE> dependency behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7431
2022-07-05 17:32:27 -04:00
Brad King 3c9f4f8389 Merge topic 'doc-TARGET_FILE-depends'
a4f0321ddc Help: Document $<TARGET_FILE> dependency behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7431
2022-07-05 17:32:27 -04:00
Brad King eb21e350cc Merge branch 'release-3.24' 2022-07-05 17:31:06 -04:00
Brad King c3f53b8280 Merge topic 'docopt'
ee6b429498 Help: Clarify that option() is a boolean

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7434
2022-07-05 17:31:06 -04:00
Brad King b90757a13a Merge topic 'docopt' into release-3.24
ee6b429498 Help: Clarify that option() is a boolean

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7434
2022-07-05 17:31:05 -04:00
Brad King bff468c988 cmFileCommand: Use cm::optional for keyword argument presence 2022-07-05 16:56:06 -04:00
Brad King 2586afa31b cmCTest*Command:: Use cm::optional for keyword argument presence 2022-07-05 16:55:40 -04:00
Brad King 5446b15c5c cmInstallCommand: Use cm::optional for keyword argument presence 2022-07-05 16:48:17 -04:00
Brad King 298f226cb4 cmExportCommand: Use cm::optional for keyword argument presence 2022-07-05 16:47:01 -04:00
Brad King 0a4c5164c9 cmArgumentParser: Offer cm::optional bindings to capture keyword presence
Several clients have been using `keywordsMissingValue` or
`parsedKeywords` to check for the presence of keywords.  Offer them a
type-encoded way to explicitly check whether a keyword is present.
2022-07-05 16:35:01 -04:00
Brad King f3dbf4b89d cmArgumentParser: Remove unnecessary local names for common types 2022-07-05 16:35:01 -04:00
Brad King 2873f41bd9 cmArgumentParser: Require callers to consider unparsed arguments 2022-07-05 16:35:01 -04:00
Brad King 1ee5a4a548 cmArgumentParser: Avoid allocating copies of keyword strings 2022-07-05 16:34:57 -04:00
Brad King fd3ed41109 file(GENERATE): Add test case covering use of both INPUT and CONTENT
We have long incorrectly accepted both of these together, and used only
the first one.  Add a test to preserve compatibility.
2022-07-05 16:30:55 -04:00