summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGhsMultiGenerator.h
diff options
context:
space:
mode:
authorGeoff Viola <geoffrey.viola@asirobots.com>2015-03-24 05:12:55 (GMT)
committerBrad King <brad.king@kitware.com>2015-04-20 17:55:40 (GMT)
commit48004d9dbeb2af20d3a8df66670323d924a3f4c6 (patch)
treee3135a857d1c51d34f424fe09f561a249bf9a35d /Source/cmLocalGhsMultiGenerator.h
parent051d8be17f1b36d52041bfe61856b926e36dfb8c (diff)
downloadCMake-48004d9dbeb2af20d3a8df66670323d924a3f4c6.zip
CMake-48004d9dbeb2af20d3a8df66670323d924a3f4c6.tar.gz
CMake-48004d9dbeb2af20d3a8df66670323d924a3f4c6.tar.bz2
Add a 'Green Hills MULTI' generator on Windows
Green Hills MULTI is an IDE for embedded real-time systems. The IDE's product page can be found here: http://www.ghs.com/products/MULTI_IDE.html It supports cross compiling on ARM, Intel x86, and other architectures with various operating systems. The IDE exists on Linux and Windows host systems, but CMake will currently only generate the project files on Windows host systems.
Diffstat (limited to 'Source/cmLocalGhsMultiGenerator.h')
-rw-r--r--Source/cmLocalGhsMultiGenerator.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/Source/cmLocalGhsMultiGenerator.h b/Source/cmLocalGhsMultiGenerator.h
new file mode 100644
index 0000000..a8df3e7
--- /dev/null
+++ b/Source/cmLocalGhsMultiGenerator.h
@@ -0,0 +1,56 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2015 Geoffrey Viola <geoffrey.viola@asirobots.com>
+
+ 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 cmLocalGhsMultiGenerator_h
+#define cmLocalGhsMultiGenerator_h
+
+#include "cmLocalGenerator.h"
+
+class cmGeneratedFileStream;
+
+/** \class cmLocalGhsMultiGenerator
+ * \brief Write Green Hills MULTI project files.
+ *
+ * cmLocalGhsMultiGenerator produces a set of .gpj
+ * file for each target in its mirrored directory.
+ */
+class cmLocalGhsMultiGenerator : public cmLocalGenerator
+{
+public:
+ cmLocalGhsMultiGenerator();
+
+ virtual ~cmLocalGhsMultiGenerator();
+
+ /// @returns the relative path between the HomeOutputDirectory and this
+ /// local generators StartOutputDirectory.
+ std::string GetHomeRelativeOutputPath() const
+ {
+ return this->HomeRelativeOutputPath;
+ }
+
+ /**
+ * Generate the makefile for this directory.
+ */
+ virtual void Generate();
+
+ /// Overloaded methods. @see cmLocalGenerator::Configure()
+ virtual void Configure();
+ const char *GetBuildFileName() { return this->BuildFileName.c_str(); }
+
+protected:
+ virtual bool CustomCommandUseLocal() const { return true; }
+
+private:
+ std::string BuildFileName;
+ std::string HomeRelativeOutputPath;
+};
+
+#endif