Commit Graph

5374 Commits

Author SHA1 Message Date
Brad King
48abfe9976 Merge topic 'UseSWIG-dependencies-VS-generators'
d1bece92d5 UseSWIG: Use swig generated dependencies for Visual Studio

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6327
2021-07-13 08:22:28 -04:00
Brad King
c94ff1f75f Merge topic 'doc-preset-example-v3'
2114d717a0 Help: Fix preset example cmakeMinimumRequired

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !6333
2021-07-13 08:17:30 -04:00
Sérgio Martins
2114d717a0 Help: Fix preset example cmakeMinimumRequired
Since commit 8bc5c8961e (CMakePresets.json: Add the ability to
conditionally disable presets, 2021-03-10, v3.21.0-rc1~464^2)
the example requires presets version 3 support, which is not
available until CMake 3.21.  CMake 3.20.0 can't open v3 presets.
Make cmakeMinimumRequired compatible with the example's version.
2021-07-12 08:54:04 -04:00
Brad King
c9cd039e5f Merge topic 'LWYU-externalization'
14e57e9637 LINK_WHAT_YOU_USE feature: externalize configuration
9c5132a586 PGI: Fix "LINKER:" prefix generated separator
8a93de080c cmGeneratorTarget: Add method for LINKER: prefix translation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6306
2021-07-12 08:43:32 -04:00
Brad King
2d830247ba Merge topic 'cpack-rpm-requires-exclude-from'
bb5fc38209 CPack/RPM: Add option to set %global __requires_exclude_from

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6324
2021-07-12 08:42:03 -04:00
Marc Chevrier
d1bece92d5 UseSWIG: Use swig generated dependencies for Visual Studio 2021-07-09 17:31:20 +02:00
Marc Chevrier
14e57e9637 LINK_WHAT_YOU_USE feature: externalize configuration
Currently, this feature is only supported on ELF platforms. So, the property
LINK_WHAT_YOU_USE will be ignored for other plateforms.
Moreover, flags and commands are now controled by CMake variables.

Fixes: #20174
2021-07-09 14:50:50 +02:00
Lisa Welsch
bb5fc38209 CPack/RPM: Add option to set %global __requires_exclude_from 2021-07-09 08:06:00 -04:00
Brad King
2402789aba Merge topic 'help_toplevel' into release-3.21
2df4badc5f Help: Note PROJECT_IS_TOP_LEVEL behavior w.r.t. ExternalProject

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6307
2021-07-08 09:44:08 -04:00
Brad King
755f5194c6 Merge topic 'help_toplevel'
2df4badc5f Help: Note PROJECT_IS_TOP_LEVEL behavior w.r.t. ExternalProject

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6307
2021-07-08 09:44:08 -04:00
Michael Hirsch
2df4badc5f Help: Note PROJECT_IS_TOP_LEVEL behavior w.r.t. ExternalProject
Extend the documentation added by commit 96a7040107 (project: Define
variables indicating whether project is top level, 2021-03-24,
v3.21.0-rc1~443^2) to give some examples of how the variables are set in
each context.
2021-07-08 09:37:37 -04:00
Brad King
97f625d5ef Merge topic 'doc-lang-std'
d69b46bf01 Help: Document when CUDA_STANDARD values were added
bdb59839b9 Help: Document when OBJCXX_STANDARD values were added
627aca946b Help: Document when OBJC_STANDARD values as definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6321
2021-07-08 09:33:51 -04:00
Brad King
d69b46bf01 Help: Document when CUDA_STANDARD values were added
Note that some CUDA C++ language standard levels were added before any
compilers actually supported them.  In such cases, the value of
`CUDA_STANDARD` gracefully degrades to the highest supported by the
compiler (unless `CUDA_STANDARD_REQUIRED` is enabled).  Therefore we can
document support for each value based on when CMake learned of it.
2021-07-08 08:35:15 -04:00
Brad King
bdb59839b9 Help: Document when OBJCXX_STANDARD values were added 2021-07-08 08:35:15 -04:00
Brad King
627aca946b Help: Document when OBJC_STANDARD values as definition list 2021-07-08 08:35:14 -04:00
Eugene Shalygin
a2e9fe38e4 find_package: Add variable to make package REQUIRED
Add a `CMAKE_REQUIRE_FIND_PACKAGE_<PackageName>` variable is complement
to `CMAKE_DISABLE_FIND_PACKAGE_<PackageName>` with just the opposite
behaviour: it turns non-required find_package call into the required one.

While optional package dependencies usually result in simple and clean
build logic, sometimes people want to be sure those optional
dependencies will be found and used. Examples are reproducible builds
and build instructions for 3rd parties. People choose to make
find_package calls REQUIRED and put them behind an option(). Such
workarounds blend build logic with build environment management and do
not look elegant.
2021-07-08 08:03:38 -04:00
Brad King
84ca91bae0 Merge topic 'help_cxxstd'
5650bebc2f Help: Note CXX_STANDARD values added vs. CMake version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6305
2021-07-07 09:30:12 -04:00
Michael Hirsch
5650bebc2f Help: Note CXX_STANDARD values added vs. CMake version 2021-07-06 18:10:54 -04:00
Craig Scott
c97823b9b7 Merge topic 'doc-3.21-release'
24b76eaa93 Help: Improve readability and accuracy of runtime deps-related content
308e5b30c9 Help: Tighten install(SCRIPT) wording for ALL_COMPONENTS option
52dec01729 Help: Add missing versionadded 3.21 for file(RENAME) options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6302
2021-07-05 20:02:28 -04:00
Craig Scott
24b76eaa93 Help: Improve readability and accuracy of runtime deps-related content
Duplicated textual patterns are factored out to make the text
more readable. The POST_INCLUDE_FILES and POST_EXCLUDE_FILES
were also previously missing from the main syntax block for
install(RUNTIME_DEPENDENCY_SET).
2021-07-04 17:37:29 +10:00
Craig Scott
308e5b30c9 Help: Tighten install(SCRIPT) wording for ALL_COMPONENTS option
In particular, mention the mutually exclusive nature with the
COMPONENT option. Fix the inconsistent way the versionadded
details were added for that text too.
2021-07-03 17:10:09 +10:00
Craig Scott
52dec01729 Help: Add missing versionadded 3.21 for file(RENAME) options 2021-07-03 17:10:09 +10:00
Brad King
3736088310 Merge topic 'ctest_not_dart'
0962cbf21d help: update ctest attached file example
5489ce74b3 ctest: support <CTestMeasurement> for runtime measurements
7817aa6fa4 ctest: improve test for runtime labels

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6296
2021-07-02 09:00:56 -04:00
Brad King
6f93d2f713 Merge topic 'help_cstd' into release-3.21
9c310ff075 Help: Note C_STANDARD values added in CMake 3.21

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6294
2021-07-02 08:04:32 -04:00
Brad King
c20ce7049c Merge topic 'help_cstd'
9c310ff075 Help: Note C_STANDARD values added in CMake 3.21

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6294
2021-07-02 08:04:32 -04:00
Zack Galbreath
0962cbf21d help: update ctest attached file example
Clarify that multiple files can be attached to a given test at runtime
2021-07-01 15:16:29 -04:00
Zack Galbreath
5489ce74b3 ctest: support <CTestMeasurement> for runtime measurements
Teach CTest to parse output for <CTestMeasurement> in addition to
<DartMeasurement> for measurements defined at runtime.

Use a new class (cmCTestTestMeasurementXMLParser) derived from cmXMLParser
to parse the data and attributes these XML elements. This is an improvement
over our previous approach of using a series of regular expressions.

As part of this commit we also rename some member variables and methods
to make their purpose more clear.

DartStuff                        -> AllTestMeasurementsRegex
DartStuff1                       -> SingleTestMeasurementRegex
DartString                       -> TestMeasurementsOutput
GenerateDartOutput()             -> GenerateCTestXML()
GenerateRegressionImages()       -> RecordCustomTestMeasurements()
cmCTestRunTest::DartProcessing() -> ParseOutputForMeasurements()
2021-07-01 15:16:23 -04:00
Michael Hirsch
9c310ff075 Help: Note C_STANDARD values added in CMake 3.21
Issue: #22366
2021-07-01 11:58:00 -04:00
Brad King
ef56eefc9b cmake: Allow CMAKE_CONFIGURATION_TYPES to be set by environment variable
When no `CMAKE_CONFIGURATION_TYPES` is explicitly specified while
creating a new build tree, check for an environment variable of the same
name.

Issue: #20983
2021-06-30 10:55:40 -04:00
Brad King
e216b9bbd3 cmake: Allow CMAKE_BUILD_TYPE to be set by environment variable
When no `CMAKE_BUILD_TYPE` is explicitly specified while creating a new
build tree, check for an environment variable of the same name.

Issue: #20983
2021-06-30 10:55:40 -04:00
Brad King
6986a382a9 Help: Document when CMAKE_BUILD_TYPE and CMAKE_CONFIGURATION_TYPES are set
Fixes: #19247
2021-06-30 10:55:40 -04:00
Brad King
e96169a3ec Help: Cross-reference CMAKE_CONFIGURATION_TYPES from CMAKE_BUILD_TYPE
The other direction is already linked.
2021-06-30 10:55:40 -04:00
Brad King
9473390ddc Merge topic 'doc-vs-fortran'
ab06f78182 Help: Document VS generator support for Intel Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6289
2021-06-30 10:12:44 -04:00
Brad King
ab06f78182 Help: Document VS generator support for Intel Fortran
Extend the list of project types added by commit a82eb539f0 (Help:
Describe the type of Visual Studio projects that can be generated,
2018-08-04, v3.13.0-rc1~227^2) to mention that Fortran projects are
supported with Intel compiler integration.
2021-06-30 09:31:55 -04:00
Brad King
6c3ae9827f Merge topic 'ninja-edit_cache'
51bf4094fb Ninja: Use `ccmake` for `edit_cache`
7cb4ad7e39 cmGlobalCommonGenerator: Adopt GetEditCacheCommand
23af78bb78 cmGlobalCommonGenerator: Adopt GetEditCacheTargetName
1db4d74628 cmGlobalCommonGenerator: Add SupportsDirectConsole
61a737b088 cmGlobalNinjaGenerator: Rename SupportsConsolePool to SupportsDirectConsole

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6272
2021-06-30 07:33:59 -04:00
Brad King
825ad2fb4c Merge topic 'CMP0126-WARNING' into release-3.21
16208ac113 CMP0126: Add control for warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6282
2021-06-30 07:32:56 -04:00
Brad King
a2f2634a5d Merge topic 'CMP0126-WARNING'
616972197a Merge branch 'backport-3.21-CMP0126-WARNING' into CMP0126-WARNING
16208ac113 CMP0126: Add control for warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6282
2021-06-30 07:32:56 -04:00
Brad King
a63ae2f1b8 Merge topic 'rpm-suggests'
9b53eca317 CPack/RPM: Fix weak dep support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6274
2021-06-30 07:29:29 -04:00
Alex Sweet
9b53eca317 CPack/RPM: Fix weak dep support
RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags.
It only supports querying those tags, but rpmbuild can not make use of them.
Since CPack relies on rpmbuild --querytags to check for support, this
commit switches to rpm --suggests to check for support of weak
dependencies.

Fixes: #22350
2021-06-29 11:14:54 -04:00
NAKAMURA Takumi
51bf4094fb Ninja: Use ccmake for edit_cache
If `ninja` is new enough to support the console pool, and `ccmake` is
available, use it for `edit_cache`.
2021-06-29 11:07:42 -04:00
Marc Chevrier
616972197a Merge branch 'backport-3.21-CMP0126-WARNING' into CMP0126-WARNING 2021-06-29 13:41:10 +02:00
Marc Chevrier
16208ac113 CMP0126: Add control for warnings
Fixes: #22353
2021-06-29 13:36:28 +02:00
Brad King
480bd71b16 Merge topic 'genex-versionadded' into release-3.21
7993aa3075 Help: Add versionadded tags to cmake-generator-expressions(7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6270
2021-06-28 14:01:36 -04:00
Brad King
34f879d99e Merge topic 'genex-versionadded'
7993aa3075 Help: Add versionadded tags to cmake-generator-expressions(7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6270
2021-06-28 14:01:36 -04:00
Brad King
fe3197cfcc Merge topic 'Help-CMP0102-mention-warning-variable' into release-3.21
894645d4a6 Help/CMP0102: mention the varible that controls CMP0102 warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6275
2021-06-28 14:00:28 -04:00
Brad King
9b55bd480d Merge topic 'Help-CMP0102-mention-warning-variable'
894645d4a6 Help/CMP0102: mention the varible that controls CMP0102 warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6275
2021-06-28 14:00:28 -04:00
Brad King
efb4cef630 Merge topic 'doc-3.21-relnotes-supportedPlatforms' into release-3.21
82ea0aeae4 Help: Clarify 3.21 release note on supportedPlatforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6277
2021-06-28 13:59:18 -04:00
Brad King
cefaff9b84 Merge topic 'doc-3.21-relnotes-supportedPlatforms'
82ea0aeae4 Help: Clarify 3.21 release note on supportedPlatforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6277
2021-06-28 13:59:18 -04:00
FeRD (Frank Dana)
7993aa3075 Help: Add versionadded tags to cmake-generator-expressions(7) 2021-06-28 10:40:11 -04:00
Brad King
73f3a8f8ba Merge topic 'p1689r4-updates'
cf22263531 Help/dev/experimental: Link to published P1689R4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6278
2021-06-28 10:13:43 -04:00