1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Projucer: Add Visual Studio 2026 exporter

This commit is contained in:
attila 2025-09-11 15:21:14 +02:00 committed by Attila Szarvas
parent 049cd7c77e
commit d1eb77be50
3 changed files with 50 additions and 1 deletions

View file

@ -2863,3 +2863,48 @@ private:
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2022)
};
//==============================================================================
class MSVCProjectExporterVC2026 final : public MSVCProjectExporterBase
{
public:
MSVCProjectExporterVC2026 (Project& p, const ValueTree& t)
: MSVCProjectExporterBase (p, t, getTargetFolderName())
{
name = getDisplayName();
targetPlatformVersion.setDefault (defaultTargetPlatform);
platformToolsetValue.setDefault (defaultToolset);
}
static String getDisplayName() { return "Visual Studio 2026"; }
static String getValueTreeTypeName() { return "VS2026"; }
static String getTargetFolderName() { return "VisualStudio2026"; }
Identifier getExporterIdentifier() const override { return getValueTreeTypeName(); }
int getVisualStudioVersion() const override { return 18; }
String getSolutionComment() const override { return "# Visual Studio Version 18"; }
String getToolsVersion() const override { return "18.0"; }
String getDefaultToolset() const override { return defaultToolset; }
String getDefaultWindowsTargetPlatformVersion() const override { return defaultTargetPlatform; }
static MSVCProjectExporterVC2026* createForSettings (Project& projectToUse, const ValueTree& settingsToUse)
{
if (settingsToUse.hasType (getValueTreeTypeName()))
return new MSVCProjectExporterVC2026 (projectToUse, settingsToUse);
return nullptr;
}
void createExporterProperties (PropertyListBuilder& props) override
{
addToolsetProperty (props, { "v140", "v140_xp", "v141", "v141_xp", "v142", "v143", "v145", "ClangCL" });
MSVCProjectExporterBase::createExporterProperties (props);
}
private:
const String defaultToolset { "v145" }, defaultTargetPlatform { "10.0" };
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2026)
};