Commit Graph

1081 Commits

Author SHA1 Message Date
Brad King 3941555d93 target_link_libraries: Place $<TARGET_OBJECTS> before libraries
Linkers always use object files explicitly specified on the command line
regardless of where they appear.  Move them to the front of the list of
linked libraries in so that symbols required by the object files can be
resolved by any library.

Issue: #22149
2021-05-29 09:28:36 -04:00
Brad King bf2717e436 Merge topic 'set-cache-keep-normal-variable'
d96eb55282 set(CACHE): do not remove normal variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6146
2021-05-25 10:03:03 -04:00
Marc Chevrier d96eb55282 set(CACHE): do not remove normal variable
Fixes: #22038
2021-05-20 17:50:13 +02:00
Nils Gladitz 99ff75455e install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTS
In a per-component installation the generated installation scripts
are invoked once for each component.

Per default custom installation script code added by install(CODE|SCRIPT)
only runs for one specific component in this context.

The new ALL_COMPONENTS option allows custom script code to be run once
for each component being installed.
2021-05-19 19:17:58 +02:00
Brad King 62b0eba266 Merge topic 'doc-link-compile-options'
2eba7d7524 Help: Add SHELL, LINKER and host/device discussions to property docs
b20c1f4880 Help: Make SHELL option examples more generic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6130
2021-05-18 09:30:44 -04:00
Craig Scott 2eba7d7524 Help: Add SHELL, LINKER and host/device discussions to property docs
Section headings are also added for each common block to help guide
the reader and improve navigation.

Fixes: #21640
2021-05-15 16:31:16 +10:00
Craig Scott b20c1f4880 Help: Make SHELL option examples more generic
Comments at the bottom of the docs for add_compile_options() and
target_compile_options() recommend using other commands if setting
compiler definitions. Change the examples we use for the SHELL:
functionality to use -option instead of -D so that we don't violate our
own recommendations. This also makes the examples more
appropriate for use with link options as well.

Tweak the wording to not specify the type of option being discussed.
This will already be clear from the page the text is included into and
it avoids naming unrelated option types for the given page.
2021-05-15 16:30:46 +10:00
Craig Scott b00a171b2b Help: Clarify calling cmake_minimum_required() inside a function
Fixes: #21519
2021-05-15 15:26:01 +10:00
Josef Angstenberger 7072d83772 Help: Fix typos and spelling in documentation 2021-05-07 17:00:17 +02:00
Brad King 41f9486e61 Merge topic 'generate-cmake-build-command-parallel'
d2b856bc92 ctest_build: Add the PARALLEL_LEVEL argument
fc2ac46043 build_command: Add the PARALLEL_LEVEL argument
4dd4e9dd6c cmGlobalGenerator: Add parallel parameter to GenerateCMakeBuildCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !6069
2021-05-05 10:11:46 -04:00
Brad King 7973f97828 Merge topic 'doc-tls'
7398993f5b Help: Document CMAKE_TLS_VERIFY variable explicitly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6064
2021-05-05 10:08:45 -04:00
friendlyanon d2b856bc92 ctest_build: Add the PARALLEL_LEVEL argument
Fixes: #19712
2021-05-04 20:30:18 +02:00
friendlyanon fc2ac46043 build_command: Add the PARALLEL_LEVEL argument
Issue: #19712
2021-05-04 20:17:17 +02:00
Michael Hirsch 7398993f5b Help: Document CMAKE_TLS_VERIFY variable explicitly
Previously it was mentioned only in the `file` and `ExternalProject`
documentation.
2021-05-04 12:29:13 -04:00
Marc Chevrier 46896d98bb foreach(): loop variables are only available in the loop scope
Fixes: #20553
2021-04-28 19:44:25 +02:00
Zack Galbreath b60789a758 Help: Document CTest custom test measurements 2021-04-27 15:00:26 -04:00
Brad King 970f175d88 Merge topic 'ctest_junit'
25bf514447 ctest: Add support for writing test results in JUnit XML format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Acked-by: Michael Hirsch <michael@scivision.dev>
Acked-by: MvdHurk <maikelvandenhurk@hotmail.com>
Acked-by: Alexander Richardson <arichardson.kde@gmail.com>
Merge-request: !6020
2021-04-27 13:53:55 -04:00
Brad King 6aabf2790c Merge topic 'file-REAL_PATH-EXPAND_TILDE'
e4b793c614 file(REAL_PATH): add option EXPAND_TILDE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch <michael@scivision.dev>
Merge-request: !6033
2021-04-26 11:30:57 -04:00
Zack Galbreath 25bf514447 ctest: Add support for writing test results in JUnit XML format
Addresses #18654
2021-04-26 08:55:22 -04:00
Marc Chevrier e4b793c614 file(REAL_PATH): add option EXPAND_TILDE
This option enables the replacement of any leading tilde with the path
to the user's home directory.
2021-04-22 08:08:47 +10:00
Robert Maynard b94bf12a31 Help: cmake_minimum_required specify max is only for policies
Make it even clearer that for the signature `<version>...<version>` that
the second value is only used for policies, and is not a clamp range
of supported CMake versions.
2021-04-20 13:50:42 -04:00
Brad King 4c0d69e813 Merge topic 'Xcode-add_custom_command-DEPFILE'
253aff6c94 Xcode: Add support of DEPFILE for add_custom_command, part 2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6015
2021-04-20 09:59:53 -04:00
Brad King c6fa8cd3f2 Merge topic 'doc-if-IS_ABSOLUTE'
6234afdff4 Help: Document special cases for if(IS_ABSOLUTE)
789307b02f Help: Behavior of file(TO_NATIVE_PATH) depends on the host platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6016
2021-04-20 09:58:53 -04:00
Craig Scott 6234afdff4 Help: Document special cases for if(IS_ABSOLUTE)
The meaning of "absolute path" was previously assumed knowledge,
but a number of special cases were left unspecified. The way some of
these are handled differs to the way that cmake_path(IS_ABSOLUTE)
works, so document those special cases so that the differing behavior
between these two commands is clearly defined.
2021-04-17 19:41:53 +10:00
Craig Scott 789307b02f Help: Behavior of file(TO_NATIVE_PATH) depends on the host platform 2021-04-17 19:41:53 +10:00
Marc Chevrier 253aff6c94 Xcode: Add support of DEPFILE for add_custom_command, part 2
This MR extend the support of 'DEPFILE' to buildsystem version 1.

Issue: #20286
2021-04-17 11:05:26 +02:00
Marc Chevrier d67cc4882d Xcode: Add support of DEPFILE for add_custom_command
Issue: #20286
2021-04-15 12:17:31 -04:00
Marc Chevrier 0c47b91fcc Genex: add_custom_command: DEPFILE supports genex
This facility is very useful for 'Ninja Multi-Config' and required
as well for future support of DEPFILE in 'Xcode' and 'Visual Studio'
generators (#20286).
2021-04-12 13:06:49 +02:00
Brad King 792027f70f Merge topic 'doc-imported-soname'
4d6e899578 Help: Document in add_library how to import libraries with SONAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5975
2021-04-05 11:34:24 -04:00
Brad King 4d6e899578 Help: Document in add_library how to import libraries with SONAME
When using `add_library` to create an `IMPORTED` library target, there
are a few target properties that are essential to correctly tell CMake
about the library file.  We already cover `IMPORTED_LOCATION` and
`IMPORTED_IMPLIB`.  Add `IMPORTED_SONAME` and `IMPORTED_NO_SONAME`,
which are important in certain cases.

Fixes: #22016
2021-04-02 12:12:28 -04:00
Brad King d212d91f14 Merge topic 'commands-file-permissions' into release-3.20
769ff05483 Help: Clarify permission-related command options
900184616a Cleanup: Fix misspelt name of local C++ variable
635431a0c9 Tests: Check host platform instead of target for running stat
4ceb0ca59e Tests: Remove redundant files for configure_file() tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5945
2021-03-29 09:32:09 -04:00
Brad King 75dd9b6c97 Merge topic 'commands-file-permissions'
769ff05483 Help: Clarify permission-related command options
900184616a Cleanup: Fix misspelt name of local C++ variable
635431a0c9 Tests: Check host platform instead of target for running stat
4ceb0ca59e Tests: Remove redundant files for configure_file() tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5945
2021-03-29 09:32:09 -04:00
Craig Scott 769ff05483 Help: Clarify permission-related command options
The previous docs did not make clear that at most only one of the three
permissions-related options can be given for configure_file() or
file(GENERATE) and that USE_SOURCE_PERMISSIONS is already the
default behavior for these commands.

Use consistent wording to refer to the input and output files for
configure_file().

Add missing "versionadded" directives on some of these keywords.

Use the consistent wording and keyword ordering between the
configure_file(), file(GENERATE) and file(COPY) commands.
2021-03-27 09:54:27 +11:00
friendlyanon 96a7040107 project: Define variables indicating whether project is top level
Define `PROJECT_IS_TOP_LEVEL` and `<PROJECT-NAME>_IS_TOP_LEVEL`.  The
latter is a STATIC cache entry just like other `<PROJECT-NAME>_*`
variables so that it is globally scoped.

Issue: #20310
Fixes: #21961
2021-03-26 09:35:34 -04:00
Brad King 3706e9c97c Help: Convert project() directory variables to a definition list 2021-03-26 09:34:18 -04:00
Brad King ea4c344453 Merge topic 'doc-custom-output-genex'
2f59b683d3 Help: Custom OUTPUT and BYPRODUCTS genexes cannot refer to targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5939
2021-03-25 10:24:38 -04:00
Craig Scott 2f59b683d3 Help: Custom OUTPUT and BYPRODUCTS genexes cannot refer to targets
Relates: #21364
2021-03-25 18:04:17 +11:00
Elsie Hupp c13f75982f Help: Clarify configure_file #cmakedefine01 syntax and behavior
Fixes: #21935
2021-03-15 09:15:08 -04:00
Ben Boeckel 088444211e file: add COPY_FILE subcommand
The `file(COPY)` subcommand is overloaded and busy for such a simple
operation. Instead, make a simpler subcommand with error handling
support.
2021-03-10 10:43:18 -05:00
Robert Maynard 934861e354 Find: Document that first argument to PATHS and HINTS can be ENV{} 2021-03-05 09:59:39 -05:00
Brad King 9bf40d8027 file(RENAME): Add option to not replace existing path
Add a `NO_REPLACE` option that prevents overwriting `<newname>`
if it exists.
2021-03-04 08:49:48 -05:00
Brad King c61292726c file(RENAME): Add option to capture error message on failure 2021-03-04 08:44:06 -05:00
Michael Hirsch, Ph.D 22140f7af3 Help: Add internal links to if() docs 2021-02-18 10:20:34 -05:00
Brad King 5dd356cefc Help: Convert some genex names to explicit cross-references
Since commit c2dc7e0f53 (Help: Convert genex documentation to sphinx
domain objects, 2021-01-15) we can use `:genex:` cross-references to
link to named generator expressions.  Update some places to do this.

This is meant to demonstrate the capability, not as a comprehensive
sweep.
2021-02-05 16:05:25 -05:00
Brad King 07ca40408a Merge topic 'doc-find-env-vars'
c40e81ce80 Help: Restore docs that find_library considers LIB, not INCLUDE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5772
2021-02-05 06:55:37 -05:00
Brad King c40e81ce80 Help: Restore docs that find_library considers LIB, not INCLUDE
Documentation updates in commit 02f527c66a (Find: Provide global
controls for the `NO_[]_PATH` call options, 2019-06-12,
v3.16.0-rc1~541^2) accidentally switched the `find_library`
documentation to mention `INCLUDE` where it should be `LIB`.

While at it, update `find_file` and `find_path` to mention
`INCLUDE` and `PATH` in the order they are considered.
2021-02-04 09:09:25 -05:00
Asit Dhal 5af38a11ce try_run: Allow to set working directory
Fixes: #17634
2021-02-03 08:42:05 +01:00
Brad King 8387aa20f2 Merge topic 'issue-19198'
255df8622b file(GENERATE): Support new line style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5649
2021-02-02 08:53:07 -05:00
Asit Dhal 255df8622b file(GENERATE): Support new line style
Fixes: #19198
2021-02-01 01:38:19 +01:00
william.r.dieter 8213390a3e Added SETUID and SETGID to the list of accepted file permissions
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
2021-01-29 16:30:52 -05:00