summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-11-03 20:44:32 (GMT)
committerBrad King <brad.king@kitware.com>2016-11-09 14:45:14 (GMT)
commit09cda9d5e7bb31f05177bdaf11d24aeaf85a8dd3 (patch)
treea755fd6424b16a66b008c998e108e7c1b43b64df /Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake
parent1d1f1eeb6a52d464d476eb0a46eb75c452e3dfbc (diff)
downloadCMake-09cda9d5e7bb31f05177bdaf11d24aeaf85a8dd3.zip
CMake-09cda9d5e7bb31f05177bdaf11d24aeaf85a8dd3.tar.gz
CMake-09cda9d5e7bb31f05177bdaf11d24aeaf85a8dd3.tar.bz2
Allow imported INTERFACE libraries to specify a link library name
Add an `IMPORTED_LIBNAME[_<CONFIG>]` target property to specify a library name to be placed on the link line in place of an interface library since it has no library file of its own. Restrict use of the property to imported `INTERFACE` libraries. This will be particularly useful for find modules that need to provide imported libraries from system SDKs where the full path to the library file is not known. Now such find modules will be able to provide an imported interface library and set `IMPORTED_LIBNAME` to refer to the SDK library by name. Issue: #15267
Diffstat (limited to 'Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake')
-rw-r--r--Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake17
1 files changed, 17 insertions, 0 deletions
diff --git a/Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake b/Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake
new file mode 100644
index 0000000..fe6841a
--- /dev/null
+++ b/Tests/RunCMake/interface_library/IMPORTED_LIBNAME-non-iface.cmake
@@ -0,0 +1,17 @@
+add_custom_target(MyCustom)
+set_property(TARGET MyCustom PROPERTY IMPORTED_LIBNAME item1)
+set_property(TARGET MyCustom APPEND PROPERTY IMPORTED_LIBNAME item2)
+set_property(TARGET MyCustom PROPERTY IMPORTED_LIBNAME_DEBUG item1)
+set_property(TARGET MyCustom APPEND PROPERTY IMPORTED_LIBNAME_DEBUG item2)
+
+add_library(MyStatic STATIC IMPORTED)
+set_property(TARGET MyStatic PROPERTY IMPORTED_LIBNAME item1)
+
+add_library(MyShared SHARED IMPORTED)
+set_property(TARGET MyShared PROPERTY IMPORTED_LIBNAME item1)
+
+add_library(MyModule MODULE IMPORTED)
+set_property(TARGET MyModule PROPERTY IMPORTED_LIBNAME item1)
+
+add_executable(MyExe IMPORTED)
+set_property(TARGET MyExe PROPERTY IMPORTED_LIBNAME item1)