summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-31 20:45:31 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-31 20:45:31 (GMT)
commit2cff26fa52cf9043f00d1efaaf31ab93e2db22e8 (patch)
tree4d403a91a70594893fc6b303a9cf693d4e538a9d /Source/cmTarget.h
parent52e75800b4731692f1e311f0d8701875ac98c96d (diff)
downloadCMake-2cff26fa52cf9043f00d1efaaf31ab93e2db22e8.zip
CMake-2cff26fa52cf9043f00d1efaaf31ab93e2db22e8.tar.gz
CMake-2cff26fa52cf9043f00d1efaaf31ab93e2db22e8.tar.bz2
ENH: Support linking to shared libs with dependent libs
- Split IMPORTED_LINK_LIBRARIES into two parts: IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_DEPENDENT_LIBRARIES - Add CMAKE_DEPENDENT_SHARED_LIBRARY_MODE to select behavior - Set mode to LINK for Darwin (fixes universal binary problem) - Update ExportImport test to account for changes
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index bbcdafc..4d08af6 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -35,9 +35,13 @@ struct cmTargetLinkInformationMap:
~cmTargetLinkInformationMap();
};
-struct cmTargetLinkInterface: public std::vector<std::string>
+struct cmTargetLinkInterface
{
- typedef std::vector<std::string> derived;
+ // Libraries listed in the interface.
+ std::vector<std::string> Libraries;
+
+ // Shared library dependencies needed for linking on some platforms.
+ std::vector<std::string> SharedDeps;
};
struct cmTargetLinkInterfaceMap:
@@ -218,11 +222,6 @@ public:
bool IsImported() const {return this->IsImportedTarget;}
- /** Get link libraries for the given configuration of an imported
- target. */
- std::vector<std::string> const*
- GetImportedLinkLibraries(const char* config);
-
/** Get the library interface dependencies. This is the set of
libraries from which something that links to this target may
also receive symbols. Returns 0 if the user has not specified
@@ -487,7 +486,7 @@ private:
std::string Location;
std::string SOName;
std::string ImportLibrary;
- std::vector<std::string> LinkLibraries;
+ cmTargetLinkInterface LinkInterface;
};
typedef std::map<cmStdString, ImportInfo> ImportInfoMapType;
ImportInfoMapType ImportInfoMap;