summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cmGlobalNinjaGenerator: generate module property files for each target exportBen Boeckel2022-07-061-0/+111
|
* cmGlobalNinjaGenerator: verify generated objects against filesetsBen Boeckel2022-07-062-4/+140
|
* cmNinjaTargetGenerator: write out BMI install information for the collatorBen Boeckel2022-07-0611-0/+254
|
* cmNinjaTargetGenerator: write out export information for the collatorBen Boeckel2022-07-069-0/+356
| | | | | The collator will use this to know where the target's export information needs to go so that module properties may be provided.
* cmNinjaTargetGenerator: write out fileset information for the collatorBen Boeckel2022-07-067-0/+287
| | | | | The collator will use this to generate property settings for the imported targets in the build and install export sets.
* Tests/RunCMake/CXXModules: add a json comparison scriptBen Boeckel2022-07-061-0/+160
|
* cmExperimental: update `CXX_MODULE_CMAKE_API` UUIDBen Boeckel2022-07-066-6/+6
| | | | The set of features available has been expanded, so update the UUID.
* cmExport*FileGenerator: support exporting C++ module propertiesBen Boeckel2022-07-0615-1/+414
| | | | | C++ module properties will be generated at build time, so generate code that includes the files actually responsible for the information.
* exports: support `CXX_MODULES_DIRECTORY`Ben Boeckel2022-07-067-9/+70
| | | | | | | | | | | | 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.
* install: support `CXX_MODULES_BMI` installation bitsBen Boeckel2022-07-0620-6/+347
|
* cmTargetSourcesCommand: allow `INTERFACE` C++ modules when importedBen Boeckel2022-07-067-3/+33
| | | | | `PUBLIC` filesets become `INTERFACE` upon installation. Allow `INTERFACE` scopes for C++ modules when the target is imported.
* cmExportInstallAndroidMKGenerator: combine string literalsBen Boeckel2022-07-061-2/+1
|
* Merge topic 'command-arg-parser-optional'Brad King2022-07-0634-254/+294
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * cmFileCommand: Use cm::optional for keyword argument presenceBrad King2022-07-055-87/+73
| |
| * cmCTest*Command:: Use cm::optional for keyword argument presenceBrad King2022-07-058-67/+45
| |
| * cmInstallCommand: Use cm::optional for keyword argument presenceBrad King2022-07-051-10/+9
| |
| * cmExportCommand: Use cm::optional for keyword argument presenceBrad King2022-07-051-9/+5
| |
| * cmArgumentParser: Offer cm::optional bindings to capture keyword presenceBrad King2022-07-052-11/+49
| | | | | | | | | | | | 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.
| * cmArgumentParser: Remove unnecessary local names for common typesBrad King2022-07-052-8/+5
| |
| * cmArgumentParser: Require callers to consider unparsed argumentsBrad King2022-07-053-8/+8
| |
| * cmArgumentParser: Avoid allocating copies of keyword stringsBrad King2022-07-0518-83/+95
| |
| * file(GENERATE): Add test case covering use of both INPUT and CONTENTBrad King2022-07-054-0/+20
| | | | | | | | | | We have long incorrectly accepted both of these together, and used only the first one. Add a test to preserve compatibility.
| * file(CONFIGURE): Add test cases covering missing mandatory optionsBrad King2022-07-057-0/+14
| |
* | Merge topic 'freebsd-cpack-update'Brad King2022-07-062-32/+34
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | FreeBSD: follow CPACK_PACKAGE_FILE_NAME, if setAdriaan de Groot2022-07-051-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | The underlying pkg library always produces a <name>-<version>.pkg file, so to follow CPACK_PACKAGE_FILE_NAME we need to detect that and rename appropriately. FIXES #23034
| * | FreeBSD (docs): repair errors in documentation of FreeBSD-cpackAdriaan de Groot2022-07-051-5/+7
| | |
| * | FreeBSD: explain the pkg_create() callAdriaan de Groot2022-07-051-0/+8
| | | | | | | | | | | | | | | - the upstream API is undocumented, so dig in the C sources to get parameter names.
| * | FreeBSD: drop support for libpkg before 1.17Adriaan de Groot2022-07-051-28/+1
| | | | | | | | | | | | All supported FreeBSD versions are now using 1.17 or later
* | | Merge topic 'clang-assembler-fix'Brad King2022-07-061-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 01d05985fd Tests: Pass -fno-lto to the Assembler test when using clang Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7432
| * | | Tests: Pass -fno-lto to the Assembler test when using clangTom Stellard2022-06-301-0/+6
| | | |
* | | | Merge topic 'FindOpenSSL-doc-pkg-config'Brad King2022-07-061-5/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | FindOpenSSL: Document use of pkg-configtofraa2022-07-051-0/+5
| | | | | | | | | | | | | | | | | | | | Issue: #17548
| * | | | FindOpenSSL: Reformat hints documentation as definition listBrad King2022-07-051-5/+12
| | | | |
* | | | | Merge topic 'enable_language-deduplicate'Brad King2022-07-065-16/+67
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | Help: Document enable_language accepting multiple languagesfriendlyanon2022-06-301-4/+5
| | | | | |
| * | | | | cmMakefile: Dedupe languages when enabling themfriendlyanon2022-06-304-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmMakefile::EnableLanguage() now deduplicates the languages argument and emits an author warning listing the languages that were defined multiple times in a single call. Fixes: #23596
| * | | | | cmMakefile: Refactor parameter and variable names for EnableLanguagefriendlyanon2022-06-301-12/+14
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 731369ef9c (ENH: try to initialize all languages at the same time, 2004-08-27, v2.4.0~2899) the languages parameter name for cmMakefile::EnableLanguage() was changed to "std::vector languages" in the declaration, however the definition had "std::vector lang". Furthermore, the variable names in the definition had confusing names, such as the "i" variable in the loop which referred to an iterator at one point, but no longer does.
* | | | | Merge branch 'release-3.24'Brad King2022-07-060-0/+0
|\ \ \ \ \
| * \ \ \ \ Merge topic 'genex-LINK_LIBRARY-fix-generation' into release-3.24Brad King2022-07-065-0/+23
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e8792da04b genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7443
* | \ \ \ \ \ Merge topic 'genex-LINK_LIBRARY-fix-generation'Brad King2022-07-065-0/+23
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e8792da04b genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7443
| * | | | | | genex-LINK_LIBRARY: ensure correct generation inside LINK_GROUP genexMarc Chevrier2022-07-055-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix ensures the following pattern is correctly handled: $<LINK_GROUP:group_feat,$<LINK_LIBRARY:lib_feat,mylib>> With: CMAKE_LINK_GROUP_USING_group_feat = "—START_GROUP" "—END_GROUP" CMAKE_LINK_LIBRARY_USING_lib_feat = "—PREFIX" "—LINK <LIBRARY>" "—SUFFIX" Before the fix, we get the following generation: —START_GROUP —PREFIX —LINK /path/to/mylib —END_GROUP —SUFFIX —END_GROUP and —SUFFIX are in the wrong order After the fix, we get the correct order: —START_GROUP —PREFIX —LINK /path/to/mylib —SUFFIX —END_GROUP
* | | | | | | Merge topic 'vs-test-arm64'Brad King2022-07-063-6/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 190e3b93cd Tests: Exclude win/arm64 tests with CMAKE_VS_PLATFORM_NAME Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7449
| * | | | | | | Tests: Exclude win/arm64 tests with CMAKE_VS_PLATFORM_NAMENiyas Sait2022-07-053-6/+6
| | |_|_|_|_|/ | |/| | | | |
* | | | | | | Merge topic 'lcc-additional-implicit-link-dirs'Brad King2022-07-061-0/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | LCC: for OpenMP, collectly determine implicit link dirsmakise-homura2022-06-301-0/+17
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is found out for LCC to not specify all library search paths when called by cmake_parse_implicit_link_info(). Because of that, FindOpenMP module can't find some libraries, like libpthread. For this, we should analyze -print-search-dirs output and append library paths to implicit link ones.
* | | | | | | Merge topic 'pkgconfig-when-spaces-in-path'Brad King2022-07-061-1/+24
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bcdac84961 Tests/FindPkgConfig: correctly handle broken pkg-config Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7435
| * | | | | | | Tests/FindPkgConfig: correctly handle broken pkg-configmakise-homura2022-07-011-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older versions of pkg-config (e.g. 0.21 and 0.22) do not handle correctly spaces in paths specified in .pc files. It breaks RunCMake.FindPkgConfig test, if CMake is built inside path containing spaces. In this case, we check if we're inside such path, and if pkg-config is broken; and if both are true, test is to be skipped.
* | | | | | | | CMake Nightly Date StampKitware Robot2022-07-061-1/+1
| | | | | | | |
* | | | | | | | Merge branch 'release-3.24'Brad King2022-07-050-0/+0
|\ \ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | |
| * | | | | | | Merge topic 'FindwxWidgets-more-versions' into release-3.24Brad King2022-07-051-95/+54
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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