summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmExperimental: remove the flag for C++ modulesBen Boeckel2023-10-021-21/+4
| | | | | | | All the major compilers now have scheduled releases with support for scanning, so remove the experimental gate. Fixes: #18355
* Source: Remove redundant FileIsDirectory checksscivision2023-09-191-2/+1
|
* CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-241-5/+6
|
* Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-011-15/+58
| | | | Fixes: #24123
* install(CODE|SCRIPT): Support $<INSTALL_PREFIX> genexKyle Edwards2023-02-241-7/+9
| | | | Fixes: #24534
* cmInstallCommand: Drop unused local variableBrad King2022-07-201-3/+1
|
* cmArgumentParser: Model maybe-empty and non-empty lists with wrapper typesBrad King2022-07-071-29/+31
| | | | | | | | Previously bindings to `std::vector<std::string>` required at least one value. Some clients have been filtering `keywordsMissingValue` to support keywords followed by empty lists. Instead, require clients to specify whether a keyword's list can be empty as part of the binding type.
* exports: support `CXX_MODULES_DIRECTORY`Ben Boeckel2022-07-061-3/+10
| | | | | | | | | | | | 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-5/+60
|
* cmInstallCommand: Use cm::optional for keyword argument presenceBrad King2022-07-051-10/+9
|
* cmArgumentParser: Avoid allocating copies of keyword stringsBrad King2022-07-051-2/+2
|
* Merge topic 'file-set-build-export'Brad King2022-04-211-3/+3
|\ | | | | | | | | | | | | | | 9ee47188c0 cmExportBuildFileGenerator: handle genex-wrapped source paths 60fab8a6e0 cmInstallCommand: tweak error message Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7182
| * cmInstallCommand: tweak error messageBen Boeckel2022-04-161-3/+3
| | | | | | | | | | Not all filesets need to be installed; just those that are visible on the target's interface. Clarify the error message.
* | cmTarget: Add `HasKnownObjectFileLocation()` shorthandHyper Nova Sun2022-04-111-2/+1
| | | | | | | | | | | | | | | | Allow `cmGlobalGenerator`s to decide `HasKnownObjectFileLocation()` per given `cmTarget` - `cmGlobalGenerator::HasKnownObjectFileLocation()` now takes an optional `cmGeneratorTarget` - `cmTarget::HasKnownObjectFileLocation()` added as a shorthand
* | cmConstStack: Factor out of cmListFileBacktraceBrad King2022-04-021-1/+2
|/ | | | | | | This presents value semantics for a stack of constant values. Internally it shares ownership to avoid copies. Previously this was implemented by `cmListFileBacktrace` explicitly, but the approach can be re-used for other kinds of stacks.
* install(): Properly ignore FILE_SETs that don't existKyle Edwards2022-02-171-21/+22
| | | | Fixes: #22960
* Merge topic 'restore-target-export-includes' into release-3.23Brad King2022-02-101-1/+1
|\ | | | | | | | | | | | | | | 83d79636bf install(TARGETS): Restore per-export INCLUDES DESTINATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6969
| * install(TARGETS): Restore per-export INCLUDES DESTINATIONEugene Shalygin2022-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 55e4753bbb (Refactor cmTargetExport removing InterfaceIncludeDirecories, 2021-07-20, v3.22.0-rc1~337^2~1) the storage of `INCLUDES DESTINATION` was moved into each target. However, a target may be installed in multiple exports, and their `INCLUDES DESTINATION` should not be mixed. Convert the IncludeDirectoriesEntries vector to a map and modify access function to store the directories lists with respect to cmExportTarget object. This fixes error when the same target is exported more than once via different exports and each for consequent export its include directories list grows. Add a test for this case. Fixes: #23183
* | Merge topic 'misc-messages'Brad King2021-11-011-8/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dbe33b20bd install: Add context to {PUBLIC,PRIVATE}_HEADER/RESOURCE DESTINATION warnings 1a25f057da cmComputeLinkInformation: Add context to warning about linking a directory 4862f3b2c8 cmcmd: Write progress and tar errors directly to stderr efc6c23a47 bootstrap: Do not declare cmSystemTools functions that are not implemented Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6680
| * | install: Add context to {PUBLIC,PRIVATE}_HEADER/RESOURCE DESTINATION warningsBrad King2021-10-271-8/+8
| |/
* | install(EXPORT): Install file setsKyle Edwards2021-10-271-5/+32
| |
* | install(TARGETS): Add FILE_SET modeKyle Edwards2021-10-271-7/+112
|/
* Source: Fix clang -Wimplicit-fallthrough warningsSean McBride2021-09-281-0/+2
|
* Rename cmProp in cmValueMarc Chevrier2021-09-211-2/+2
|
* Refactor cmTargetExport removing InterfaceIncludeDirecoriesEugene Shalygin2021-07-221-2/+3
| | | | | | | | Because of this property in the cmTargetExport struct, exporting targets is not uniform: top-level ones have to be dealt with via the cmTargetExport objects, while all linked ones are cmGeneratorTarget objects. Let's pass this additional includedirectories via a special target property making handling exported targets uniform.
* install: Add RUNTIME_DEPENDENCY_SET modeKyle Edwards2021-06-041-0/+115
|
* install(IMPORTED_RUNTIME_ARTIFACTS): Add RUNTIME_DEPENDENCY_SET optionKyle Edwards2021-06-041-1/+40
|
* install(TARGETS): Add RUNTIME_DEPENDENCY_SET argumentKyle Edwards2021-06-041-0/+19
|
* install(TARGETS): Add RUNTIME_DEPENDENCIES optionKyle Edwards2021-06-041-1/+185
|
* install(): Add IMPORTED_RUNTIME_ARTIFACTS modeKyle Edwards2021-05-311-0/+224
|
* install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTSNils Gladitz2021-05-191-2/+10
| | | | | | | | | | | 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.
* Merge topic 'fixAppleResourceWarning'Brad King2021-05-111-1/+1
|\ | | | | | | | | | | | | 169da7cd81 Do not show RESOURCE DESTINATION warning for MACOSX_BUNDLE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6104
| * Do not show RESOURCE DESTINATION warning for MACOSX_BUNDLEMike Achtelik2021-05-071-1/+1
| | | | | | | | | | | | | | | | | | RESOURCE arguments are ignored on Apple platforms because the associated files are installed into the appropriate locations inside the framework folder. So we do not need to show a warning, that no RESOURCE DESTINATION is defined. Fixes #15676
* | install(FILES): Allow installation of symlinks to directoryJens Carl2021-05-061-1/+2
|/ | | | | | Allow symbolic links to a directory to be installed via install(FILES ...). Fixes: #22159
* cmInstallGenerator: Add backtrace to all install generatorsBrad King2021-01-281-8/+14
|
* clang-tidy: fix `readability-make-member-function-const` warningsBen Boeckel2021-01-271-36/+52
|
* export: Do not fail generation for separate namelink only caseDeniz Bahadir2020-12-011-8/+11
| | | | | | | | Update the change from commit 64690f6df0 (export: Do not fail generation for namelink-only case, 2020-10-09, v3.19.0-rc1~7^2) to also handle separate namelink-only and namelink-skip calls. Fixes: #21529
* export: Remove leftover inaccurate code commentCraig Scott2020-10-131-1/+0
| | | | | No functional changes. Relates: !5352
* export: Do not fail generation for namelink-only caseDeniz Bahadir2020-10-091-19/+27
|
* install: Use case-sensitive pattern matching on CygwinLemures Lemniscati2020-08-061-1/+1
| | | | | | Based on downstream patch from Cygwin package for CMake by Marco Atzeri: * https://github.com/matzeri/cygwin-pkg/blob/64864eb8f0d635ea44226e4b9a41a7ca59a1c7dd/cmake/3.17.3-case-sensitivity.patch
* cmNonempty: Convenience inlines to check for non-empty stringVitaly Stakhovsky2020-07-141-3/+3
|
* Single location for cmProp typedefVitaly Stakhovsky2020-06-011-0/+1
|
* Refactoring: rename "cm_static_string_view.hxx" as <cmext/string_view>Marc Chevrier2020-04-301-2/+1
|
* clang-tidy: address bugprone-branch-clone lintsBen Boeckel2020-04-131-1/+0
| | | | | | | | | Arguably, many of these are bugs in `clang-tidy`. An if/else tree with other conditionals between cloned blocks may be relying on the intermediate logic to fall out of the case and inverting this logic may be non-trivial. See: https://bugs.llvm.org/show_bug.cgi?id=44165
* cmTarget::GetProperty: return cmPropVitaly Stakhovsky2020-03-301-7/+7
|
* Merge branch 'backport-3.16-install-default-fix'Brad King2020-02-111-6/+38
|\
| * install: Fix regression when using default destinationsKyle Edwards2020-02-111-6/+38
| | | | | | | | | | | | | | | | | | | | | | In commit 9fc20a4f3e (install: Add sane set of defaults for DESTINATION and file type parameters, 2018-11-02, v3.14.0-rc1~410^2~1), a regression was introduced, in which an `install(TARGETS)` with a RUNTIME/LIBRARY/ARCHIVE DESTINATION but no PUBLIC_HEADER/PRIVATE_HEADER DESTINATION would then install the headers. The old behavior did not do this. Restore the old behavior. Fixes: #20326
* | cmInstallGenerator: std::string paramsVitaly Stakhovsky2020-01-211-8/+8
| | | | | | | | | | Several construction parameters converted to std::string Also made a few class members const
* | cmInstall*Generator: std::string paramsVitaly Stakhovsky2020-01-211-22/+18
| | | | | | | | | | Several construction parameters converted to std::string Also made a few class members const
* | cmMakefile: modernize memory managementMarc Chevrier2020-01-141-70/+71
|/