mirror of
https://github.com/reactos/CMake.git
synced 2024-12-14 07:09:22 +00:00
c93e85d87e
VS 2017 and later may no longer populate the Windows Registry entries CMake has traditionally used to find the VS installations. This is because VS now supports having multiple installations of the same version. The Visual Studio Installer tool provides a COM interface we can query to locate installations.
51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#ifndef cmGlobalVisualStudio15Generator_h
|
|
#define cmGlobalVisualStudio15Generator_h
|
|
|
|
#include <cmConfigure.h>
|
|
|
|
#include <iosfwd>
|
|
#include <string>
|
|
|
|
#include "cmGlobalVisualStudio14Generator.h"
|
|
#include "cmVSSetupHelper.h"
|
|
|
|
class cmGlobalGeneratorFactory;
|
|
class cmake;
|
|
|
|
/** \class cmGlobalVisualStudio15Generator */
|
|
class cmGlobalVisualStudio15Generator : public cmGlobalVisualStudio14Generator
|
|
{
|
|
public:
|
|
cmGlobalVisualStudio15Generator(cmake* cm, 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);
|
|
|
|
virtual const char* GetToolsVersion() { return "15.0"; }
|
|
protected:
|
|
virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
|
|
|
|
virtual const char* GetIDEVersion() { return "15.0"; }
|
|
|
|
// Used to verify that the Desktop toolset for the current generator is
|
|
// installed on the machine.
|
|
virtual bool IsWindowsDesktopToolsetInstalled() const;
|
|
|
|
// These aren't virtual because we need to check if the selected version
|
|
// of the toolset is installed
|
|
bool IsWindowsStoreToolsetInstalled() const;
|
|
|
|
std::string FindMSBuildCommand() CM_OVERRIDE;
|
|
std::string FindDevEnvCommand() CM_OVERRIDE;
|
|
|
|
private:
|
|
class Factory;
|
|
mutable cmVSSetupAPIHelper vsSetupAPIHelper;
|
|
};
|
|
#endif
|