// This file is generated by kconfig_compiler_kf6 from cmakebuilderconfig.kcfg.
// All changes you do to this file will be lost.
#ifndef CMAKEBUILDERSETTINGS_H
#define CMAKEBUILDERSETTINGS_H

#include <cmakecommonexport.h>

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

#include <cmakeutils.h>

class KDEVCMAKECOMMON_EXPORT CMakeBuilderSettings : public KConfigSkeleton
{
  public:

    static CMakeBuilderSettings *self();
    ~CMakeBuilderSettings() override;

    /**
      Set cmakeExe
    */
    static
    void setCmakeExecutable( const QUrl & v )
    {
      if (!self()->isCmakeExecutableImmutable())
        self()->mCmakeExecutable = v;
    }

    /**
      Get cmakeExe
    */
    static
    QUrl cmakeExecutable()
    {
      return self()->mCmakeExecutable;
    }

    /**
      Is cmakeExe Immutable
    */
    static
    bool isCmakeExecutableImmutable()
    {
      return self()->isImmutable( QStringLiteral( "cmakeExecutable" ) );
    }

    /**
      Get Item object corresponding to cmakeExecutable()
    */
    ItemUrl *cmakeExecutableItem()
    {
      return mCmakeExecutableItem;
    }

    /**
      Set generator
    */
    static
    void setGenerator( int v )
    {
      if (!self()->isGeneratorImmutable())
        self()->mGenerator = v;
    }

    /**
      Get generator
    */
    static
    int generator()
    {
      return self()->mGenerator;
    }

    /**
      Is generator Immutable
    */
    static
    bool isGeneratorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "generator" ) );
    }

    /**
      Get Item object corresponding to generator()
    */
    ItemInt *generatorItem()
    {
      return mGeneratorItem;
    }

  protected:
    CMakeBuilderSettings();
    friend class CMakeBuilderSettingsHelper;


    // CMakeBuilder
    QUrl mCmakeExecutable;
    int mGenerator;

  private:
    ItemUrl *mCmakeExecutableItem;
    ItemInt *mGeneratorItem;
};

#endif

