Hi all,
I am involved in a software project targeting a handful of ARM Cortex-M
microcontrollers. We develop the software using the Keil uVision v5 IDE [1]. We
are considering whether CMake could help us with some of the limitations we
encounter using uVision alone.
Does anyone have experience or insight in to creating a CMake generator for an
embedded systems IDE like uVision?
Read on for some technical details.
A uVision project's structure appears _roughly_ similar to a Microsoft Visual
Studio 12 project. uVision has a Multi-Project Workspace (.uvmpw) rather than a
VS solution (.sln), and a uVision Project (.uvprojx) instead of a VS project
(.vcxproj).
One notable difference in the XML schemas: in uVision, the source file elements
are a child of the target elements (a uVision "target" is comparable to a VS
"configuration"), in contrast to VS's approach where a configuration-specific
option is a child of the source file element and has a "Condition" attribute.
As with the Visual Studio generators, a generator for uVision projects would
ideally be a multi-configuration generator.
I expect there are many concepts in CMake that wouldn't map to a uVision option,
and vice-versa. For example the "Packs" system used by uVision might not mesh
well with what CMake understands as a library. For my limited requirements -- a
single project workspace, where the project consists of exactly one executable
and no libraries other than some third-party libraries passed to linker -- I
expect we could make do with a skeleton/template .uvprojx and the CMake
generator would fill in the gaps for the source files.
Some of the benefits I would imagine we would get from such a generator:
- more human-friendly and diff-friendly project files (CMakeLists.txt instead
of .uvprojx)
- avoiding a combinatorial explosion of configurations by using the CMake
language and its cache variables.
[1] http://www2.keil.com/mdk5/uvision/
Thanks,
Paul Wilkinson
http://www.cmedrobotics.com/
This e-mail message is confidential and for use by the addressee only. If you
are not the intended recipient, you must not use, disclose, copy or forward
this transmission. Please return the message to the sender by replying to it
and then delete the message from your computer. Cambridge Medical Robotics
shall not be held liable to any person resulting from the use of any
information contained in this e-mail and shall not be liable to any person who
acts or omits to do anything in reliance upon it. Cambridge Medical Robotics
does not accept responsibility for changes made to this message after it was
sent.
Company Information:
Name: Cambridge Medical Robotics Limited.
Registered Address: Unit 2, Crome Lea Business Park, Madingley Road, Cambridge,
CB23 7PH, UK.
Registered as a Company in England: 08863657 VAT Number: GB 186 4383 74.
i...@cmedrobotics.com
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers