summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/install
Commit message (Collapse)AuthorAgeFilesLines
* Clarify advice given by compatibility deprecation message for CMake < 3.10Brad King2024-11-141-2/+3
| | | | | | | | | Since commit 84db8506ff (Deprecate compatibility with CMake versions older than 3.10, 2024-10-03, v3.31.0-rc1~23^2) the `cmake_minimum_required` and `cmake_policy` commands warn if the project does not enable policies as of 3.10 or higher. Clarify the advice given in the warning message about how to update the version specification, particularly without actually requiring a newer minimum version of CMake.
* Deprecate compatibility with CMake versions older than 3.10Brad King2024-10-031-1/+1
| | | | | | | | Issue a deprecation warning on calls to `cmake_minimum_required` or `cmake_policy` that set policies based on versions older than 3.10. Note that the effective policy version includes `...<max>` treatment. Update the check from commit 3a4791548d (Deprecate compatibility with CMake versions older than 3.5, 2023-02-09, v3.27.0-rc1~508^2).
* Tests/RunCMake: Update cmake_minimum_required versions to 3.10Brad King2024-10-031-1/+1
| | | | | For policy-specific tests, use the version before the policy was introduced. Otherwise, use 3.10 where possible.
* Merge topic 'normalize-install-destination-paths'Brad King2024-09-2016-10/+147
|\ | | | | | | | | | | | | | | | | | | | | 6a1fac1450 install: Normalize DESTINATION paths 2184fcfb00 Tests: Configure RunCMake.install cases with correct build type 5a8a6dfe81 cmGeneratorExpression: Change Find() parameter type to cm::string_view d810374b3d install(PACKAGE_INFO): Remove outdated TODO comment d13ed01d54 Tests: Remove unused files from RunCMake.install Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9800
| * install: Normalize DESTINATION pathsCraig Scott2024-09-1914-0/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The file generated by install(EXPORT) computes _IMPORT_PREFIX in a way that assumes a normalized path. If the DESTINATION contains any ../ components, the computed _IMPORT_PREFIX would be wrong. Force the DESTINATION path to be normalized, subject to the new CMP0176 policy. Also normalize all other DESTINATION paths for consistency, except for INCLUDES DESTINATION, which is not strictly a destination but rather a search path to add. Fixes: #26252
| * Tests: Configure RunCMake.install cases with correct build typeCraig Scott2024-09-171-0/+2
| | | | | | | | | | | | | | | | | | | | The run_install_test() function would build and install with the configuration hard-coded to Debug, but the configuration step did not specify any configuration. This resulted in a "no config" configuration, and the install step then wouldn't install the Debug export files. This would only be a problem if using a single config CMake generator, and it appears none of the existing tests relied on actually installing the config-specific export file.
| * Tests: Remove unused files from RunCMake.installCraig Scott2024-09-172-10/+0
| |
* | install: Add TYPE LIBEXEC for FILES and DIRECTORYChen Linxuan2024-09-184-0/+7
|/ | | | Signed-off-by: Chen Linxuan <me@black-desk.cn>
* Evaluation of TRANSITIVE_LINK_PROPERTIES isn't considered a usageRobert Maynard2024-07-052-0/+5
| | | | Fixes #26108
* Tests/RunCMake/install: Avoid intermittent failures on AIXBrad King2024-05-101-0/+2
| | | | | | | | | | | | Since commit 3a739d4dcb (EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gate, 2024-03-12, v3.29.0-rc4~6^2) a case has intermittently failed due to CMake rerunning during the case's build step and printing the feature gate warning to stderr. Redirect all build output to stdout as we do in similar cases elsewhere. Although we don't expect CMake to re-run in this case, somehow an AIX host's filesystem is occasionally recording high-resolution timestamps out of order among files saved in quick succession.
* EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gateBrad King2024-03-126-0/+14
| | | | | | | Some design concerns have been raised after trying the 3.29 release candidates. Avoid committing to a stable public interface for now. Issue: #25767
* install(EXPORT): Drop REQUIRED from exported find_dependency callsBrad King2024-03-111-1/+1
| | | | | | | | | | In commit c6e6861e63 (install(EXPORT): Export find_dependency() calls, 2023-11-07, v3.29.0-rc1~439^2~1) we made the calls `REQUIRED`. However, a dependency is only required if the dependent package is required. `find_dependency` already forwards the `REQUIRED` mark, and also already marks the dependent package as not found if the dependency is missing. Fixes: #25756
* install(EXPORT): Export find_dependency() callsKyle Edwards2023-11-136-0/+29
| | | | | | Issue: #20511 Co-Authored-by: Brad King <brad.king@kitware.com> Co-Authored-by: Robert Maynard <rmaynard@nvidia.com>
* OrangeC: Add support for OrangeC compilerDavid Lindauer2023-09-255-9/+9
| | | | | | | Add compiler information modules. Update the test suite. Fixes: #25032 Co-authored-by: Brad King <brad.king@kitware.com>
* Tests: Teach ISPC tests to run on macOS arm64 hostBrad King2023-05-102-2/+10
|
* install(TARGETS): Do not apply installation tweaks to NAMELINK filesBrad King2023-03-282-0/+24
| | | | | | | | | | | | These files are symlinks to the real binaries, and we already apply tweaks to those. Previously we generated installation tweak code guarded by a `NOT IS_SYMLINK` condition that is never true. Drop the code altogether. Add a test covering the motivating use case, in which a `POST_BUILD` step modifies the namelink file to not actually be a symlink. Fixes: #24647
* Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-012-4/+6
| | | | Fixes: #24123
* install(CODE|SCRIPT): Support $<INSTALL_PREFIX> genexKyle Edwards2023-02-245-2/+13
| | | | Fixes: #24534
* Deprecate compatibility with CMake versions older than 3.5Brad King2023-02-111-3/+12
| | | | | | | | Issue a deprecation warning on calls to `cmake_minimum_required` or `cmake_policy` that set policies based on versions older than 3.5. Note that the effective policy version includes `...<max>` treatment. Update the check from commit 5845c218d7 (Deprecate compatibility with CMake versions older than 2.8.12, 2020-06-12, v3.19.0-rc1~629^2).
* Tests/RunCMake: Update cmake_minimum_required versionsBrad King2023-02-117-10/+6
| | | | | | | | For policy-specific tests, use the version before the policy was introduced. Otherwise, use 3.5 where possible. Also, remove `cmake_minimum_required()` and `project()` calls from individual cases where they are handled by `CMakeLists.txt`.
* 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