summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/install
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Tests: Add test for install(SCRIPT ... COMPONENT)Kyle Edwards2018-07-175-0/+9
|
* Tests: Add test for InstallRequiredSystemLibrariesKyle Edwards2018-07-173-0/+12
|
* Tests: Add test for install(TARGETS) RPATH functionalityKyle Edwards2018-07-175-1/+42
|
* Tests: Add test for install(FILES) with PERMISSIONSKyle Edwards2018-07-173-0/+7
|
* Tests: Add test for installing parts of targets in different directoriesKyle Edwards2018-07-174-0/+15
|
* Tests: Add test for install(DIRECTORY) with PATTERN and REGEXKyle Edwards2018-07-176-0/+38
|
* Tests: Add test for CONFIGURATIONS parameter of install()Kyle Edwards2018-07-173-0/+4
|
* Tests: Add test for install(<SCRIPT|CODE>)Kyle Edwards2018-07-174-0/+11
|
* Tests: Add test for <PRE|POST>_INSTALL_SCRIPTKyle Edwards2018-07-175-0/+11
|
* Tests: Add test for deprecated install_*() commandsKyle Edwards2018-07-175-0/+19
|
* Tests: Add tests for *OUTPUT_NAME propertiesKyle Edwards2018-07-173-0/+44
|
* Tests: Add test for install(DIRECTORY ... OPTIONAL)Kyle Edwards2018-07-173-0/+3
|
* Tests: Add tests for install(<TARGETS|FILES> ... OPTIONAL)Kyle Edwards2018-07-176-0/+10
|
* install: Allow installing targets created in another directoryZack Galbreath2018-06-184-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-076-0/+19
| | | | Fixes: #15785
* install: add test for new NAMELINK_COMPONENT parameterKyle Edwards2018-05-0312-0/+278
|
* Tests: Add case for install(FILES) with TARGET_OBJECTSBrad King2017-04-265-0/+16
|
* Tests: Generalize RunCMake.install internal infrastructureBrad King2017-04-261-6/+10
| | | | Allow `run_install_test` to be used for simpler cases.
* Add policy CMP0068 separate install_name and RPATH settings on macOSClinton Stimpson2017-02-141-0/+1
| | | | | | | | BUILD_WITH_INSTALL_RPATH, SKIP_BUILD_RPATH, CMAKE_SKIP_RPATH and CMAKE_SKIP_INSTALL_RPATH no longer any effect on the install name of a target on macOS. Fixes: #16589
* Use string(APPEND) in TestsDaniel Pfeifer2016-07-273-16/+16
| | | | | | | Automate with: find Tests -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-1/+4
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Merge topic 'install-EXCLUDE_FROM_ALL'Brad King2016-02-0910-0/+60
|\ | | | | | | | | | | | | 586e56d0 Help: Add notes for topic 'install-EXCLUDE_FROM_ALL' d321c196 Tests: Add cases for install() command EXCLUDE_FROM_ALL option 18ce97c4 install: Add EXCLUDE_FROM_ALL option (#14921)
| * Tests: Add cases for install() command EXCLUDE_FROM_ALL optionBrad King2016-02-0410-0/+60
| |
* | Tests: Avoid OS X 10.5 limitation warning in RunCMake.install testBrad King2016-02-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The EXPORT-OldIFace test case uses install(TARGETS) and so generates a warning: CMake Warning in CMakeLists.txt: WARNING: Target "foo" has runtime paths which cannot be changed during install. To change runtime paths, OS X version 10.6 or newer is required. Therefore, runtime paths will not be changed when installing. CMAKE_BUILD_WITH_INSTALL_RPATH may be used to work around this limitation. Set CMAKE_BUILD_WITH_INSTALL_RPATH to avoid the warning since we do not need to run the binaries from the build tree anyway.
* | install(EXPORT): Fix crash on target in another directoryBrad King2016-02-053-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring merged by commit v3.5.0-rc1~299 (Merge topic 'use-generator-target', 2015-10-20) in and around commit v3.5.0-rc1~299^2~13 (cmExportSet: Store a cmGeneratorTarget, 2015-10-17) changed export sets to delay looking up actual targets and stores only their names. However, in InstallCommand::HandleExportMode we need to lookup targets immediately to check them for EXPORT_LINK_INTERFACE_LIBRARIES. The check was accidentally made local to the current directory, so if an export set contains a target from another directory the lookup fails and CMake crashes. Fix the check to look up the target name globally, and tolerate when no target is found just in case. Reported-by: Kelly Thompson <kgt@lanl.gov>
* | Tests: Use newer policy settings in RunCMake.install testBrad King2016-02-054-3/+4
|/ | | | In particular, avoid CMP0042 warnings on OS X.
* install: Allow generator expressions in DIRECTORYYves Frederix2016-01-134-0/+9
| | | | | 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-244-0/+9
|
* Tests: Cover install(FILES) with a genex DESTINATIONBrad King2015-09-234-0/+9
|
* install: Disallow installing export() result.Stephen Kelly2015-05-149-0/+49
|