Commit Graph

2578 Commits

Author SHA1 Message Date
Brad King
1c3bbda2f2 Merge topic 'pr.install_name_dir'
16eaf2d271 Help: Reference CMAKE_INSTALL_NAME_DIR from INSTALL_NAME_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1872
2018-03-20 09:43:22 -04:00
Brad King
d41abae70f Merge topic 'list-join'
a58158727b list(): add `JOIN` sub-command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1846
2018-03-20 09:40:40 -04:00
Ruslan Baratov
16eaf2d271 Help: Reference CMAKE_INSTALL_NAME_DIR from INSTALL_NAME_DIR 2018-03-20 16:34:45 +03:00
Marc Chevrier
a58158727b list(): add JOIN sub-command 2018-03-20 14:28:17 +01:00
Brad King
882ba7fd11 Merge topic 'doc-set_target_properties-clarify'
89ee7ce3ea Help: Reference set_property from set_target_properties
c27e3e0f2b Help: Clarify that set_target_properties supports multiple targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1866
2018-03-19 11:18:31 -04:00
Brad King
180a36e243 Merge topic 'find-package_root-restore'
eb35d8884b find_package: Use PackageName_ROOT variables as search prefixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1858
2018-03-19 08:30:05 -04:00
Brad King
cded54f48d Merge topic 'doc-list-command'
81226c73a4 Help: refresh list() command documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1860
2018-03-19 08:28:51 -04:00
Brad King
20fc763b32 Merge topic 'export-properties'
6db61f0725 Export: allow exporting of additional properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1834
2018-03-19 08:28:14 -04:00
Brad King
60299bc6f0 Merge topic 'vs-debugger-command'
5a7113d8fb VS: Add target property VS_DEBUGGER_COMMAND

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1842
2018-03-19 08:26:33 -04:00
Brad King
89ee7ce3ea Help: Reference set_property from set_target_properties 2018-03-19 08:05:29 -04:00
Brad King
c27e3e0f2b Help: Clarify that set_target_properties supports multiple targets
Reported-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
2018-03-19 07:44:42 -04:00
Craig Scott
80784ef77f Merge topic 'project-homepage-url'
73f9b2974c project: Add HOMEPAGE_URL named parameter
fd28c382b4 project: Add <PROJECT-NAME>_DESCRIPTION
9b57cb62ea Help: Fix minor typo in docs for CMAKE_PROJECT_DESCRIPTION
c89993d529 Tests: Avoid enabling languages unnecessarily in RunCMake.project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1816
2018-03-17 18:24:44 -04:00
Alex Turbov
73f9b2974c project: Add HOMEPAGE_URL named parameter
This sets variables like PROJECT_HOMEPAGE_URL, which can be
used as default values for various things (packaging modules,
doxygen defaults, etc.). Some packaging modules have been
updated to do this as part of this commit.

Co-Author: Craig Scott <craig.scott@crascit.com>
2018-03-17 08:25:48 +11:00
Craig Scott
fd28c382b4 project: Add <PROJECT-NAME>_DESCRIPTION
For consistency with the VERSION keyword, also define the
<PROJECT-NAME>_DESCRIPTION variable.
2018-03-17 08:25:48 +11:00
Craig Scott
9b57cb62ea Help: Fix minor typo in docs for CMAKE_PROJECT_DESCRIPTION 2018-03-17 08:25:48 +11:00
Marc Chevrier
81226c73a4 Help: refresh list() command documentation
Reformat `list` command documentation be consistent with the `string`
command.
2018-03-16 15:28:14 +01:00
Brad King
eb35d8884b find_package: Use PackageName_ROOT variables as search prefixes
This feature was originally added by commit v3.9.0-rc1~71^2~2 (find_*:
Add a new PackageRoot search path group, 2017-05-03) and documented by
commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search path
group, 2017-05-03).  However, we had to disable the feature and remove
the documentation in commit v3.9.1~2^2 (find_*: Disable the PACKAGE_ROOT
search path group for CMake 3.9, 2017-08-08) due to breaking projects
that used `PackageName_ROOT` variables themselves.

Add policy `CMP0074` to restore the `PackageName_ROOT` variable behavior
in a compatible way.  Also revise the stack of root paths to store the
paths themselves rather than the package names.  This way the policy can
be considered at the `find_package` call site instead of individual
`find_` calls inside a find module.

Co-Author: Chuck Atkins <chuck.atkins@kitware.com>
Issue: #17144
2018-03-16 09:19:28 -04:00
Wouter Klouwen
6db61f0725 Export: allow exporting of additional properties
This change introduces an additional property that may be set on a
target to allow additional properties to be exported. Normally only a
limited number of properties are exported.

Additional properties may be exported by simply setting the
`EXPORT_PROPERTIES` property on a target that is exported.
2018-03-16 09:00:56 -04:00
Brad King
30b7c40ad8 Merge topic 'gtest_discover_tests_timeout'
96fdde26bb GoogleTest: Rename TIMEOUT parameter to avoid clash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1851
2018-03-16 07:27:16 -04:00
Brad King
2ab900c71b Merge topic 'compile-options-shell'
ce0b983216 target_compile_options: Add syntax to specify shell strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1841
2018-03-15 07:55:14 -04:00
Craig Scott
96fdde26bb GoogleTest: Rename TIMEOUT parameter to avoid clash
In gtest_discover_tests(), the TIMEOUT keyword was making it
impossible to set the TIMEOUT test property via the PROPERTIES
keyword. This would be a frequent case, but it doesn't complain
and instead silently does something different to what would
normally be expected. The TIMEOUT keyword has been renamed
to DISCOVERY_TIMEOUT, thereby removing the clash.

This is a breaking change. 3.10.1 and 3.10.2 were the only versions
that supported the TIMEOUT keyword and uses of it were likely
not working as intended.

Fixes: #17801
2018-03-15 07:36:42 -04:00
Hannes Mezger
5a7113d8fb VS: Add target property VS_DEBUGGER_COMMAND
Fixes: #17819
2018-03-14 13:27:15 -04:00
Brad King
ce0b983216 target_compile_options: Add syntax to specify shell strings
Options specified via `COMPILE_OPTIONS` and `INTERFACE_COMPILE_OPTIONS`
are deduplicated, but individual options can legitimately be duplicated
when grouped with other options, e.g.

    -D A -D B

After deduplication that becomes `-D A B`.  Therefore we need a way to
treat groups of options as units during deduplication.  A simple approach
is to specify each group as one option, e.g.

    "-D A" "-D B"

However, that conflicts with options that legitimately have spaces.  To
break this ambiguity, add a `SHELL:` prefix syntax to specify that an
option should be parsed like shell command line arguments after
deduplication, e.g.

    "SHELL:-D A" "SHELL:-D B"

These will survive deduplication intact, and then be parsed to produce
`-D A -D B` on the final command line.

Fixes: #15826
2018-03-14 11:10:25 -04:00
Brad King
ccdd79d38e Merge topic 'cmake_project_xxx_docs'
6a2a9d107d Help: Fix incorrect CMAKE_PROJECT_xxx docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1847
2018-03-14 10:51:11 -04:00
Brad King
443a52aa85 Merge topic 'build_and_test_mode_docs'
8b43adc45c Help: Clarify ctest build-and-test mode options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1848
2018-03-14 10:50:29 -04:00
Brad King
4fb91a8868 Merge topic 'doc-vs-workdir-versions'
4b25cc452a Help: Document VS_DEBUGGER_WORKING_DIRECTORY supported VS versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1843
2018-03-14 10:49:11 -04:00
Craig Scott
6a2a9d107d Help: Fix incorrect CMAKE_PROJECT_xxx docs
The docs for CMAKE_PROJECT_NAME and CMAKE_PROJECT_DESCRIPTION
were erroneously documenting the behavior of PROJECT_NAME and
PROJECT_DESCRIPTION respectively. Fix these and update the
project() docs to also mention CMAKE_PROJECT_NAME and
CMAKE_PROJECT_DESCRIPTION.

Fixes: #17815
2018-03-14 07:33:38 +11:00
Craig Scott
8b43adc45c Help: Clarify ctest build-and-test mode options
Fixes: #17807
2018-03-14 07:27:54 +11:00
Hannes Mezger
4b25cc452a Help: Document VS_DEBUGGER_WORKING_DIRECTORY supported VS versions 2018-03-13 10:13:59 +01:00
Brad King
2dad620452 Merge topic 'update-buildsystem-docs'
78756429ab Help: Adapt cmake-buildsystem(7) to new IMPORTED targets features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1839
2018-03-12 13:50:37 -04:00
Brad King
378a11cdba Merge topic 'genex-TARGET_EXISTS'
7fec336bf7 genex: Add TARGET_EXISTS to check for target existence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1829
2018-03-12 13:42:18 -04:00
Kai Wolf
78756429ab Help: Adapt cmake-buildsystem(7) to new IMPORTED targets features
Since commit v3.11.0-rc1~433^2~2 (Teach target_* commands to set
INTERFACE properties of IMPORTED targets, 2017-09-18) it is now possible
to use the customary `target_*` commands for adjusting the settings of
an IMPORTED target.  Update documentation accordingly.
2018-03-12 10:23:21 -04:00
Alex Turbov
7fec336bf7 genex: Add TARGET_EXISTS to check for target existence
Define `$<TARGET_EXISTS:a>` to `1` if `a` is an existed target name,
else `0`.
2018-03-09 08:24:05 -05:00
Rolf Eike Beer
9ef3abd3f3 FindLibXml2: provide imported target LibXml2::LibXml2 2018-03-08 18:31:12 +01:00
Brad King
151763c9b2 Merge topic 'curl-target'
ee06f3c339 FindCURL: Revise documentation markup
83c0cb3f03 FindCURL: provide imported target CURL::CURL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1822
2018-03-08 09:56:40 -05:00
Brad King
f0b412dd82 Merge topic 'avoid-LIB_DEPENDS'
7723e9a058 Do not produce legacy _LIB_DEPENDS cache entries
2124a1364a cmTarget: Remove unnecessary RecordDependencies member
1c5bfab532 cmTarget: Simplify ClearDependencyInformation implementation
910a9d608e cmTarget: Simplify ClearDependencyInformation signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1828
2018-03-08 09:55:09 -05:00
Brad King
7723e9a058 Do not produce legacy _LIB_DEPENDS cache entries
Introduce policy `CMP0073` to avoid producing these cache entries.

Fixes: #16364
2018-03-07 07:48:40 -05:00
Rolf Eike Beer
83c0cb3f03 FindCURL: provide imported target CURL::CURL 2018-03-06 22:53:35 +01:00
Brad King
6be53c6695 CTest: Add options to control test process affinity to CPUs
In commit v2.8.0~170 (ENH: Added ctest test options PROCESSORS and
RUN_SERIAL, 2009-09-07) CTest learned to track the number of processors
allocated to running tests in order to balance it against the desired
level of parallelism.  Extend this idea by introducing a new
`PROCESSOR_AFFINITY` test property to ask that CTest run a test
with the CPU affinity mask set.  This will allow a set of tests
that are running concurrently to use disjoint CPU resources.
2018-03-05 09:21:32 -05:00
Brad King
bafe655b11 Help: Document linking behavior of OBJECT libraries
Inspired-by: Deniz Bahadir <dbahadir@benocs.com>
Issue: #14778
2018-03-01 09:27:50 -05:00
Brad King
61f92e69c0 Merge topic 'object-library-export-as-interface'
ea0ce73a19 install,export: Maybe transform OBJECT libraries to INTERFACE libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1811
2018-03-01 07:54:20 -05:00
Brad King
ea0ce73a19 install,export: Maybe transform OBJECT libraries to INTERFACE libraries
Teach the `install` and `export` commands to support installing and
exporting `OBJECT` libraries without their object files.  Transform
them to `INTERFACE` libraries in such cases.

For `install(TARGETS)`, activate this when no destination for the object
files is specified.  For `export`, activate this only under Xcode with
multiple architectures when we have no well-defined object file
locations to give to clients.
2018-02-28 10:58:10 -05:00
Craig Scott
92a4c236f6 Help: Fix wrong default for WORKING_DIRECTORY test property 2018-02-27 22:28:33 +11:00
Shane Parris
b6ef4bc329 Document and extend the CMAKE_SUPPRESS_REGENERATION variable
Fixes: https://gitlab.kitware.com/cmake/cmake/issues/16815
2018-02-23 11:20:15 -05:00
Brad King
8f869ad716 Merge topic 'autogen-depend-filters-documentation'
bfffe42b Autogen: Doc: Extend AUTOMOC_DEPEND_FILTERS documentation
1cf7c54a Autogen: Doc: Extend AUTOGEN_TARGET_DEPENDS documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1782
2018-02-21 14:45:11 -05:00
Brad King
d513a4035b Merge branch 'autogen-depend-filters-documentation' into release-3.11
Merge-request: !1782
2018-02-21 10:33:12 -05:00
Sebastian Holtermann
bfffe42b98 Autogen: Doc: Extend AUTOMOC_DEPEND_FILTERS documentation 2018-02-21 10:28:43 -05:00
Sebastian Holtermann
1cf7c54a6b Autogen: Doc: Extend AUTOGEN_TARGET_DEPENDS documentation 2018-02-21 10:28:43 -05:00
Brad King
846a4dd118 Merge topic 'string-join'
689eeb67 string: Add JOIN subcommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1762
2018-02-20 11:47:51 -05:00
Brad King
088c1876ef Merge topic 'follow-up-misc-typos'
287e7a17 Maint: misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1771
2018-02-20 11:41:15 -05:00