summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-03-09 20:28:14 (GMT)
committerBrad King <brad.king@kitware.com>2017-03-09 21:25:14 (GMT)
commit25d261efa7c80ce7d9cbcb8b94d5d4a77cb12aaf (patch)
treed6b00210307b010f08388a337fdb5b879be25bd3 /Source/cmGeneratorTarget.h
parent1e0a9ac45d51e0076222026b9c44604b287a6eae (diff)
downloadCMake-25d261efa7c80ce7d9cbcb8b94d5d4a77cb12aaf.zip
CMake-25d261efa7c80ce7d9cbcb8b94d5d4a77cb12aaf.tar.gz
CMake-25d261efa7c80ce7d9cbcb8b94d5d4a77cb12aaf.tar.bz2
Refactor module definition file selection
Create a `ModuleDefinitionInfo` structure for each configuration of a target to hold corresponding information about the selected module definition file (`.def` source).
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r--Source/cmGeneratorTarget.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index ea36e16..2f75e20 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -235,7 +235,12 @@ public:
cmLocalGenerator* LocalGenerator;
cmGlobalGenerator const* GlobalGenerator;
- cmSourceFile const* GetModuleDefinitionFile(const std::string& config) const;
+ struct ModuleDefinitionInfo
+ {
+ std::string DefFile;
+ };
+ ModuleDefinitionInfo const* GetModuleDefinitionInfo(
+ std::string const& config) const;
/** Return whether or not the target is for a DLL platform. */
bool IsDLLPlatform() const;
@@ -723,6 +728,12 @@ private:
typedef std::map<std::string, OutputInfo> OutputInfoMapType;
mutable OutputInfoMapType OutputInfoMap;
+ typedef std::map<std::string, ModuleDefinitionInfo>
+ ModuleDefinitionInfoMapType;
+ mutable ModuleDefinitionInfoMapType ModuleDefinitionInfoMap;
+ void ComputeModuleDefinitionInfo(std::string const& config,
+ ModuleDefinitionInfo& info) const;
+
typedef std::pair<std::string, bool> OutputNameKey;
typedef std::map<OutputNameKey, std::string> OutputNameMapType;
mutable OutputNameMapType OutputNameMap;