summaryrefslogtreecommitdiffstats
path: root/Help/command/install.rst
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add support for creating prebuilt Android.mk filesBill Hoffman2016-09-131-2/+12
| | | | | | | | | | | Add options to the `install()` and `export()` commands to export the targets we build into Android.mk files that reference them as prebuilt libraries with associated usage requirements (compile definitions, include directories, link libraries). This will allow CMake-built projects to be imported into projects using the Android NDK build system. Closes: #15562
* Help: Clarify install(TARGETS) INCLUDES DESTINATION optionBrad King2016-02-171-7/+12
| | | | | | | | The option does not actually participate in argument groups like the others because it does not actually install anything. Fix the order in the documentation accordingly. Reported-by: Daniel Wirtz <daniel.wirtz@simtech.uni-stuttgart.de>
* install: Add EXCLUDE_FROM_ALL option (#14921)Nick Lewis2016-02-041-8/+15
| | | | | | | | | | | | | | | | | | | Let us take an example of a project that has some tests in a component that need to be installed into a dedicated test package. The user expectation is that the result could be achieved by typing the following: make make tests make install DESTDIR=/testpkgs make install-tests However this results in test components in the default installation as well as the testpkg. Add an EXCLUDE_FROM_ALL option to the install() command to tell it that the installation rule should not be included unless its component is explicitly specified for installation.
* install: Allow generator expressions in DIRECTORYYves Frederix2016-01-131-3/+4
| | | | | Teach install(DIRECTORY) to support generator expressions in the list of directories, much like install(FILES) already supports.
* install: Allow generator expressions in DIRECTORY DESTINATIONRobert Goulet2015-09-241-0/+4
|
* install: Allow generator expressions in FILES DESTINATIONRobert Goulet2015-09-231-0/+4
|
* install: Allow generator expressions in TARGETS DESTINATION (#14317)Brad King2015-02-111-0/+4
| | | | | | | | | | | | This will allow per-config destinations for targets in EXPORT sets. Using multiple install(TARGETS) with separate CONFIGURATIONS is rejected as a target appearing more than once in an export set. Now instead one can write install(TARGETS foo EXPORT exp DESTINATION lib/$<CONFIG>) to get a single logical membership of the target in the export set while still having a per-config destination.
* Help: Document COMPONENT option of install(SCRIPT/CODE) (#14956)Brad King2014-11-131-1/+2
|
* install(DIRECTORY): Add MESSAGE_NEVER option to avoid output (#13761)Brad King2014-06-241-1/+3
| | | | | | | | | | | | Installing large directories, e.g., the output of a doxygen run, prints one line per file resulting in too much noise in the build output. Add an option to the install(DIRECTORY) command to not print anything upon make install. Extend the RunCMake.install test with cases covering MESSAGE_NEVER behavior of the install(DIRECTORY) command. Suggested-by: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
* install: Add CMAKE_INSTALL_MESSAGE variable (#13761)Brad King2014-06-241-0/+4
| | | | | | | | | Create a variable to allow users to control which installation messages are printed. In particular, provide a "LAZY" setting that prints "Installing" messages but not "Up-to-date" messages. This is desirable for incremental re-installations. Suggested-by: J Decker <d3ck0r@gmail.com>
* Help: Add install() command document section headersBrad King2014-06-241-5/+17
| | | | | Use section headers instead of horizontal dividers so that one may link to the sections.
* install: Support generator expressions in FILES and PROGRAMS modeBrad King2014-02-211-0/+6
| | | | | | | | Teach the install(FILES) and install(PROGRAMS) commands to evaluate generator expressions in the list of files. Extend the ExportImport test to cover installation cases involving generator expressions.
* Help: Format install() command documentationBrad King2014-02-211-161/+162
| | | | Add inline markup and explicit markup blocks as appropriate.
* Help: Fix reStructuredText syntax in auto-generated documentsBrad King2013-10-151-1/+1
|
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-0/+316
Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.