diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-02-13 16:25:00 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-04-02 21:14:02 (GMT) |
commit | e6971df6ab647031ba9689c9afbbde78cc62e35f (patch) | |
tree | c9c67c6e3a1627d65cda8ee93373b97403c92106 /Source/cmGeneratorTarget.h | |
parent | df753df94bb1e995372baabb0240585560c72ded (diff) | |
download | CMake-e6971df6ab647031ba9689c9afbbde78cc62e35f.zip CMake-e6971df6ab647031ba9689c9afbbde78cc62e35f.tar.gz CMake-e6971df6ab647031ba9689c9afbbde78cc62e35f.tar.bz2 |
cmTarget: Make the source files depend on the config.
Disallow the use of config-specific source files with
the Visual Studio and Xcode generators. They don't have
any way to represent the condition currently.
Use the same common-config API in cmQtAutoGenerators. While
it accepts config-specific files, it doesn't have to support
multiple configurations yet.
Loop over the configs in cmTargetTraceDependencies
and cmGlobalGenerator::WriteSummary and consume all source
files.
Loop over the configs in cmComputeTargetDepends and compute the
object library dependencies for each config.
Diffstat (limited to 'Source/cmGeneratorTarget.h')
-rw-r--r-- | Source/cmGeneratorTarget.h | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 38e6510..9d13e6c 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -30,21 +30,30 @@ public: std::string GetName() const; const char *GetProperty(const std::string& prop) const; bool GetPropertyAsBool(const std::string& prop) const; - void GetSourceFiles(std::vector<cmSourceFile*>& files) const; + void GetSourceFiles(std::vector<cmSourceFile*>& files, + const std::string& config) const; - void GetObjectSources(std::vector<cmSourceFile const*> &) const; + void GetObjectSources(std::vector<cmSourceFile const*> &, + const std::string& config) const; const std::string& GetObjectName(cmSourceFile const* file); bool HasExplicitObjectName(cmSourceFile const* file) const; void AddExplicitObjectName(cmSourceFile const* sf); - void GetResxSources(std::vector<cmSourceFile const*>&) const; - void GetIDLSources(std::vector<cmSourceFile const*>&) const; - void GetExternalObjects(std::vector<cmSourceFile const*>&) const; - void GetHeaderSources(std::vector<cmSourceFile const*>&) const; - void GetExtraSources(std::vector<cmSourceFile const*>&) const; - void GetCustomCommands(std::vector<cmSourceFile const*>&) const; - void GetExpectedResxHeaders(std::set<std::string>&) const; + void GetResxSources(std::vector<cmSourceFile const*>&, + const std::string& config) const; + void GetIDLSources(std::vector<cmSourceFile const*>&, + const std::string& config) const; + void GetExternalObjects(std::vector<cmSourceFile const*>&, + const std::string& config) const; + void GetHeaderSources(std::vector<cmSourceFile const*>&, + const std::string& config) const; + void GetExtraSources(std::vector<cmSourceFile const*>&, + const std::string& config) const; + void GetCustomCommands(std::vector<cmSourceFile const*>&, + const std::string& config) const; + void GetExpectedResxHeaders(std::set<std::string>&, + const std::string& config) const; void ComputeObjectMapping(); @@ -53,14 +62,15 @@ public: cmLocalGenerator* LocalGenerator; cmGlobalGenerator const* GlobalGenerator; - std::string GetModuleDefinitionFile() const; + std::string GetModuleDefinitionFile(const std::string& config) const; /** Full path with trailing slash to the top-level directory holding object files for this target. Includes the build time config name placeholder if needed for the generator. */ std::string ObjectDirectory; - void UseObjectLibraries(std::vector<std::string>& objs) const; + void UseObjectLibraries(std::vector<std::string>& objs, + const std::string& config) const; void GetAppleArchs(const std::string& config, std::vector<std::string>& archVec) const; |