diff options
author | Brad King <brad.king@kitware.com> | 2015-05-20 17:55:21 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-05-21 13:06:49 (GMT) |
commit | 2f4bb4e9b033e1ac3daf63c0dc7c588ccbd70bf4 (patch) | |
tree | 6821eeb8c45ada58e8afe5209a4ccc16d629a9cf /Source/cmGlobalVisualStudio7Generator.h | |
parent | 3541fc73a12a52f87a2faa9790a65651658162d8 (diff) | |
download | CMake-2f4bb4e9b033e1ac3daf63c0dc7c588ccbd70bf4.zip CMake-2f4bb4e9b033e1ac3daf63c0dc7c588ccbd70bf4.tar.gz CMake-2f4bb4e9b033e1ac3daf63c0dc7c588ccbd70bf4.tar.bz2 |
VS: Do not accumulate configurations globally (#15577)
Drop the VS >= 7 generator's global Configurations member and instead
lookup configurations using cmMakefile::GetConfigurations where needed.
This avoids accumulating all CMAKE_CONFIGURATION_TYPES values ever
encountered by a project() or enable_language() command and allows
the final value to be used in each directory. We don't officially
support per-directory CMAKE_CONFIGURATION_TYPES values but we certainly
should not generate configurations not in the final value in the top
level directory.
Diffstat (limited to 'Source/cmGlobalVisualStudio7Generator.h')
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h index 204fdc8..901ecd6 100644 --- a/Source/cmGlobalVisualStudio7Generator.h +++ b/Source/cmGlobalVisualStudio7Generator.h @@ -78,11 +78,6 @@ public: */ virtual void OutputSLNFile(); - /** - * Get the list of configurations - */ - std::vector<std::string> *GetConfigurations(); - ///! Create a GUID or get an existing one. void CreateGUID(const std::string& name); std::string GetGUID(const std::string& name); @@ -134,6 +129,7 @@ protected: cmTarget const&t); virtual void WriteProjectConfigurations( std::ostream& fout, const std::string& name, cmTarget::TargetType type, + std::vector<std::string> const& configs, const std::set<std::string>& configsPartOfDefaultBuild, const std::string& platformMapping = ""); virtual void WriteSLNGlobalSections(std::ostream& fout, @@ -151,10 +147,9 @@ protected: OrderedTargetDependSet const& projectTargets); virtual void WriteTargetConfigurations( std::ostream& fout, + std::vector<std::string> const& configs, OrderedTargetDependSet const& projectTargets); - void GenerateConfigurations(cmMakefile* mf); - virtual void WriteExternalProject(std::ostream& fout, const std::string& name, const char* path, @@ -165,11 +160,11 @@ protected: std::string ConvertToSolutionPath(const char* path); std::set<std::string> - IsPartOfDefaultBuild(OrderedTargetDependSet const& projectTargets, + IsPartOfDefaultBuild(std::vector<std::string> const& configs, + OrderedTargetDependSet const& projectTargets, cmTarget const* target); bool IsDependedOn(OrderedTargetDependSet const& projectTargets, cmTarget const* target); - std::vector<std::string> Configurations; std::map<std::string, std::string> GUIDMap; virtual void WriteFolders(std::ostream& fout); |