Commit Graph

928 Commits

Author SHA1 Message Date
Marc Chevrier
50b8dc8735 Merge topic 'cmake_path-stabilization'
76f0bcdfb6 cmake_path: various updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5695
2021-01-15 05:47:02 -05:00
Marc Chevrier
76f0bcdfb6 cmake_path: various updates
To follow discussions in #21385 and !5682:
* Fix bug in cmCMakePath::IsSuffix() method
* cmake_path(HASH) always normalized paths (NORMALIZE option removed)
2021-01-13 15:27:49 +01:00
Asit Dhal
ac3ccc393e install(files): Support genex in rename option
Fixes: #19903
2021-01-13 11:27:56 +01:00
Shannon Booth
55ba98556f Help: Add sections to if() conditions documentation 2021-01-09 10:03:46 +13:00
Marc Chevrier
cfd8a5ac1f Makefiles: Add support of DEPFILE for add_custom_command
Issue: #20286
Fixes: #21415
2020-12-23 15:47:46 +01:00
Brad King
72a28635b8 Merge topic 'issue-20134'
b68699b717 target_include_directories: Support AFTER option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5633
2020-12-22 09:13:08 -05:00
Brad King
3cf1a8c59b Merge topic 'issue-15653'
c3385dd8bd file(GENERATE): Support options to manipulate file permissions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5437
2020-12-22 09:12:20 -05:00
NeroBurner
af7882ba6e Help: replace deprecated $<CONFIGURATION> generator expression
The `$<CONFIGURATION>` genex has been deprecated since CMake 3.0.
Use `$<CONFIG>` instead in the `add_test` example.
2020-12-21 13:54:25 -05:00
Asit Dhal
c3385dd8bd file(GENERATE): Support options to manipulate file permissions
Fixes: #15653
2020-12-21 12:16:16 +01:00
Asit Dhal
b68699b717 target_include_directories: Support AFTER option
Fixes: #20134
2020-12-19 14:51:39 +01:00
Kyle Edwards
dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands
Co-Author: Brad King <brad.king@kitware.com>
2020-12-15 07:01:21 -05:00
Brad King
2b1cc175ee Help: Clarify version adding add_custom_{command,target} OUTPUT genex support
Update the documentation added by commit c257c25419
(add_custom_{command,target}: Add genex support to OUTPUT and
BYPRODUCTS, 2020-10-19) to use sphinx markup instead of prose to specify
the version in which the feature was added.
2020-12-15 07:00:20 -05:00
Brad King
fedfe763ee Merge topic 'custom-command-output-genex'
c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
f36af9228b cmLocalGenerator: Evaluate generator expressions in custom command outputs
c887cefd9a cmLocalGenerator: Simplify custom command output cmSourceFile creation
947ba01bf9 cmLocalGenerator: Factor out helper to expand custom command output paths
1902d28ebc cmLocalGenerator: Refactor UpdateOutputToSourceMap to avoid boolean trap
e4034eabe9 cmLocalGenerator: Re-order logic in CreateGeneratedSource
706c48301d cmCustomCommandGenerator: Treat relative outputs w.r.t. build dir
5d23c5446e cmCustomCommandGenerator: Refactor OUTPUT and DEPENDS path evaluation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5402
2020-12-14 07:22:45 -05:00
Brad King
3765a415df Merge branch 'master' into doc-3_19_release-fixes 2020-12-11 10:39:14 -05:00
Brad King
c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
Move rejection of `#`, `<`, and `>` characters in outputs and byproducts
to a generate-time check.  This removes the front-end check that
disallowed generator expressions.  The generators have already been
updated to handle them.

Fixes: #12877
2020-12-11 08:24:21 -05:00
Craig Scott
ff4d1d44f2 Help: Clarify scope details of deferred call ids for cmake_language()
Fixes: #21586
2020-12-11 18:25:42 +11:00
Craig Scott
0816482302 Help: xref variable that cmake_minimum_required() sets
The CMAKE_MINIMUM_REQUIRED_VERSION has long been set by
the cmake_minimum_required() command, but the command docs
never mentioned this. Only the variable's own docs stated this but
the variable isn't very discoverable without it being mentioned in
the command's docs as well.
2020-12-11 11:19:04 +11:00
Brad King
c523d1cc32 Help: Add examples to add_custom_command reference documentation 2020-12-10 07:06:19 -05:00
Nikita Nemkin
5000f93a91 Help: Fix grammar in .. versionadded directives
Issue: #19715
2020-12-02 21:00:31 +05:00
Nikita Nemkin
ea59b0cd34 Help: Fix version note for CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
This variable predates 3.0.

Fixes: #21522
2020-12-02 21:00:29 +05:00
Nikita Nemkin
05c3060b10 Help: Fix cmake_parse_arguments version note
Don't imply that cmake_parse_arguments() requires CMake 3.5+.
2020-12-02 21:00:28 +05:00
Brad King
ee4310c3d9 Merge topic 'compile_def_doc'
4b9fcadc9a Help: Describe definition values in target_compile_definitions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5547
2020-12-01 09:30:50 -05:00
Juan Ramos
4b9fcadc9a Help: Describe definition values in target_compile_definitions
Fixes: #20573
2020-11-30 13:22:37 -05:00
Deniz Bahadir
0eb30f175e GENERATED prop: Introducing policy CMP0118 and its documentation
Note: This is currently only defining the CMP0118 policy and providing
its documentation, however, the implementation is still not using it.
2020-11-24 17:41:02 +01:00
Craig Scott
eb04e25ba6 Merge topic 'cmake_path-enhancements'
ed21ad181e cmake_path: various enhancements to subcommands/keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5457
2020-11-14 06:39:42 -05:00
Nikita Nemkin
a19058d7d8 Help: Replace some versionadded directives with versionchanged
`.. versionchanged` directive might be more appropriate when
documentation refers to previous CMake version, old behavior
or a policy, and there's no new parameter or a variable involved.

Issue: #19715
2020-11-12 09:44:01 +05:00
Marc Chevrier
ed21ad181e cmake_path: various enhancements to subcommands/keywords
This change address partly the remarks done in issue #21385
2020-11-11 23:43:51 +01:00
Brad King
c966c71956 Merge topic 'get_filename_component-clarification'
c0e05671d3 Help/get_filename_component: clarify NAME_W[L]E summaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5489
2020-11-11 09:31:55 -05:00
Ben Boeckel
c0e05671d3 Help/get_filename_component: clarify NAME_W[L]E summaries
There was an ambiguity in the wording with the meaning of "or" typically
meaning exclusive-or in prose. Instead, ensure that the easiest parsing
is clear that the directory part is always removed.
2020-11-10 10:06:24 -05:00
Nikita Nemkin
c705279bae Help: Add .. versionadded directives to commands documentation
This change ony concerns directives that appear in the document body.

The guidelines for inserting version directives:

 * Baseline version is CMake 3.0, i.e. directives start at 3.1.
 * Always use `.. versionadded::` directive, avoid ad-hoc version
   references. Exception: policy pages.
 * For new command signatures, put `versionadded` on a separate line
   after the signature.
 * For a group of new signatures in a new document section,
   a single version note at the beginning of the section is sufficient.
 * For new options, put `versionadded` on a separate line before
   option description.
 * If all the option descriptions in the list are short one-liners,
   it's fine to put `versionadded` on the same line as the description.
 * If multiple option descriptions in close proximity would have
   the same ..versionadded directive, consider adding a single
   directive after the list, mentioning all added options.
 * For compact value lists and sub-option lists, put a single
  `versionadded` directive after the list mentioning all additions.
 * When a change is described in a single paragraph, put
   `versionadded` into that paragraph.
 * When only part of the paragraph has changed, separate the changed
   part if it doesn't break the flow. Otherwise, write a follow-up
   clarification paragraph and apply version directive to that.
 * When multiple version directives are close by, order earlier
   additions before later additions.
 * Indent related lists and code blocks to include them in the scope
   of `versionadded` directive.

Issue: #19715
2020-11-09 20:51:57 +05:00
Marc Chevrier
1c912056a1 cmake_path: remove new command from 3.19
Defer adding this command until post-3.19 development so that it
has more time to mature before being included in a release.

Issue: #21385
2020-11-03 09:55:35 -05:00
Craig Scott
604fa62c01 Merge topic 'string-json-doc-update' into release-3.19
49fce3373b Help: Clarify string(JSON) error handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5427
2020-10-30 07:15:40 -04:00
Craig Scott
f8aaa9fd39 Merge topic 'string-json-doc-update'
49fce3373b Help: Clarify string(JSON) error handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5427
2020-10-30 07:15:40 -04:00
Peter Steneteg
49fce3373b Help: Clarify string(JSON) error handling
Closes: #21355
2020-10-28 23:09:24 +11:00
Brad King
46b0d69e06 Merge topic 'cmake_path-update-doc'
ec5951e078 cmake_path: Enhance documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5425
2020-10-28 07:43:38 -04:00
Brad King
c79e02c4c3 Merge topic 'cmake-20866'
03ad0e61c1 configure_file: Add option for user defined permissions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5320
2020-10-27 07:11:13 -04:00
Brad King
ecab18bb7c Merge topic 'issue-21034'
1a3d125de8 target_sources: Support custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5421
2020-10-27 07:10:24 -04:00
Marc Chevrier
ec5951e078 cmake_path: Enhance documentation 2020-10-26 13:10:37 +01:00
Craig Scott
394a5b71b0 Merge topic 'docs-cleanup-3.19'
95c14579f2 Help: Cleanup typos and grammar for the 3.19 release

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5419
2020-10-26 07:16:03 -04:00
Asit Dhal
1a3d125de8 target_sources: Support custom targets
Fixes: #21034
2020-10-24 21:13:25 +02:00
Craig Scott
95c14579f2 Help: Cleanup typos and grammar for the 3.19 release 2020-10-24 22:58:42 +11:00
Asit Dhal
03ad0e61c1 configure_file: Add option for user defined permissions
User defined permissions and options to copy permissions are
implemented.

Fixes: #20866
2020-10-24 12:00:47 +02:00
Brad King
94c6295db1 Help: Document site_name command use of HOSTNAME variable 2020-10-22 10:20:43 -04:00
Kyle Edwards
146e1e6ba1 Ninja: Transform DEPFILEs with policy CMP0116
Fixes: #21267
2020-10-13 10:19:46 -04:00
Asit Dhal
116a427eb1 execute_process: add options for fatal errors on subprocess failure
Fixes: #19930
2020-10-01 17:07:44 +02:00
Brad King
e8b0359a43 cmake_language: Add signature to DEFER calls to later times
Fixes: #19575
2020-09-29 17:12:33 -04:00
Brad King
78ff24a3a7 Help: Use singular placeholder name in cmake_language signature 2020-09-29 10:00:23 -04:00
Craig Scott
ac5195c408 Merge topic 'find_package-version-range'
5b3356263c CMakePackageConfigHelpers: Add version range support
6bfc442fde FPHSA: add support of version range
d7df81067b find_package: Add support of version range
09095dbcd2 cmFindPackageCommand: Refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Merge-request: !5226
2020-09-24 07:29:03 -04:00
Brad King
d827fdb6f9 Merge topic 'separate_arguments-program'
d832c1cc7d separate_arguments: add option PROGRAM
f4c21d4953 separate_arguments: refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5253
2020-09-23 12:05:26 -04:00
Brad King
f2daa025e3 {get,set}_property: Add support for referencing binary directories
Index directories by their binary directory path in addition to their
source directory path.

Fixes: #19262
2020-09-23 09:25:42 -04:00