[cmake-developers] Initial Attempt at Green Hill MULTI IDE Generator Support

Geoffrey Viola Geoffrey.Viola at asirobots.com
Tue Oct 14 12:48:09 EDT 2014


Green Hills MULTI is an IDE for embedded real-time systems. It features an editor, a great debugger, and a GUI to organize and visual memory layouts: http://www.ghs.com/products/MULTI_IDE.html. There is a Linux and Windows version of it. Green Hill's real-time operating system, INTEGRITY, supports ARM, Intel x86, and other architectures: http://www.ghs.com/products/rtos/integrity.html.

It is advantageous to use CMake for its script based target management functionality, which is very useful to manage unit tests, and 3rd party finding mechanisms. Switching between IDEs is advantageous because other IDEs have better editors and built-in support to run unit tests. Also, embedded code could be ported to ease debugging without extra hardware.

I took a look at CMAKE_OSX_SYSROOT. It is similar to GHS_OS_DIR. There may be a simpler way to represent these customizations, but I don't know if there are any guarantees on standard folder structures or names.

The current patch is being used to create all the main targets and a default top level file. That generated top level file is hand edited to include custom hand edited kernel and monolith files. It is my intention to generate everything via CMake. It seems there needs to be some development to use the find boost module, because "CMAKE_FIND_LIBRARY_PREFIXES" is not set.


Geoffrey Viola
SOFTWARE ENGINEER
T

+1.435.755.2980

ext 1077
M

+1.215.896.6521


asirobots.com




-----Original Message-----
From: Brad King [mailto:brad.king at kitware.com]
Sent: Tuesday, October 14, 2014 7:57 AM
To: Geoffrey Viola
Cc: cmake-developers at cmake.org
Subject: Re: [cmake-developers] Initial Attempt at Green Hill MULTI IDE Generator Support

On 10/09/2014 07:36 PM, Geoffrey Viola wrote:
> Attached is a patch to make CMake generate files for the Green Hills
> MULTI IDE. These patches are in reference to this feature
> request: http://public.kitware.com/Bug/view.php?id=14992.

Thanks for working on this.

First I've extracted the comment typo fixes from the second patch:

 Fix some spelling errors in comments
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bef23e81

I've attached a patch rebasing the rest of the changes on 'master'
after integration of the typo fixes.

To aid others for review, please provide a high-level explanation of the MULTI IDE, its target platforms, and how developers might use it with CMake.

> There were some limitations. It has been restricted to Windows,
> because that is the version of the IDE that I have. There is a special
> grouping called a Monolith that includes several executables, shared
> libraries, and the kernel. These monoliths have their own set of
> compile options. I'm not sure how CMake would be able to create these.
> Also, there are some internal macros that point to the compiler's
> target BSP and OS that are currently populated via CMake variables:
> GHS_CUSTOMIZATION, GHS_OS_DIR, and GHS_BSP_NAME.

Depending on the semantics, these may belong in Modules/Platform/<os>.cmake for some <os> name of the target platform.  We'll need a better understanding of their role to say for sure though.  See CMAKE_OSX_SYSROOT in Darwin*.cmake for example.

Thanks,
-Brad
This message contains confidential information and is intended only for the recipient. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately if you have received this e-mail by mistake and delete this e-mail from your system. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.



More information about the cmake-developers mailing list