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