summaryrefslogtreecommitdiffstats
path: root/Source/cmExtraCodeBlocksGenerator.h
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-07-13 04:58:43 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-07-13 04:58:43 (GMT)
commit378a8e99f90a844b95f049afd751176e9455fe54 (patch)
tree7924d64d9db737ae19a4e2bc463f797ffa682742 /Source/cmExtraCodeBlocksGenerator.h
parent2509e24afe23f2e3d4d15c73a9e2f6843daf9062 (diff)
downloadCMake-378a8e99f90a844b95f049afd751176e9455fe54.zip
CMake-378a8e99f90a844b95f049afd751176e9455fe54.tar.gz
CMake-378a8e99f90a844b95f049afd751176e9455fe54.tar.bz2
ENH: add a simple CodeBlocks extra generator, early alpha stage, there seems
to be interest in it Alex
Diffstat (limited to 'Source/cmExtraCodeBlocksGenerator.h')
-rw-r--r--Source/cmExtraCodeBlocksGenerator.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/Source/cmExtraCodeBlocksGenerator.h b/Source/cmExtraCodeBlocksGenerator.h
new file mode 100644
index 0000000..0ef8bcf
--- /dev/null
+++ b/Source/cmExtraCodeBlocksGenerator.h
@@ -0,0 +1,63 @@
+/*=========================================================================
+
+ Program: CMake - Cross-Platform Makefile Generator
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+ Copyright (c) 2004 Alexander Neundorf, neundorf@kde.org. All rights reserved.
+ See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+#ifndef cmExtraCodeBlocksGenerator_h
+#define cmExtraCodeBlocksGenerator_h
+
+#include "cmExternalMakefileProjectGenerator.h"
+
+class cmLocalGenerator;
+class cmMakefile;
+
+/** \class cmExtraCodeBlocksGenerator
+ * \brief Write CodeBlocks project files for Makefile based projects
+ *
+ * This generator is in early alpha stage.
+ */
+class cmExtraCodeBlocksGenerator : public cmExternalMakefileProjectGenerator
+{
+public:
+ cmExtraCodeBlocksGenerator();
+ virtual void SetGlobalGenerator(cmGlobalGenerator* generator);
+
+ virtual const char* GetName() const
+ { return cmExtraCodeBlocksGenerator::GetActualName();}
+ static const char* GetActualName() { return "CodeBlocks";}
+ static cmExternalMakefileProjectGenerator* New()
+ { return new cmExtraCodeBlocksGenerator; }
+ /** Get the documentation entry for this generator. */
+ virtual void GetDocumentation(cmDocumentationEntry& entry,
+ const char* fullName) const;
+
+ virtual void Generate();
+private:
+
+ /** Create the foo.kdevelop file. This one calls MergeProjectFiles()
+ if it already exists, otherwise createNewProjectFile() The project
+ files will be created in \a outputDir (in the build tree), the
+ kdevelop project dir will be set to \a projectDir (in the source
+ tree). \a cmakeFilePattern consists of a lists of all cmake
+ listfiles used by this CMakeLists.txt */
+ void CreateProjectFile(const std::vector<cmLocalGenerator*>& lgs);
+
+ ///! Creates a new foo.kdevelop and a new foo.kdevses file
+ void CreateNewProjectFile(const std::vector<cmLocalGenerator*>& lgs,
+ const std::string& filename);
+
+};
+
+#endif