CMake/Tests/ExportImport/Export
Brad King dd089e08b5 install: Allow absolute EXPORT destination with relative targets (#15258)
When install(EXPORT) is given an absolute destination we cannot compute
the install prefix relative to the installed export file location.
Previously we disallowed installation of targets in such exports with a
relative destination, but did not enforce this for target property
values besides the location of the main target file.  This could lead to
broken installations when the EXPORT is installed to an absolute path
but usage requirements are specified relative to the install prefix.

Since an EXPORT installed to an absolute destination cannot be relocated
we can just hard-code the value of CMAKE_INSTALL_PREFIX as the base for
relative paths.  This will allow absolute install(EXPORT) destinations
to work with relative destinations for targets and usage requirements.

Extend the ExportImport test with a case covering this behavior.
2014-12-15 11:45:49 -05:00
..
Interface Features: Extend concept to C language. 2014-05-15 00:15:18 +02:00
include/abs install: Allow absolute EXPORT destination with relative targets (#15258) 2014-12-15 11:45:49 -05:00
renamed Add EXPORT_NAME property. 2013-05-18 10:00:48 +02:00
sublib Rename variable for including current directory in interfaces 2013-03-19 16:44:17 -04:00
CMakeLists.txt install: Allow absolute EXPORT destination with relative targets (#15258) 2014-12-15 11:45:49 -05:00
cmp0022.cpp Export: Generate INTERFACE_LINK_LIBRARIES property on targets. 2013-07-08 22:39:57 +02:00
cmp0022.h Export: Generate INTERFACE_LINK_LIBRARIES property on targets. 2013-07-08 22:39:57 +02:00
cmp0022_vs6_1.cpp Export: Generate INTERFACE_LINK_LIBRARIES property on targets. 2013-07-08 22:39:57 +02:00
cmp0022_vs6_2.cpp Export: Generate INTERFACE_LINK_LIBRARIES property on targets. 2013-07-08 22:39:57 +02:00
empty.cpp Fix crash on export of target with empty INTERFACE_INCLUDE_DIRECTORIES. 2013-07-29 15:50:24 +02:00
systemlib.cpp Always consider includes from IMPORTED targets to be SYSTEM. 2013-09-24 20:00:31 +02:00
systemlib.h Always consider includes from IMPORTED targets to be SYSTEM. 2013-09-24 20:00:31 +02:00
testExe1.c COMP: Convert C function prototypes to use (void) instead of (). 2008-02-03 08:57:58 -05:00
testExe1lib.c COMP: Convert C function prototypes to use (void) instead of (). 2008-02-03 08:57:58 -05:00
testExe2.c
testExe2lib.c ENH: Updated ExportImport test to try LINK_INTERFACE_LIBRARIES. 2008-01-30 17:26:09 -05:00
testExe2libImp.c ENH: Updated ExportImport test to try LINK_INTERFACE_LIBRARIES. 2008-01-30 17:26:09 -05:00
testExe3.c ENH: Support exporting/importing of AppBundle targets. 2008-01-28 14:46:16 -05:00
testLib1.c COMP: Convert C function prototypes to use (void) instead of (). 2008-02-03 08:57:58 -05:00
testLib1file1.txt install: Support generator expressions in FILES and PROGRAMS mode 2014-02-21 17:05:26 -05:00
testLib1file2.txt install: Support generator expressions in FILES and PROGRAMS mode 2014-02-21 17:05:26 -05:00
testLib2.c COMP: Convert C function prototypes to use (void) instead of (). 2008-02-03 08:57:58 -05:00
testLib3.c ENH: Updated ExportImport test to try LINK_INTERFACE_LIBRARIES. 2008-01-30 17:26:09 -05:00
testLib3Imp.c Follow all dependencies of shared library private dependencies 2011-12-14 11:33:01 -05:00
testLib3ImpDep.c Follow all dependencies of shared library private dependencies 2011-12-14 11:33:01 -05:00
testLib4.c
testLib4.h Use linked frameworks as a source of include directories. 2013-07-24 11:49:06 -04:00
testLib4lib.c ENH: Test target_link_libraries INTERFACE option 2008-08-11 16:23:10 -04:00
testLib4libdbg.c ENH: Test target_link_libraries INTERFACE option 2008-08-11 16:23:10 -04:00
testLib4libdbg1.c BUG: Fix ExportImport test on VS6 2008-08-12 17:27:48 -04:00
testLib4libopt.c ENH: Test target_link_libraries INTERFACE option 2008-08-11 16:23:10 -04:00
testLib4libopt1.c BUG: Fix ExportImport test on VS6 2008-08-12 17:27:48 -04:00
testLib5.c ENH: Allow IMPORTED_IMPLIB w/o IMPORTED_LOCATION 2009-04-08 16:29:04 -04:00
testLib6.cxx ENH: Test export/import of link interface languages 2009-07-11 10:10:51 -04:00
testLib6c.c COMP: Fix ExportImport testLib6 on VS6 2009-07-13 09:20:36 -04:00
testLibAbs1.c install: Allow absolute EXPORT destination with relative targets (#15258) 2014-12-15 11:45:49 -05:00
testLibCycleA1.c Test link multiplicity export/import 2009-09-01 10:38:36 -04:00
testLibCycleA2.c Test link multiplicity export/import 2009-09-01 10:38:36 -04:00
testLibCycleA3.c Test link multiplicity export/import 2009-09-01 10:38:36 -04:00
testLibCycleB1.c Test link multiplicity export/import 2009-09-01 10:38:36 -04:00
testLibCycleB2.c Test link multiplicity export/import 2009-09-01 10:38:36 -04:00
testLibCycleB3.c Test link multiplicity export/import 2009-09-01 10:38:36 -04:00
testLibDepends.c Handle INTERFACE properties transitively for includes and defines. 2013-01-05 01:18:37 +01:00
testLibRequired.c exports: add a test for exporting dependent targets 2012-09-30 10:27:02 -04:00
testSharedLibDepends.cpp Add EXPORT_NAME property. 2013-05-18 10:00:48 +02:00
testSharedLibDepends.h Add EXPORT_NAME property. 2013-05-18 10:00:48 +02:00
testSharedLibRequired.cpp Allow generator expressions in LINK_INTERFACE_LIBRARIES. 2013-01-10 23:04:06 +01:00
testSharedLibRequired.h Allow generator expressions in LINK_INTERFACE_LIBRARIES. 2013-01-10 23:04:06 +01:00
testSharedLibRequiredUser.cpp try_compile: Extract IMPORTED targets from LINK_DEPENDENT_LIBRARIES 2013-08-26 11:36:57 -04:00
testSharedLibRequiredUser.h try_compile: Extract IMPORTED targets from LINK_DEPENDENT_LIBRARIES 2013-08-26 11:36:57 -04:00
testSharedLibRequiredUser2.cpp try_compile: Extract IMPORTED targets from INTERFACE_LINK_LIBRARIES 2013-08-26 11:37:00 -04:00
testSharedLibRequiredUser2.h try_compile: Extract IMPORTED targets from INTERFACE_LINK_LIBRARIES 2013-08-26 11:37:00 -04:00