Commit Graph

709 Commits

Author SHA1 Message Date
Craig Scott
d0681fda11 Merge branch 'docs-file-GET_RUNTIME_DEPENDENCIES' into release-3.16
Merge-request: !3982
2019-11-04 09:41:56 +11:00
Craig Scott
23752d5bad Help: Typo and grammar fixes for file(GET_RUNTIME_DEPENDENCIES)
Note that ``MODULE`` s was rendering strangely, so the wording
has been tweaked to avoid needing to specify ``MODULE`` as a
plural word. Modules are still libraries, so it is okay to call them as
such where it doesn't cause any ambiguity.
2019-11-03 22:44:36 +11:00
Craig Scott
ad024439f5 Help: list(REMOVE_ITEM) removes all instances, not just the first found
Fixes: #19908
2019-11-02 18:22:50 +11:00
Brad King
d3c8610556 Merge branch 'help-file-spelling-error' into release-3.16
Merge-request: !3964
2019-10-31 09:08:27 -04:00
Marc Chevrier
e0412a0e0b Help: Fix spelling error in file(GET_RUNTIME_DEPENDENCIES) docs 2019-10-30 13:49:54 -04:00
Brad King
1efc4c9051 Merge branch 'fix-find_package-doc' into release-3.16
Merge-request: !3961
2019-10-30 09:26:09 -04:00
Deniz Bahadir
9a08818e54 Help: Add OPTIONAL_COMPONENTS to config mode signature of find_package. 2019-10-30 09:24:36 -04:00
Brad King
a575fbc3cb Merge branch 'docs-find-vars' into release-3.16
Merge-request: !3952
2019-10-28 11:33:05 -04:00
Craig Scott
049dbdd38c Help: Document that <PackageName>_ROOT applies to config packages too
The original intent of <PackageName>_ROOT may have been for it
to apply only to Find modules, but the implementation of the
find_package() command treats modules and config packages the
same. Both result in a <PackageName>_ROOT variable being
pushed onto the stack of package roots. A config package can
also call other find_...() commands, the behavior doesn't apply
just to find modules.
2019-10-27 16:10:09 +11:00
Craig Scott
15a0b0d046 Help: math() expressions must be representable as signed 64-bit 2019-10-26 17:47:03 +11:00
Brad King
84e14a52ff Merge branch 'doc-pch-compile-language' into release-3.16
Merge-request: !3925
2019-10-16 10:54:11 -04:00
Brad King
ac75886525 PCH: Document and test COMPILE_LANGUAGE genex for per-language header
Fixes: #19839
2019-10-16 10:32:56 -04:00
Tom Lankhorst
a7ef28b9d8 Help: Fix typos and style in add_link_options documentation 2019-10-16 09:49:08 -04:00
Craig Scott
7bbddeb78d CLI: Rename --loglevel to --log-level for naming consistency
Other multi-word command line options use hyphens to separate
the words, so the --loglevel option introduced in CMake 3.15 was
inconsistent in this regard. Rename it to --log-level but still support
the original --loglevel name to preserve backward compatibility.
2019-10-10 09:20:50 -04:00
Craig Scott
c6f08a2125 Help: Clarify how target names are handled in custom commands/targets
Fixes: #19771
2019-10-05 23:11:14 +10:00
Kyle Edwards
e9500271a3 Help: Add documentation for CTest hardware allocation 2019-10-02 09:33:54 -04:00
Steve Wilson
9e66397c28 Languages: Add support for Objective-C++
Add entries in Modules and Modules/Platform to support
Objective-C++ compiler determination and identification.
Add Modules to check Objective-C++ compiler flags, source
compilations, program checks, etc...

Use OBJCXX as the designator of the language, eg:

project(foo OBJCXX)

Add various tests for Objective-C++ language features.  Add
tests to preserve C++ handling of .M and .mm files when
Objective-C++ is not a configured language.

Co-authored-by: Cristian Adam <cristian.adam@gmail.com>
2019-09-28 15:56:53 +02:00
Steve Wilson
80f120a85f Languages: Add support for Objective-C
Add entries in Modules and Modules/Platform to support
Objective-C compiler determination and identification.
Add Modules to check Objective-C compiler flags, source
compilations, program checks, etc...

Use OBJC as the designator of the language, eg:

project(foo OBJC)

Add various tests for Objective-C language features.  Add
tests to preserve C++ handling of .m and .mm files when
OBJC is not a configured language.

Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
2019-09-28 15:56:46 +02:00
Cristian Adam
acb9511044 Precompile headers: Treat headers as relative to current source directory
Teach `target_precompile_headers` to treat relative paths the
same way as `target_sources`.

Fixes: #19733
2019-09-23 11:13:13 -04:00
Cristian Adam
729d997f10 Precompile Headers: Add REUSE_FROM signature
Add the ability to share precompiled headers artifacts between
targets.

Fixes: #19659
2019-09-17 11:58:38 +02:00
Daniel Eiband
f6574c9a81 Depend: Hook up automatic target-level dependencies via byproducts
Target-level dependencies to utility targets are added from another target if
the other target requires a byproduct of the utility target or if it requires a
byproduct of PRE_BUILD, PRE_LINK, or POST_BUILD build events of a target.

Issue: #19005
2019-09-12 16:03:12 +02:00
Cristian Adam
8da78d4efe Precompile headers: Update documentation 2019-08-28 11:47:51 -04:00
Zack Galbreath
2a71a0390c ctest: rename TRACK to GROUP
Update command-line options, script variables, and documentation to use
the term "group" instead of "track". The old terms are still available
for now, but they are now undocumented.

This makes our terminology more consistent with CDash. The goal of this
change is to make it more clear to our users how CTest and CDash interact
with each other.
2019-08-22 13:10:18 -04:00
Sylvain Joubert
ccefe9798d Help: Fix typo in ctest_coverage synopsis 2019-08-20 10:23:44 +02:00
Hong Xu
d192caefff CMakeDependentOption: Document that 4th parameter follows if-syntax 2019-08-05 10:15:21 -04:00
Robert Maynard
609fe39043 FindPackage: Support NO_[]_PATH global call options 2019-07-22 17:17:02 -04:00
Brad King
303cf2791a Merge topic 'doc-string-multibyte'
b97673f54b Help: Add note to each string() subcommand that assumes ASCII input
26cd64d977 Help: Fix language and formatting inconsistencies for string() command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3559
2019-07-22 08:19:39 -04:00
Craig Scott
f4131e4e1b Merge topic 'feature/message-indent'
5f6fd917a3 message(): Control indentation via CMAKE_MESSAGE_INDENT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3464
2019-07-22 07:02:50 -04:00
Alex Turbov
5f6fd917a3 message(): Control indentation via CMAKE_MESSAGE_INDENT 2019-07-21 10:19:30 +10:00
Craig Scott
b97673f54b Help: Add note to each string() subcommand that assumes ASCII input
Fixes: #19465
2019-07-19 20:47:21 +10:00
Craig Scott
26cd64d977 Help: Fix language and formatting inconsistencies for string() command 2019-07-19 20:47:21 +10:00
Gabor Bencze
407dd1a910 Help: Add documentation for SKIP_REGULAR_EXPRESSION test property 2019-07-18 15:45:09 -04:00
Brad King
2fa920c0cd AIX: Create import library for executables with exports
On AIX, plugins meant to be loaded into executables via `dlopen` must be
linked with access to a list of symbols exported from the executable in
order to use them (when not using runtime linking).  The AIX linker
supports specifying this list as an "import file" passed on the command
line either via the `-bI:...` option or (with a leading `#! .` line) as
a normal input file like any other library file.

The linker import file plays the same role on AIX as import libraries do
on Windows.  Teach CMake to enable its import library abstraction on AIX
for executables with the `ENABLE_EXPORTS` target property set.  Teach
our internal `ExportImportList` script to optionally generate a leading
`#! .` line at the top of the generated export/import list.  Update our
rule for linking an executable with exports to generate a public-facing
"import library" implemented as an AIX linker import file.

With this approach, our existing infrastructure for handling import
libraries on Windows will now work for AIX linker import files too:

* Plugins that link to their executable's symbols will be automatically
  linked using the import file on the command line.

* The executable's import file will be (optionally) installed and
  exported for use in linking externally-built plugins.

This will allow executables and their plugins to build even if we later
turn off runtime linking.

Issue: #19163
2019-07-16 14:15:13 -04:00
Craig Scott
24722b7860 Merge topic 'docs-file-GLOB-case-sensitivity'
c65f296960 Help: Mention file(GLOB)'s case-sensitivity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3516
2019-07-11 06:07:26 -04:00
Steve Mokris
c65f296960 Help: Mention file(GLOB)'s case-sensitivity
Based on the KWSYS_GLOB_CASE_INDEPENDENT flag in `Source/kwsys/Glob.cxx`.
2019-07-10 09:29:29 -04:00
Craig Scott
3b62d5e677 Merge topic 'docs-message-cmake-gui'
42a9e61056 message() help: Clarify how logs are displayed in various tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3523
2019-07-10 06:44:17 -04:00
Frank Dana
42a9e61056 message() help: Clarify how logs are displayed in various tools 2019-07-10 09:40:11 +10:00
Craig Scott
f7eb765012 Merge topic 'add_cmake_find_use_package_registry'
447a96f590 vim: Update cmake.vim to include the CMAKE_FIND_USE variables
1d00ba9ccf Find: find_package prefers variable CMAKE_FIND_USE_REGISTRY
704e3a2ca8 Find: Correct spelling and layout issues in CMAKE_FIND_USE_ docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3487
2019-07-09 19:32:54 -04:00
Robert Maynard
1d00ba9ccf Find: find_package prefers variable CMAKE_FIND_USE_REGISTRY
CMake's find control flags should all have a consistent name.
To make this happen we are introducing `CMAKE_FIND_USE_REGISTRY`
and deprecating `CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY`.
2019-07-09 09:38:35 -04:00
Robert Maynard
704e3a2ca8 Find: Correct spelling and layout issues in CMAKE_FIND_USE_ docs 2019-07-09 09:37:55 -04:00
Craig Scott
12e46dc413 Merge branch 'docs-misc-trivial-cleanups' into release-3.15
Merge-request: !3498
2019-07-04 22:29:39 +10:00
Craig Scott
01c0d863f4 Merge topic 'docs-misc-trivial-cleanups'
d5b722bbbd Help: Remove mention of CMAKE_INSTALL_DO_STRIP
ddc7ea4696 Help: Clarify how to provide multiple targets with cmake --target
c509f38b7b Help: Add missing xref for CMAKE_EXECUTE_PROCESS_COMMAND_ECHO
9cc6befe1b Help: Improve formatting of list(TRANSFORM) sub-options
074fbdb73f Help: Clean up trivial typos and grammar

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !3498
2019-07-04 08:25:25 -04:00
Craig Scott
c509f38b7b Help: Add missing xref for CMAKE_EXECUTE_PROCESS_COMMAND_ECHO 2019-07-03 23:38:25 +10:00
Craig Scott
9cc6befe1b Help: Improve formatting of list(TRANSFORM) sub-options 2019-07-03 23:38:25 +10:00
Craig Scott
074fbdb73f Help: Clean up trivial typos and grammar 2019-07-03 23:38:25 +10:00
Craig Scott
7ea18c02c3 Merge topic 'docs-project-code-injection'
42294f43bd Help: move code injection vars to their own section
9e0775cb6a Help: Remove self-references from project() docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3494
2019-07-01 07:43:08 -04:00
Craig Scott
42294f43bd Help: move code injection vars to their own section
The docs for CMAKE_PROJECT_<projName>_INCLUDE and
CMAKE_PROJECT_INCLUDE did not define the order of
inclusion if both were set.
2019-07-01 08:01:49 +10:00
Craig Scott
9e0775cb6a Help: Remove self-references from project() docs 2019-06-29 22:21:18 +10:00
Brad King
394adf63c6 Merge topic 'doc-typos-cmake_parse_arguments'
264612c013 Help: Typo and grammar fixes in cmake_parse_arguments() docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !3468
2019-06-24 09:43:50 -04:00
Craig Scott
264612c013 Help: Typo and grammar fixes in cmake_parse_arguments() docs 2019-06-23 21:10:16 +10:00