Teach the VS >= 10 generators to recognize these system names and select the appropriate default toolset for the system version. Report an error when the version is not known to be supported by VS. Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
49 lines
1.7 KiB
C++
49 lines
1.7 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2000-2011 Kitware, Inc., Insight Software Consortium
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
#ifndef cmGlobalVisualStudio11Generator_h
|
|
#define cmGlobalVisualStudio11Generator_h
|
|
|
|
#include "cmGlobalVisualStudio10Generator.h"
|
|
|
|
|
|
/** \class cmGlobalVisualStudio11Generator */
|
|
class cmGlobalVisualStudio11Generator:
|
|
public cmGlobalVisualStudio10Generator
|
|
{
|
|
public:
|
|
cmGlobalVisualStudio11Generator(const std::string& name,
|
|
const std::string& platformName);
|
|
static cmGlobalGeneratorFactory* NewFactory();
|
|
|
|
virtual bool MatchesGeneratorName(const std::string& name) const;
|
|
|
|
virtual void WriteSLNHeader(std::ostream& fout);
|
|
|
|
///! create the correct local generator
|
|
virtual cmLocalGenerator *CreateLocalGenerator();
|
|
|
|
/** TODO: VS 11 user macro support. */
|
|
virtual std::string GetUserMacrosDirectory() { return ""; }
|
|
protected:
|
|
virtual bool InitializeWindowsPhone(cmMakefile* mf);
|
|
virtual bool InitializeWindowsStore(cmMakefile* mf);
|
|
virtual std::string SelectWindowsPhoneToolset() const;
|
|
virtual std::string SelectWindowsStoreToolset() const;
|
|
virtual const char* GetIDEVersion() { return "11.0"; }
|
|
bool UseFolderProperty();
|
|
static std::set<std::string> GetInstalledWindowsCESDKs();
|
|
private:
|
|
class Factory;
|
|
friend class Factory;
|
|
};
|
|
#endif
|