summaryrefslogtreecommitdiffstats
path: root/Help/command/install.rst
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* install: add NAMELINK_COMPONENT argumentKyle Edwards2018-05-031-8/+51
| | | | | | | For shared libraries, this allows you to specify separate components for the shared library and for the namelink. Suggested in https://cmake.org/pipermail/cmake-developers/2014-December/024032.html.
* Help: clean up install(TARGETS) documentationKyle Edwards2018-04-301-62/+96
| | | | | | The documentation for install(TARGETS) has been rearranged so that the options are presented as a list, for better readability and maintenance.
* Help: add list of command signatures to top of INSTALL pageKyle Edwards2018-04-301-0/+18
|
* Help: Document existence of cmake_install.cmakeKyle Edwards2018-04-201-0/+23
| | | | | | This file, which is currently undocumented, is useful for external packaging programs that wish to install only a single component at a time. This change adds documentation for the file.
* Help: Fix install(EXPORT_ANDROID_MK) mode documentationBrad King2018-04-091-4/+5
| | | | | | | | | | `install(EXPORT_ANDROID_MK)` is its own mode, not an option to the normal `install(EXPORT)` mode. While at it, also fix the prose in our documented example to match the code. Fixes: #17891
* Help: Document linking behavior of OBJECT librariesBrad King2018-03-011-0/+2
| | | | | Inspired-by: Deniz Bahadir <dbahadir@benocs.com> Issue: #14778
* install,export: Maybe transform OBJECT libraries to INTERFACE librariesBrad King2018-02-281-0/+5
| | | | | | | | | | | 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.
* Help: improve install() documentation of argument orderingKyle Edwards2018-01-081-1/+15
| | | | Fixes #16362.
* Various typo fixesLuz Paz2018-01-031-1/+1
| | | | Some are user-facing. Others are source comments.
* Fix trivial typos in textluzpaz2017-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some are user facing. Found using codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt` whereby the whitelist contained: ans dum helpfull emmited emmitted buil iff isnt nto ot pathes substract te todays upto whitespaces
* Allow OBJECT libraries to be installed, exported, and importedRobert Maynard2017-04-181-11/+12
| | | | | | | | Teach install() and export() to handle the actual object files. Disallow this on Xcode with multiple architectures because it still cannot be cleanly supported there. Co-Author: Brad King <brad.king@kitware.com>
* Apple: Add support for static frameworksGregor Jasny2017-01-311-2/+4
| | | | Closes: #16432