diff options
author | Minze Zwerver <ysblokje@gmail.com> | 2016-09-23 06:42:20 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-09-26 17:40:38 (GMT) |
commit | cbe488792746377396a9f38aeb2999750ade518a (patch) | |
tree | 0a55ad14b161d0e8dccfd0a725e31231d1b7a4d5 /Source/cmExtraCodeLiteGenerator.h | |
parent | d0a27ae998e5ff313937f346b53d672c6353bd74 (diff) | |
download | CMake-cbe488792746377396a9f38aeb2999750ade518a.zip CMake-cbe488792746377396a9f38aeb2999750ade518a.tar.gz CMake-cbe488792746377396a9f38aeb2999750ade518a.tar.bz2 |
CodeLite: Optionally use targets to create (sub)project files
The basic codelite generator creates .project files based on the
`project()` stanza. Add a `CMAKE_CODELITE_USE_TARGETS` option to use
the targets instead.
Diffstat (limited to 'Source/cmExtraCodeLiteGenerator.h')
-rw-r--r-- | Source/cmExtraCodeLiteGenerator.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/cmExtraCodeLiteGenerator.h b/Source/cmExtraCodeLiteGenerator.h index f5765d8..9c571a5 100644 --- a/Source/cmExtraCodeLiteGenerator.h +++ b/Source/cmExtraCodeLiteGenerator.h @@ -18,11 +18,16 @@ #include "cmExternalMakefileProjectGenerator.h" +#include <map> +#include <set> #include <string> #include <vector> class cmLocalGenerator; class cmMakefile; +class cmGeneratorTarget; +class cmXMLWriter; +class cmSourceFile; class cmExtraCodeLiteGenerator : public cmExternalMakefileProjectGenerator { @@ -38,6 +43,20 @@ protected: std::string GetCleanCommand(const cmMakefile* mf) const; std::string GetRebuildCommand(const cmMakefile* mf) const; std::string GetSingleFileBuildCommand(const cmMakefile* mf) const; + std::vector<std::string> CreateProjectsByTarget(cmXMLWriter* xml); + std::vector<std::string> CreateProjectsByProjectMaps(cmXMLWriter* xml); + std::string CollectSourceFiles(const cmMakefile* makefile, + const cmGeneratorTarget* gt, + std::map<std::string, cmSourceFile*>& cFiles, + std::set<std::string>& otherFiles); + void FindMatchingHeaderfiles(std::map<std::string, cmSourceFile*>& cFiles, + std::set<std::string>& otherFiles); + void CreateProjectSourceEntries(std::map<std::string, cmSourceFile*>& cFiles, + std::set<std::string>& otherFiles, + cmXMLWriter* xml, + const std::string& projectPath, + const cmMakefile* mf, + const std::string& projectType); public: cmExtraCodeLiteGenerator(); @@ -49,6 +68,8 @@ public: void CreateNewProjectFile(const std::vector<cmLocalGenerator*>& lgs, const std::string& filename); + void CreateNewProjectFile(const cmGeneratorTarget* lg, + const std::string& filename); }; #endif |