Commit Graph

499 Commits

Author SHA1 Message Date
Marc Chevrier
a71caab46b LINK_DIRECTORIES: Add new properties and commands
These new capabilities enable to manage link directories

Two new properties:
* target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES

One new command
* target_link_directories(): to populate target properties

Fixes: #17215
2018-09-25 23:59:58 +10:00
Craig Scott
2a2f0ac231 Help: Clarify handling of non-integer components in if() version tests 2018-09-17 18:12:08 +08:00
Brad King
333804fa0e Merge topic 'out-of-dir-linking'
a1ad0a699b target_link_libraries: Allow use with targets in other directories
9bbae5ae28 cmTarget: Future-proof AddLinkLibrary target lookup scope
f9cb6f618a cmExportFileGenerator: Use cmGeneratorTarget::ResolveTargetReference
18441a6269 cmGeneratorTarget: Factor target name resolution out of link item resolution
2f708f5d65 Make internal TARGET_PROPERTY generator expressions more robust
94a75801c8 Android.mk: De-duplicate link libraries logic during export
8a63b23d16 cmGlobalGenerator: Remove unused FindLocalGenerator method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Patrick Stotko <stotko@cs.uni-bonn.de>
Merge-request: !2370
2018-09-14 13:25:07 -04:00
Brad King
a1ad0a699b target_link_libraries: Allow use with targets in other directories
Previously the command did not allow naming targets on the LHS that
were not created in the calling directory.  Lift this restriction to
enable more flexible use by projects.

Targets named on the RHS will need to be looked up during generation in
the scope of the call site rather than the scope of the LHS target.
Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties
to specify target names that need to be looked up in a directory other
than that containing the target on which the property is set.  Add
minimal documentation of the syntax to help users that encounter it.

Unfortunately CMake previously did allow such calls in the case that
only `INTERFACE` libraries are specified, but those libraries would be
looked up in the target's directory rather than the caller's.  Add
policy `CMP0079` to enable the new behavior with new lookup scope in a
compatible way.

Fixes: #17943
2018-09-12 13:06:36 -04:00
Brad King
f13d4b1077 Merge topic 'replace-os-x-name-with-macos'
ab2e35d614 Replace occurrences of "Mac OS X" with "macOS" in comments
fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Merge-request: !2351
2018-09-11 08:28:05 -04:00
Brad King
e9f72e9c94 Merge topic 'docs/setdirproprs'
6d8cabe8d4 Help: Clarify INCLUDE_DIRECTORIES directory property behavior
7b9d8ce168 Help: Clarify wording of set_directory_properties docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2337
2018-09-11 08:26:42 -04:00
Brian Heim
7b9d8ce168 Help: Clarify wording of set_directory_properties docs 2018-09-10 08:28:30 -04:00
Taylor Holberton
228a2b0d82 Help: Clarify cmake_host_system_information memory units
The memory size query implementations report in units of one mebibyte
(2^20).  Clarify the unit in the documentation because "megabyte" might
also be interpreted as 10^6.
2018-09-10 15:55:07 +08:00
Bartosz Kosiorek
fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"
Apple's main Operating system changed their name from OS X to macOS:

    https://www.engadget.com/2016/06/13/os-x-is-now-macos/

Revise documentation accordingly.
2018-09-05 16:10:49 -04:00
Betsy McPhail
5fc11b34e4 Help: Add CAPTURE_CMAKE_ERROR to ctest_submit and ctest_update documentation
Also, added CAPTURE_CMAKE_ERROR to vim synax file for ctest_submit,
ctest_update and ctest_memcheck.
2018-08-28 21:09:53 -04:00
David Demelier
e558ada977 Help: Document alternative to include_directories
Many existing tutorials suggest `include_directories` but that does
not handle propagation to dependencies and such.  Add a link to its
documentation suggesting `target_include_directories` instead.
2018-08-23 16:00:02 -04:00
Robert Maynard
1a0f1a25a4 Help: Clarify the unset command 2018-08-21 14:16:32 -04:00
Betsy McPhail
a0916a4692 Help: Add RETURN_VALUE as an option to ctest_submit(CDASH_UPLOAD 2018-08-15 16:29:53 -04:00
Craig Scott
349f8bfb25 Merge topic 'doc-consistently-reference-packagename'
30d08bdce9 doc: Consistently use <PackageName> for describing the name of a package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2283
2018-08-15 08:18:49 -04:00
Jean-Christophe Fillion-Robin
30d08bdce9 doc: Consistently use <PackageName> for describing the name of a package 2018-08-14 20:54:56 +10:00
Robert Maynard
6b17d85873 Help: Document when LINK_FLAGS and STATIC_LIBRARY_FLAGS are used 2018-08-09 12:54:16 -04:00
Craig Scott
e3664debd2 Merge topic 'doc-find_package-root'
492ade276b Help: Add explicit <PackageName>_ROOT variable documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2225
2018-07-20 18:58:43 -04:00
Brad King
492ade276b Help: Add explicit <PackageName>_ROOT variable documentation
Add documentation for both the CMake variable and environment variable
of this name pattern.  Update references to these names to link to their
documents.  Clarify the pattern used to construct their names.
2018-07-20 09:43:08 -04:00
Brad King
4b35dab891 Help: Document how escape sequences work in a regex
Our regex engine doesn't interpret `\`-escapes but CMake language escape
sequences may be used to pass literal whitespace characters to it.
2018-07-18 10:36:00 -04:00
Brad King
42065828c3 Merge topic 'doc-add_library-IMPORTED_OBJECTS'
62b4df1e84 Help: Mention IMPORTED_OBJECTS in add_library docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2216
2018-07-16 09:07:23 -04:00
Brad King
62b4df1e84 Help: Mention IMPORTED_OBJECTS in add_library docs
The `IMPORTED_OBJECTS` is to object libraries as `IMPORTED_LOCATION`
is to normal libraries.

Fixes: #18176
2018-07-16 08:17:51 -04:00
Brad King
c878e6f8cc Merge topic 'option-normal-variable'
2a5f5c0e31 option: respect existing normal variable
12e6f83319 Option: Add a test that verifies interaction with normal variables
5bb3d40a28 cmOption: Remove VTK 4.0 workarounds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2155
2018-07-09 10:25:33 -04:00
Robert Maynard
2a5f5c0e31 option: respect existing normal variable
Add policy CMP0077 to change this behavior in a compatible way.
2018-07-09 07:48:28 -04:00
Brad King
d101446a56 Merge topic 'doc-add_compile_definitions'
89e3e62e13 Help: fix add_compile_definitions() documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2192
2018-07-05 11:41:23 -04:00
Brad King
326ebdf12a Merge topic 'revert-subdirectory-linking'
0d7114987c Revert "target_link_libraries: Allow use with targets in other directories"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2191
2018-07-05 11:31:17 -04:00
Brad King
ca733cdf45 Merge topic 'math-hex'
5dbee9d2d0 math: Add options to calculate and format output as hexadecimal
8661e7052c math: Diagnose divide-by-zero
7c4c13ffef math: Reject unexpected expression input explicitly
5b0f73a15a math: Use 64-bit integer type for computation
963b8d9f6c math: Add RunCMake.math test to prepare for error cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2056
2018-07-05 10:26:05 -04:00
Brad King
0f3d7a1398 Merge branch 'doc-add_compile_definitions' into release-3.12
Merge-request: !2192
2018-07-05 10:23:20 -04:00
Marc Chevrier
89e3e62e13 Help: fix add_compile_definitions() documentation
Fixes: #18147
2018-07-05 10:21:09 -04:00
Brad King
84ecbf44b6 Merge branch 'revert-subdirectory-linking' into release-3.12
Merge-request: !2191
2018-07-03 12:54:32 -04:00
Daniel Franke
5dbee9d2d0 math: Add options to calculate and format output as hexadecimal 2018-07-03 09:55:58 -04:00
Brad King
0d7114987c Revert "target_link_libraries: Allow use with targets in other directories"
Revert commit v3.12.0-rc1~82^2 (target_link_libraries: Allow use with
targets in other directories, 2018-05-11).  The RHS target scoping and
visibility rules are not clear and will need further investigation
before the feature can be added.

Issue: #17943
2018-07-03 09:39:28 -04:00
Brad King
8ad3396158 Merge topic 'policy_max_docs'
19f338109d Help: Clarify ...<max> behavior for policy-related commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2180
2018-07-02 11:48:56 -04:00
Craig Scott
19f338109d Help: Clarify ...<max> behavior for policy-related commands
Affects cmake_minimum_required() and cmake_policy(VERSION)
2018-07-02 08:41:46 +10:00
Marc Chevrier
b16fd1341d Help: add_library(INTERFACE): add reference to add_link_options() 2018-06-20 11:55:32 +02:00
Brad King
00a9d133fb Merge topic 'install_from_another_directory'
e89ad0f94e install: Allow installing targets created in another directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2152
2018-06-19 11:50:51 -04:00
Craig Scott
6e7b424240 Merge topic 'subdir_target_sources'
316815e1f4 target_sources: Interpret relative paths as relative to the calling directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2128
2018-06-19 08:24:08 -04:00
Patrick Stotko
316815e1f4 target_sources: Interpret relative paths as relative to the calling directory
Previously the command considered non-absolute source file paths relative to
the associated target on the LHS. This causes problems in incremental builds
where files are added from subdirectories and forces users to workaround by
manually converting to absolute paths. Change this to enable more intuitive
usage by projects.

Fixes #17981
2018-06-18 21:01:57 +02:00
Zack Galbreath
e89ad0f94e install: Allow installing targets created in another directory
Previously, `install(TARGETS)` would only accept targets created in the same
directory scope.  Relax this restriction by searching the global scope when
determining whether or not a target exists.

Fixes: #14444
2018-06-18 13:18:54 -04:00
Brad King
575f97763f Merge topic 'list_sort'
49a51a61d7 list: Add options to control the SORT comparison operation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2065
2018-06-14 13:55:57 -04:00
Daniel Franke
49a51a61d7 list: Add options to control the SORT comparison operation 2018-06-13 14:06:29 -04:00
Brad King
812eaa465c Merge topic 'LINK_OPTIONS'
66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix
c1f5a44b28 LINK_OPTIONS: Add new family of properties
8e28d2630a Makefile generator: link flags management refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !2033
2018-06-08 09:37:48 -04:00
Jon Chronopoulos
6dad812143 install: Teach CODE,SCRIPT modes to evaluate generator expressions
Fixes: #15785
2018-06-07 13:18:23 -04:00
Marc Chevrier
66ea1a3795 LINK_OPTIONS: Add support of "LINKER:" prefix 2018-06-06 17:22:41 +02:00
Marc Chevrier
c1f5a44b28 LINK_OPTIONS: Add new family of properties
This family enable to manage link flags

Three new properties:
* directory property: LINK_OPTIONS
* target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS

Two new commands
* add_link_options(): to populate directory property
* target_link_options(): to populate target properties

Fixes: #16543
2018-06-06 17:22:39 +02:00
luz.paz
be28106880 Fix misc. typos
Found via `codespell` and `grep`
2018-06-04 10:32:49 -04:00
Patrick Stotko
c9349cc1b9 target_link_libraries: Allow use with targets in other directories
Previously the command did not allow naming targets on the LHS that
were not created in the calling directory.  Lift this restriction to
enable more flexible use by projects.

Fixes: #17943
2018-05-15 10:22:35 -04:00
Kyle Edwards
563781099f ctest_start: read model from TAG file
This change reworks ctest_start() so that simply calling
ctest_start(APPEND) will read all the information from the TAG file.
On top of that, it relaxes the argument parsing for ctest_start() to
allow greater flexibility in the argument ordering, and the documentation
for ctest_start() has been cleaned up.
2018-05-09 08:22:55 -04:00
Brad King
08b4ea639c Help: Organize file command docs into sections
Add a synopsis section at the top summarizing all signatures.

Issue: #17948
2018-05-07 10:10:37 -04:00
Brad King
51c0e1407c Help: Add Synopsis section to install, list, and string docs
Summarize the command signatures in one block at the top of the
documentation as is typical in Unix command-line tool manuals.
Make the mode keywords links to the corresponding full signature
and documentation.

Issue: #17948
2018-05-07 10:10:37 -04:00
Brad King
0acd705119 Help: Improve list command signature group name for read operations
The LENGTH, GET, JOIN, and SUBLIST operations all read the list without
modifying it.  Name their section appropriately.
2018-05-07 10:10:37 -04:00