diff options
author | Brad King <brad.king@kitware.com> | 2008-01-31 20:45:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-01-31 20:45:31 (GMT) |
commit | 2cff26fa52cf9043f00d1efaaf31ab93e2db22e8 (patch) | |
tree | 4d403a91a70594893fc6b303a9cf693d4e538a9d /Source/cmTarget.h | |
parent | 52e75800b4731692f1e311f0d8701875ac98c96d (diff) | |
download | CMake-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.h | 15 |
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; |