File indexing completed on 2024-05-12 04:39:39
0001 /* 0002 SPDX-FileCopyrightText: 2014 Sergey Kalinichev <kalinichev.so.0@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #ifndef COMPILERFACTORIES_H 0008 #define COMPILERFACTORIES_H 0009 0010 #include "icompilerfactory.h" 0011 0012 class ClangFactory : public ICompilerFactory 0013 { 0014 public: 0015 CompilerPointer createCompiler( const QString& name, const QString& path, bool editable = true ) const override; 0016 0017 QString name() const override; 0018 bool isSupported(const KDevelop::Path& path) const override; 0019 0020 void registerDefaultCompilers(CompilerProvider* provider) const override; 0021 }; 0022 0023 class GccFactory : public ICompilerFactory 0024 { 0025 public: 0026 CompilerPointer createCompiler( const QString& name, const QString& path, bool editable = true ) const override; 0027 0028 QString name() const override; 0029 bool isSupported(const KDevelop::Path& path) const override; 0030 0031 void registerDefaultCompilers(CompilerProvider* provider) const override; 0032 }; 0033 0034 class MsvcFactory : public ICompilerFactory 0035 { 0036 public: 0037 CompilerPointer createCompiler( const QString& name, const QString& path, bool editable = true ) const override; 0038 0039 QString name() const override; 0040 bool isSupported(const KDevelop::Path& path) const override; 0041 0042 void registerDefaultCompilers(CompilerProvider* provider) const override; 0043 }; 0044 0045 #endif // COMPILERFACTORIES_H