summaryrefslogtreecommitdiffstats
path: root/Help/command/install.rst
Commit message (Collapse)AuthorAgeFilesLines
* Help: remove links from pages to themselvesBen Boeckel2022-11-181-1/+1
| | | | | At least the top-reference links. Internal `:ref:` usages have been left intact.
* Help: Use direct refs to genexes instead of ``$<GENEX-NAME>``Alex Turbov2022-11-091-1/+1
|
* Help: Disambiguate cmake(1) program modes in Sphinx option referencesBrad King2022-10-051-1/+1
| | | | | | Define the entry point to each mode as an option for the `cmake` program, but reference the options for that mode as part of stand-in `cmake-<mode>` programs.
* Help: Fix formatting of CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API notesBrad King2022-08-091-4/+4
|
* Help: Replace a bunch of more ``--option`` to `:option:` roleAlex Turbov2022-08-041-3/+3
|
* Merge topic 'install-destination-docs'Brad King2022-07-081-3/+9
|\ | | | | | | | | | | | | 52164be691 Help: Clarify behavior of install(TARGETS) for DLLs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7457
| * Help: Clarify behavior of install(TARGETS) for DLLsKyle Edwards2022-07-061-3/+9
| | | | | | | | Fixes: #23695
* | exports: support `CXX_MODULES_DIRECTORY`Ben Boeckel2022-07-061-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | This directory will be used to store build-discovered information about targets such as the modules provided by the files in the relevant `FILE_SET` types. A directory is used because basing the name on a `<FILE_NAME>-*.cmake` pattern makes it end up being globbed in the configuration-dependent information mechanism. Since old modules and targets may be around, unconditionally including them may refer to targets that do not actually exist.
* | install: support `CXX_MODULES_BMI` installation bitsBen Boeckel2022-07-061-1/+13
|/
* Help: Make install() example component names more consistentJean-Christophe Fillion-Robin2022-05-121-1/+1
| | | | | | This commit updates the documentation so that the component examples are specified using title case to match convention used in both the existing `Installing Exports` section and in the "Mastering CMake" book.
* Help: Fix typo in install command documentationEugene Shalygin2022-04-031-1/+1
|
* Help: Update install() docs to better reflect preference for file setsCraig Scott2022-03-081-21/+39
| | | | | | | Previously, headers would typically be installed as bare files or as whole directories. File sets offer a better abstraction and associate headers with a target, installing them as part of the target. Add notes and update examples to draw the reader's attention to the advantages of file sets for headers.
* Help: Add versionadded markup to target_sources FILE_SET featureBrad King2021-11-051-0/+2
| | | | | | This was accidentally left out of commit 4b0ee4e338 (Help: Add documentation for target_sources(FILE_SET) and associated properties, 2021-07-02).
* Help: Add documentation for target_sources(FILE_SET) and associated propertiesKyle Edwards2021-10-271-10/+23
|
* Alternative symlink-creating mode for file(INSTALL ...)Felix Lelchuk2021-08-021-0/+4
| | | | | | | | | | | An new environment variable 'CMAKE_INSTALL_MODE' is introduced, which can be used to ask CMake to create symbolic links instead of copying files during a file(INSTALL ...). The operation is at the file level only, directory trees are still created using actual directories, not links. Signed-off-by: Felix Lelchuk <felix.lelchuk@gmx.de>
* Help: Improve readability and accuracy of runtime deps-related contentCraig Scott2021-07-041-53/+60
| | | | | | Duplicated textual patterns are factored out to make the text more readable. The POST_INCLUDE_FILES and POST_EXCLUDE_FILES were also previously missing from the main syntax block for install(RUNTIME_DEPENDENCY_SET).
* Help: Tighten install(SCRIPT) wording for ALL_COMPONENTS optionCraig Scott2021-07-031-6/+7
| | | | | In particular, mention the mutually exclusive nature with the COMPONENT option. Fix the inconsistent way the versionadded details were added for that text too.
* Help: Add documentation for runtime dependency installationKyle Edwards2021-06-041-0/+108
|
* Merge topic 'doc_regex'Brad King2021-06-031-1/+2
|\ | | | | | | | | | | | | 0d210b92fa Help: links to CMake regex syntax Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6179
| * Help: links to CMake regex syntaxMichael Hirsch2021-06-021-1/+2
| |
* | install(): Add IMPORTED_RUNTIME_ARTIFACTS modeKyle Edwards2021-05-311-0/+33
|/
* install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTSNils Gladitz2021-05-191-1/+7
| | | | | | | | | | | 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.
* Help: Fix typos and spelling in documentationJosef Angstenberger2021-05-071-1/+1
|
* install(files): Support genex in rename optionAsit Dhal2021-01-131-0/+5
| | | | Fixes: #19903
* Help: Replace some `versionadded` directives with `versionchanged`Nikita Nemkin2020-11-121-1/+1
| | | | | | | | `.. 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
* Help: Add `.. versionadded` directives to commands documentationNikita Nemkin2020-11-091-42/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Help: advise against CMAKE_INSTALL_PREFIX in install DESTINATION.Joachim Wuttke (h)2020-07-081-0/+3
| | | | | as per my uncontradicted post https://discourse.cmake.org/t/local-install-vs-install-for-cpack-absolute-vs-relative-path/623/2?u=jwuttke
* Help: Reference policy CMP0082 from install() command docsBrad King2020-04-271-4/+6
| | | | | The policy plays an important role in the behavior of the `install()` command, so the latter's documentation should mention it.
* Help: Discourage direct use of cmake_install.cmakeKyle Edwards2020-04-011-0/+5
| | | | Encourage people to use cmake(1) --install instead.
* install: Document caveat when EXPORT name matches package nameBrad King2020-03-261-0/+7
| | | | Fixes: #20427
* Help: install: use bullet lists to sort out target kindsJoachim Wuttke (o)2020-02-171-17/+24
|
* Help: command install: absolute paths unsupported by CPackJoachim Wuttke (o)2020-02-121-3/+10
| | | | | Advise against absolute DESTINATIONs as they are not supported by CPack installer generators.
* AIX: Create import library for executables with exportsBrad King2019-07-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Help: Fix typo in install(EXPORT_ANDROID_MK) exampleJohn Freeman2019-05-261-2/+2
|
* INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER propertiesAvraham Shukron2019-04-111-3/+3
| | | | | | | Also support installing headers on an INTERFACE library. Signed-off-by: Avraham Shukron <avraham.shukron@gmail.com> Fixes: #15234
* Merge topic 'docs-install-destinations'Brad King2019-03-061-51/+85
|\ | | | | | | | | | | | | a5f79b83c7 Help: clarify DESTINATION and TYPE usage for install() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3052
| * Help: clarify DESTINATION and TYPE usage for install()Craig Scott2019-03-051-51/+85
| |
* | Help: inter-link install() commandsNeroBurner2019-02-281-5/+5
| |
* | Help: add inter link anchors for install() commandsNeroBurner-tux2019-02-281-0/+7
| |
* | Help: Link from install(TARGET) to EXPORT_NAME to rename exported targetNeroBurner2019-02-271-0/+2
|/
* install: Teach CODE,SCRIPT modes to evaluate generator expressionsJon Chronopoulos2018-12-221-0/+5
| | | | | | | This also introduces CMP0087 which will keep the OLD behaviour of not evaluating generator expressions Fixes: #15785
* Help: Add documentation and release notes for installKyle Edwards2018-11-071-4/+109
| | | | | This change adds documentation for the new DESTINATION behavior of the install() command.
* Help: Apply syntax highlighting to project commandsJoachim Wuttke (o)2018-10-251-5/+5
| | | | | | * Replace most "::" by ".. code-block:: cmake" * Header sentence in imperative voice, detailed command description in present tense.
* install: Revert CODE,SCRIPT support for generator expressionsBrad King2018-10-111-4/+0
| | | | | | | | | | | | | | | | Revert commit v3.13.0-rc1~441^2 (install: Teach CODE,SCRIPT modes to evaluate generator expressions, 2018-05-29). Unfortunately it has been found to break existing code in a real project, e.g. install(CODE [[ message("$<FOOBAR>") ]]) Address this regression by reverting support for the 3.13 release series. Support can be restored later with a policy for compatibility. Issue: #15785 Fixes: #18435
* Help: Add note about CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONSKyle Edwards2018-10-011-0/+7
|
* Help: Replace occurrences of "Mac OS X" with "macOS"Bartosz Kosiorek2018-09-051-5/+5
| | | | | | | | 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.
* install: Allow installing targets created in another directoryZack Galbreath2018-06-181-0/+8
| | | | | | | | 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
* install: Teach CODE,SCRIPT modes to evaluate generator expressionsJon Chronopoulos2018-06-071-0/+4
| | | | Fixes: #15785
* Help: Add Synopsis section to install, list, and string docsBrad King2018-05-071-20/+22
| | | | | | | | | 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
* Help: clarify "undefined behavior" in install(EXPORT) commandKyle Edwards2018-05-031-5/+18
| | | | | | | The "undefined behavior" that the install(EXPORT) command warned about was simply the possibility of build errors (or other errors) if the referenced targets aren't installed. As long as the referenced targets are installed, this won't be an issue.