diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-07-13 04:58:43 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-07-13 04:58:43 (GMT) |
commit | 378a8e99f90a844b95f049afd751176e9455fe54 (patch) | |
tree | 7924d64d9db737ae19a4e2bc463f797ffa682742 /Source/cmExtraCodeBlocksGenerator.h | |
parent | 2509e24afe23f2e3d4d15c73a9e2f6843daf9062 (diff) | |
download | CMake-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.h | 63 |
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 |