mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 04:40:18 -05:00
kate: add project generator for the Kate project plugin
This patch adds an extra generator for KDE's kate text editor, or better more specifically, the project plugin. Alex
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
/*============================================================================
|
||||
CMake - Cross Platform Makefile Generator
|
||||
Copyright 2004-2009 Kitware, Inc.
|
||||
Copyright 2013 Alexander Neundorf (neundorf@kde.org)
|
||||
|
||||
Distributed under the OSI-approved BSD License (the "License");
|
||||
see accompanying file Copyright.txt for details.
|
||||
|
||||
This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the License for more information.
|
||||
============================================================================*/
|
||||
#ifndef cmExtraKateGenerator_h
|
||||
#define cmExtraKateGenerator_h
|
||||
|
||||
#include "cmExternalMakefileProjectGenerator.h"
|
||||
|
||||
class cmLocalGenerator;
|
||||
class cmMakefile;
|
||||
class cmTarget;
|
||||
class cmGeneratedFileStream;
|
||||
|
||||
/** \class cmExtraKateGenerator
|
||||
* \brief Write Kate project files for Makefile or ninja based projects
|
||||
*/
|
||||
class cmExtraKateGenerator : public cmExternalMakefileProjectGenerator
|
||||
{
|
||||
public:
|
||||
cmExtraKateGenerator();
|
||||
|
||||
virtual const char* GetName() const
|
||||
{ return cmExtraKateGenerator::GetActualName();}
|
||||
static const char* GetActualName() { return "Kate";}
|
||||
static cmExternalMakefileProjectGenerator* New()
|
||||
{ return new cmExtraKateGenerator; }
|
||||
/** Get the documentation entry for this generator. */
|
||||
virtual void GetDocumentation(cmDocumentationEntry& entry,
|
||||
const char* fullName) const;
|
||||
|
||||
virtual void Generate();
|
||||
private:
|
||||
void CreateKateProjectFile(const cmMakefile* mf) const;
|
||||
void CreateDummyKateProjectFile(const cmMakefile* mf) const;
|
||||
std::string GenerateFilesString(const cmMakefile* mf) const;
|
||||
std::string GetPathBasename(const std::string& path) const;
|
||||
std::string GenerateProjectName(const std::string& name,
|
||||
const std::string& type,
|
||||
const std::string& path) const;
|
||||
std::string BuildMakeCommand(const std::string& make,
|
||||
const char* makefile, const char* target) const;
|
||||
|
||||
std::string ProjectName;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user