diff options
Diffstat (limited to 'Source/cmGlobalVisualStudio7Generator.h')
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.h | 71 |
1 files changed, 33 insertions, 38 deletions
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h index 32a8d6056..7a9fcefa2 100644 --- a/Source/cmGlobalVisualStudio7Generator.h +++ b/Source/cmGlobalVisualStudio7Generator.h @@ -3,9 +3,8 @@ #ifndef cmGlobalVisualStudio7Generator_h #define cmGlobalVisualStudio7Generator_h -#include "cmGlobalVisualStudioGenerator.h" - #include "cmGlobalGeneratorFactory.h" +#include "cmGlobalVisualStudioGenerator.h" class cmTarget; struct cmIDEFlagTable; @@ -18,19 +17,16 @@ struct cmIDEFlagTable; class cmGlobalVisualStudio7Generator : public cmGlobalVisualStudioGenerator { public: - cmGlobalVisualStudio7Generator(cmake* cm, - const std::string& platformName = ""); ~cmGlobalVisualStudio7Generator(); - ///! Get the name for the platform. - std::string const& GetPlatformName() const; + //! Create a local generator appropriate to this Global Generator + cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf) override; - ///! Create a local generator appropriate to this Global Generator - virtual cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf); - - virtual bool SetSystemName(std::string const& s, cmMakefile* mf); +#if !defined(CMAKE_BOOTSTRAP) + Json::Value GetJson() const override; +#endif - virtual bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf); + bool SetSystemName(std::string const& s, cmMakefile* mf) override; /** * Utilized by the generator factory to determine if this generator @@ -48,36 +44,36 @@ public: * Try to determine system information such as shared library * extension, pthreads, byte order etc. */ - virtual void EnableLanguage(std::vector<std::string> const& languages, - cmMakefile*, bool optional); + void EnableLanguage(std::vector<std::string> const& languages, cmMakefile*, + bool optional) override; /** * Try running cmake and building a file. This is used for dynamically * loaded commands, not as part of the usual build process. */ - virtual void GenerateBuildCommand( - std::vector<std::string>& makeCommand, const std::string& makeProgram, - const std::string& projectName, const std::string& projectDir, - const std::string& targetName, const std::string& config, bool fast, - bool verbose, - std::vector<std::string> const& makeOptions = std::vector<std::string>()); + std::vector<GeneratedMakeCommand> GenerateBuildCommand( + const std::string& makeProgram, const std::string& projectName, + const std::string& projectDir, std::vector<std::string> const& targetNames, + const std::string& config, bool fast, int jobs, bool verbose, + std::vector<std::string> const& makeOptions = + std::vector<std::string>()) override; /** * Generate the DSW workspace file. */ virtual void OutputSLNFile(); - ///! Lookup a stored GUID or compute one deterministically. + //! Lookup a stored GUID or compute one deterministically. std::string GetGUID(std::string const& name); /** Append the subdirectory for the given configuration. */ - virtual void AppendDirectoryForConfig(const std::string& prefix, - const std::string& config, - const std::string& suffix, - std::string& dir); + void AppendDirectoryForConfig(const std::string& prefix, + const std::string& config, + const std::string& suffix, + std::string& dir) override; - ///! What is the configurations directory variable called? - virtual const char* GetCMakeCFGIntDir() const + //! What is the configurations directory variable called? + const char* GetCMakeCFGIntDir() const override { return "$(ConfigurationName)"; } @@ -89,9 +85,9 @@ public: return false; } - const char* GetIntelProjectVersion(); + const std::string& GetIntelProjectVersion(); - bool FindMakeProgram(cmMakefile* mf) CM_OVERRIDE; + bool FindMakeProgram(cmMakefile* mf) override; /** Is the Microsoft Assembler enabled? */ bool IsMasmEnabled() const { return this->MasmEnabled; } @@ -103,8 +99,10 @@ public: cmIDEFlagTable const* ExtraFlagTable; protected: - virtual void Generate(); - virtual const char* GetIDEVersion() = 0; + cmGlobalVisualStudio7Generator(cmake* cm, + std::string const& platformInGeneratorName); + + void Generate() override; std::string const& GetDevEnvCommand(); virtual std::string FindDevEnvCommand(); @@ -128,8 +126,7 @@ protected: virtual void WriteSLNGlobalSections(std::ostream& fout, cmLocalGenerator* root); virtual void WriteSLNFooter(std::ostream& fout); - virtual void WriteSLNHeader(std::ostream& fout) = 0; - virtual std::string WriteUtilityDepend(const cmGeneratorTarget* target); + std::string WriteUtilityDepend(const cmGeneratorTarget* target) override; virtual void WriteTargetsToSolution( std::ostream& fout, cmLocalGenerator* root, @@ -142,7 +139,7 @@ protected: virtual void WriteExternalProject( std::ostream& fout, const std::string& name, const char* path, - const char* typeGuid, const std::set<std::string>& dependencies) = 0; + const char* typeGuid, const std::set<BT<std::string>>& dependencies) = 0; std::string ConvertToSolutionPath(const char* path); @@ -156,21 +153,19 @@ protected: virtual void WriteFolders(std::ostream& fout); virtual void WriteFoldersContent(std::ostream& fout); - std::map<std::string, std::set<std::string> > VisualStudioFolders; + std::map<std::string, std::set<std::string>> VisualStudioFolders; // Set during OutputSLNFile with the name of the current project. // There is one SLN file per project. std::string CurrentProject; - std::string GeneratorPlatform; - std::string DefaultPlatformName; bool MasmEnabled; bool NasmEnabled; private: - char* IntelProjectVersion; + std::string IntelProjectVersion; std::string DevEnvCommand; bool DevEnvCommandInitialized; - virtual std::string GetVSMakeProgram() { return this->GetDevEnvCommand(); } + std::string GetVSMakeProgram() override { return this->GetDevEnvCommand(); } }; #define CMAKE_CHECK_BUILD_SYSTEM_TARGET "ZERO_CHECK" |