Commit Graph

6136 Commits

Author SHA1 Message Date
Brad King
7647cfe9d6 Merge topic 'doc-LINK_LIBRARIES_ONLY_TARGETS_direct_deps'
f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7466
2022-07-18 11:01:59 -04:00
Marc Chevrier
f1150f30cd Merge topic 'better_doxy_ver_check'
eaec9cf65d FindDoxygen: Implement more complete version checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !7442
2022-07-10 04:42:24 -04:00
Craig Scott
f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries
The INTERFACE_LINK_LIBRARIES_DIRECT property can add direct
link dependencies to the target at the head of the dependency chain.
The checks associated with LINK_LIBRARIES_ONLY_TARGETS also apply
to these link items, but the documentation wasn't updated to reflect
this when the INTERFACE_LINK_LIBRARIES_DIRECT support was added.
2022-07-10 18:15:22 +10:00
Brad King
46a0b454d8 Merge topic 'doc-INTERFACE_LINK_LIBRARIES_DIRECT'
6b103dd58a Help: Fix wrong property name INTERFACE_PROPERTY_LINK_DIRECT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7461
2022-07-08 10:54:44 -04:00
Craig Scott
6b103dd58a Help: Fix wrong property name INTERFACE_PROPERTY_LINK_DIRECT
This is the name of a placeholder used for some documentation in
`Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.txt` that is included in
multiple documents.  During development iterations, much of the content
was moved to just `Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst`,
but the placeholder was not correctly replaced by its property name.
2022-07-08 09:19:54 -04:00
Brad King
983a5b1a7e Merge topic 'install-destination-docs'
52164be691 Help: Clarify behavior of install(TARGETS) for DLLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7457
2022-07-08 09:05:51 -04:00
Christian Heimlich
eaec9cf65d FindDoxygen: Implement more complete version checking
The foundation of the Doxygen Find Module's detection methodology
is the command `find_program`, which has inhibited the module from
properly handling user version restrictions when provided.

Because `find_program` historically has always returned after the first
match and does not consider version constraints, users of this module
are inadvertently at the mercy of the command's search procedure.
Essentially, `find_package(Doxygen ...)` will always provide the first
Doxygen build found through said procedure, even if it conflicts with
the user's version requirements, and even if another build exists on
the system that would satisfy those requirements (i.e. shadowing).

Utilizes the new `VALIDATOR` option of `find_program` to ensure all
otherwise detectable builds of Doxygen on a given system are evaluated
and that only a build in compliance with `Doxygen_FIND_VERSION`
et. al., when defined, will be matched against.

Also enables handling of version ranges specified within `find_package`
via the **FindPackageHandleStandardArgs** module.

Finally, ensures that only the major, minor, and patch components of
Doxygen's `--version` output are captured for comparison in cases where
it contains additional information, such as a git commit hash.

Fixes: #23692
2022-07-07 13:41:31 -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
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
Kyle Edwards
52164be691 Help: Clarify behavior of install(TARGETS) for DLLs
Fixes: #23695
2022-07-06 12:03:53 -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
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
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
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
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
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
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
David Faure
5fa14ddecb Help: Document that CPack Archive Generator <component> is all uppercase 2022-07-05 11:36:29 -04:00
Robert Maynard
a4f0321ddc Help: Document $<TARGET_FILE> dependency behavior
Fixes: #23686
2022-07-05 11:31:23 -04:00
Michael Hirsch
ee6b429498 Help: Clarify that option() is a boolean
Also describe `option()` behavior in project vs. script mode.
2022-07-05 11:05:54 -04:00
Brad King
395ebfffd4 Merge topic 'doc-CMP0131'
703900d166 Help: Mention CMP0131 in LINK_LIBRARIES docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7444
2022-07-05 10:35:37 -04:00
Adriaan de Groot
50580af645 FreeBSD (docs): repair errors in documentation of FreeBSD-cpack 2022-07-05 14:33:59 +02:00
Craig Scott
703900d166 Help: Mention CMP0131 in LINK_LIBRARIES docs 2022-07-05 11:08:56 +10:00
Craig Scott
51dd0d758d Merge topic 'doc-LINK_LIBRARY_genex'
d185f7c0a8 Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7413
2022-07-03 00:50:45 -04:00
Craig Scott
2a336d8554 Merge topic 'doc-LINK_LIBRARY_genex' into release-3.24
d185f7c0a8 Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7413
2022-07-03 00:50:44 -04:00
Craig Scott
d185f7c0a8 Help: Rework $<LINK_LIBRARY>, $<LINK_GROUP> and related docs
These changes restructure the docs to improve readability and flow,
correct grammar and typos, and fix errors and inconsistencies in
some of the examples.

Fixes: #23684
2022-07-03 14:34:41 +10:00
friendlyanon
e3c8012ccd Help: Document enable_language accepting multiple languages 2022-06-30 23:37:15 +02: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
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
f908b4b1e9 Merge topic 'depguide-fetchcontent-versioning'
8d8d8ac772 Help: Mark features new to 3.24 in Using Dependencies Guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7411
2022-06-28 09:21:14 -04:00
Brad King
f0740662a6 Merge topic 'depguide-fetchcontent-versioning' into release-3.24
8d8d8ac772 Help: Mark features new to 3.24 in Using Dependencies Guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7411
2022-06-28 09:21:13 -04:00
Brad King
3dd5b864f3 Merge topic 'doc-osx-cmp0126'
3fac3d365d Help: Mention CMP0126 in CMAKE_OSX_* variable documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7414
2022-06-28 09:19:35 -04:00
Da Quexian
3fac3d365d Help: Mention CMP0126 in CMAKE_OSX_* variable documentation
Signed-off-by: Da Quexian <daquexian566@gmail.com>
2022-06-27 13:36:13 -04:00
FeRD (Frank Dana)
8d8d8ac772 Help: Mark features new to 3.24 in Using Dependencies Guide
The sections on FetchContent's FIND_PACKAGE_ARGS and on
Dependency Providers only apply to CMake 3.24+, so add
versionadded markers at the start of both sections.
2022-06-27 13:26:46 -04:00
Brad King
6760180f57 Merge topic 'findvulkan-volk'
f849e33452 FindVulkan: Add 'volk' component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7382
2022-06-23 09:29:59 -04:00
Brad King
1c27316145 Merge topic 'findopenal-add-import-library'
91e3f2e088 ci: Enable FindOpenAL test on Linux builds
927e091949 FindOpenAL: Add imported target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7385
2022-06-23 09:28:55 -04:00
Brad King
804e5c6afe Merge topic 'rel-win-arm64'
6108ced377 Help: Add release note for windows-arm64 binary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7404
2022-06-23 09:25:59 -04:00
Brad King
0bc85cced5 Merge topic 'rel-win-arm64' into release-3.24
6108ced377 Help: Add release note for windows-arm64 binary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7404
2022-06-23 09:25:58 -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
Brad King
fd83847b14 Merge topic 'vs-compile-batching' into release-3.24
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:55 -04:00
Brad King
d1e2090526 Merge topic 'revert-pkgconfig-static-libs'
7e4adcac82 FindPkgConfig: Revert "Populate _STATIC_LINK_LIBRARIES. Add STATIC_TARGET."

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7402
2022-06-23 09:21:26 -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
a7ebb73929 Help: Improve formatting in VS_NO_COMPILE_BATCHING docs 2022-06-22 11:59:55 -04:00
Brad King
6108ced377 Help: Add release note for windows-arm64 binary
Since commit 41ea4d4de8 (ci: Rebuild Qt 6.3.0 windows-arm64 dependency
with LLVM/Clang, 2022-06-17) the release binary package now includes a
working `cmake-gui`, and is ready for general usage.

Fixes: #21902
2022-06-22 11:47:42 -04:00
Brad King
7e4adcac82 FindPkgConfig: Revert "Populate _STATIC_LINK_LIBRARIES. Add STATIC_TARGET."
Revert commit 020976d637 (FindPkgConfig: Populate
_STATIC_LINK_LIBRARIES. Add STATIC_TARGET., 2021-12-31,
v3.24.0-rc1~105^2).  Several regressions have been reported.
Revert the feature pending further discussion and design work.

Issue: #21714
Fixes: #23642
2022-06-22 10:13:00 -04:00