summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 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
|/
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-3/+6
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmInstallCommand: Port away from cmCommandRegina Pfeifer2019-09-211-280/+314
|
* Merge topic 'smart_ptr/cmExportSet'Brad King2019-09-201-11/+10
|\ | | | | | | | | | | | | | | | | 71f088f53a cmExportSet: subsume cmExportSetMap source files 6511fa6f33 cmExportSet: default destructor 9b8a1f7c28 cmExportSetMap: improve ownership of cmExportSet Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3816
| * cmExportSet: subsume cmExportSetMap source filesTushar Maheshwari2019-09-191-1/+0
| |
| * cmExportSet: default destructorTushar Maheshwari2019-09-191-6/+6
| |
| * cmExportSetMap: improve ownership of cmExportSetTushar Maheshwari2019-09-191-6/+6
| | | | | | | | | | - use `std::piecewise_construct` to fix gcc-4.8 build. - can use `emplace(name, name)` gcc-6 onwards.
* | Refactor: Use cmStrCat to construct error stringsAsit Dhal2019-09-181-190/+124
|/ | | | | Replace string construction using std::stringstream with cmStrCat and cmWrap.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* Merge topic 'source_sweep_ostringstream_single'Brad King2019-08-261-4/+3
|\ | | | | | | | | | | | | 3b2b02825d Source sweep: Replace std::ostringstream when used with a single append Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3726
| * Source sweep: Replace std::ostringstream when used with a single appendSebastian Holtermann2019-08-231-4/+3
| | | | | | | | | | | | | | This replaces `std::ostringstream`, when it is written to only once. If the single written argument was numeric, `std::to_string` is used instead. Otherwise, the single written argument is used directly instead of the `std::ostringstream::str()` invocation.
* | Source sweep: Replace cmExpandList with the shorter cmExpandedListSebastian Holtermann2019-08-231-6/+3
|/ | | | | | | | | | | | This replaces the code pattern ``` std::vector<std::string> args; cmExpandList(valueStr, args, ...) ``` with ``` std::vector<std::string> args = cmExpandedList(valueStr, ...) ```
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgumentSebastian Holtermann2019-08-141-3/+3
|
* Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-1/+1
|
* Merge topic 'fileapi-install-generators'Brad King2019-08-051-1/+3
|\ | | | | | | | | | | | | d70a0f8681 fileapi: Fix codemodel target install destination for cross-dir rules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3639
| * fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-311-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546