summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/install
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Loosen RunCMake.install directory symlink expected outputBrad King2022-10-101-1/+1
| | | | | | | | The case added by commit 85f01a1ec2 (file(INSTALL): Improve formatting of symlink creation error, 2022-10-06) may print `Up-to-date:` or `Installing:` for the file inside a symlinked directory based on filesystem timestamp granularity. Since that output is not what the test intends to cover, simply accept either possibility.
* file(INSTALL): Report "Installing:" for a symlink to a directoryJohn Parent2022-10-061-1/+1
|
* file(INSTALL): Clarify symlink vs dir conflict errorsJohn Parent2022-10-061-1/+1
| | | | | Clarify error reporting in scenario creating a symlink where a directory previously exists.
* file(INSTALL): Improve formatting of symlink creation errorBrad King2022-10-065-0/+40
| | | | Avoid printing two error messages. Format paths without wrapping.
* install: Don't ignore EXCLUDE_FROM_ALL when used with ALL_COMPONENTSNils Gladitz2022-05-164-4/+15
| | | | Fixes: #23494
* cmInstallExportGenerator: expose the temporary directoryBen Boeckel2022-04-281-2/+2
| | | | | | | | | | | | This needs to be known so that C++ module properties for the install can be staged beside the other files. Always perform the MD5 transformation (in non-bootstrap builds) so that the path can be computed prior to generation (where it used the longest configuration name to detect too-long paths). Update tests to expect the always-present MD5 value. Note that this improves robustness of the test suite as testing in a too-long path may have triggered the MD5 conversion anyways.
* Merge topic 'restore-target-export-includes'Brad King2022-02-105-0/+47
|\ | | | | | | | | | | | | | | 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-095-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Add deprecation warnings for policies CMP0097 and belowBrad King2022-02-031-3/+15
| | | | | | | | | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.16 and below to encourage projects to port away from setting policies to OLD.
* | install: Add context to {PUBLIC,PRIVATE}_HEADER/RESOURCE DESTINATION warningsBrad King2021-10-272-4/+22
|/
* Add deprecation warnings for policies CMP0088 and belowBrad King2021-06-301-0/+8
| | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.14 and below to encourage projects to port away from setting policies to OLD.
* Tests: Add tests for new optionsKyle Edwards2021-06-042-0/+40
|
* install: Add RUNTIME_DEPENDENCY_SET modeKyle Edwards2021-06-044-0/+8
|
* install(IMPORTED_RUNTIME_ARTIFACTS): Add RUNTIME_DEPENDENCY_SET optionKyle Edwards2021-06-044-0/+10
|
* install(TARGETS): Add RUNTIME_DEPENDENCY_SET argumentKyle Edwards2021-06-047-0/+25
|
* install(TARGETS): Add RUNTIME_DEPENDENCIES optionKyle Edwards2021-06-0417-1/+79
|
* install: Implement new install(CODE|SCRIPT) option ALL_COMPONENTSNils Gladitz2021-05-195-0/+9
| | | | | | | | | | | 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 'codespell'Brad King2021-05-101-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd02f10103 Xcode: Fix typos and spelling in error message 5950e54325 Source: Fix typos and spelling in comments 7072d83772 Help: Fix typos and spelling in documentation 03b1140ddc CONTRIBUTING: Fix typos and spelling 87f8843d8b FindMatlab: Fix spelling in warning and documentation 15cc39ed7f Modules: Fix typos and spelling in documentation f015c36c5a Modules: Fix typos and spelling in comments of generated code dad5b9d845 Modules: Fix typos and spelling in comments ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !6099
| * Tests: Fix typos and spelling in test error messageJosef Angstenberger2021-05-071-2/+2
| |
* | install(FILES): Allow installation of symlinks to directoryJens Carl2021-05-065-0/+22
|/ | | | | | Allow symbolic links to a directory to be installed via install(FILES ...). Fixes: #22159
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-266-0/+58
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* AIX: Enable XCOFF editing to replace RPATH on installationBrad King2021-02-032-4/+8
| | | | Avoid relinking before installation.
* install(files): Support genex in rename optionAsit Dhal2021-01-136-0/+21
| | | | Fixes: #19903
* export: Do not fail generation for separate namelink only caseDeniz Bahadir2020-12-012-0/+20
| | | | | | | | 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: Do not fail generation for namelink-only caseDeniz Bahadir2020-10-095-0/+21
|
* ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-045-0/+28
|
* Tests: Factor out RunCMake.file-GET_RUNTIME_DEPENDENCIES testBrad King2020-06-1658-1404/+0
| | | | Move the `file(GET_RUNTIME_DEPENDENCIES)` cases out of `RunCMake.install`.
* Tests: Fix RunCMake.install LDFLAGS treatmentBrad King2020-05-261-2/+1
| | | | | | In commit d806bd2e8c (Tests: Update test suite to run in an Anaconda environment, 2020-03-30) an extra `}` was left in the value of the modified `LDFLAGS`. Remove it. While at it, simplify the code.
* Tests: Update test suite to run in an Anaconda environmentRobert Maynard2020-05-211-0/+7
|
* file: GetRuntimeDependencies use CMAKE_OBJDUMP when applicableRobert Maynard2020-04-066-0/+32
| | | | | | | | | On machines where the gnu bin utils are prefixed, or suffixed the file(GET_RUNTIME_DEPENDENCIES ) command would fail without explicitly setting the location of objdump. Now we pre-populate the variables used to find objdump based on the gnu bin utils, so that these use cases are better supported
* Merge branch 'backport-3.16-install-default-fix'Brad King2020-02-116-12/+12
|\
| * install: Fix regression when using default destinationsKyle Edwards2020-02-116-12/+12
| | | | | | | | | | | | | | | | | | | | | | 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
| * file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list argumentsKyle Edwards2020-01-222-2/+20
| | | | | | | | | | Also list all keywords that were missing values instead of only the first one.
* | Tests: Disable test on problematic versions of install_name_toolKyle Edwards2020-01-271-4/+6
| | | | | | | | | | | | | | According to https://cmake.org/pipermail/cmake-developers/2015-September/026462.html, there is a bug in Xcode 7.0's install_name_tool that manifests when we try to test file(GET_RUNTIME_DEPENDENCIES). Add a cache option to disable this test.
* | file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list argumentsKyle Edwards2020-01-222-2/+20
| | | | | | | | | | Also list all keywords that were missing values instead of only the first one.
* | Ninja: Add multi-config variantKyle Edwards2019-12-131-2/+2
|/ | | | Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
* cmInstallTargetGenerator: Add tests for the RPATH_CHANGE ruleDennis Klein2019-06-137-0/+237
|
* cmInstallTargetGenerator: Introduce CMP0095Dennis Klein2019-06-132-5/+7
| | | | | | | Escape coincidental CMake syntax in RPATH entries when generating the intermediary cmake_install.cmake script. Fixes #19225
* file: Add GET_RUNTIME_DEPENDENCIES modeKyle Edwards2019-06-1053-0/+1344
| | | | Co-Authored-by: Bryon Bean <bryon.bean@kitware.com>
* INTERFACE Target: allow (PUBLIC/PRIVATE)_HEADER propertiesAvraham Shukron2019-04-113-0/+20
| | | | | | | Also support installing headers on an INTERFACE library. Signed-off-by: Avraham Shukron <avraham.shukron@gmail.com> Fixes: #15234
* install: Do not crash on imported global targetBrad King2019-03-074-0/+9
| | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) the `install(TARGETS)` command may find a global-scoped target outside the calling directory. Ignore an `IMPORTED GLOBAL` target if it is found in this way. Imported targets cannot be installed, and trying to do so violates internal invariants. Fixes: #19022
* EXCLUDE_FROM_ALL: Don't warn if installing target excluded from allCraig Scott2019-02-211-1/+0
| | | | | | | | | The original warning pre-dates support for install components. There are now legitimate scenarios where an install(TARGETS) command may list a target that is excluded from all, e.g. hierarchical projects that will never install the component such a target belongs to. Fixes: #18938
* Merge topic 'install-code-script-genex'Craig Scott2018-12-239-0/+44
|\ | | | | | | | | | | | | 25cae1e85d install: Teach CODE,SCRIPT modes to evaluate generator expressions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2688
| * install: Teach CODE,SCRIPT modes to evaluate generator expressionsJon Chronopoulos2018-12-229-0/+44
| | | | | | | | | | | | | | This also introduces CMP0087 which will keep the OLD behaviour of not evaluating generator expressions Fixes: #15785
* | Tests: Fix Cygwin failure on RunCMake.installKyle Edwards2018-12-192-2/+2
|/
* install: Add sane set of defaults for DESTINATION and file type parametersKyle Edwards2018-11-0732-0/+505
| | | | | | | | | | | | If the user does not specify a DESTINATION for a target type, the install() command checks to see if the appropriate variable from GNUInstallDirs is set. If it is not, then it uses an appropriate hard-coded guess. In addition, for FILES and DIRECTORY, the user can specify a file type instead of a DESTINATION, and the command will use the appropriate variable from GNUInstallDirs, or a hard-coded guess if it is not set.
* Merge branch 'backport-revert-install-code-script-genex' into ↵Brad King2018-10-116-19/+0
|\ | | | | | | revert-install-code-script-genex
| * install: Revert CODE,SCRIPT support for generator expressionsBrad King2018-10-116-19/+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
* | Testing: Update hard-coded line numbers to [0-9]+ in some testsKyle Edwards2018-10-103-3/+3
|/
* Add deprecation warnings for policies CMP0063 and belowBrad King2018-09-171-0/+10
| | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for some policies to encourage projects to port away from setting policies to OLD.