Open ilg-ul opened 8 years ago
Thanks for the detailed feedback, easy things first :grinning:
yotta build -G "Unix Makefiles"
instead of yotta build
.And the hard things:
I'm sure that there are other people interested in IDE integration, for both Eclipse and others, here ;) I hope this can be a good place for further discussion.
CMake ... Building software, especially embedded software, can get very gnarly around the edges.
yes, building embedded software is not easy, and if you want to support all fantasies that people can come up when using a command line approach and manually configured build systems, it is close to 'mission impossible'; but if you use a managed build environment like Eclipse CDT you do not have to deal with these details, you just throw in sources, headers, linker script, compile options, defines, libraries, everything, and on the other side you get the binary. the CDT build handles all details, generates simple make files, and the build is quite fast. I never felt the need for more, so... I cannot confirm that CMake is really required.
I strongly agree with the original comment. I've tried to integrate yotta with Qt Creator, which actually supports CMake. It sort-of works, but you have to re-run yt build
to add/remove files, and the linking step doesn't work (Error: you do not have 'intelhex' installed
). CMake and Python are fine if you do all your editing from the command line, but they're about the worse choices possible for IDE integration.
It's too late to change in the short term, but in the medium term I would:
yt build
just to add/remove files. I'd recommend:
I don't think you should do this by using CMake to generate the build files.
thank you @Timmmm for your comments. unfortunately I doubt they will make any difference for yotta.
but in xPack/XCDL I plan to correct all these issues, so if you are interested, I can keep you posted on the progress.
I am considering using yotta modules for my own projects (GNU ARM Eclipse and XCDL), but, in addition to command line support (which I fully agree to be mandatory), I would also need IDE integration (more specifically Eclipse integration).
Unfortunately, I think
yotta
has some portability problems, which makes this integration difficult:These days I've been thinking on these issues and here are some thoughts:
make
command line program); this is far from possible now;yotta
as a single executable, statically linked, easily to build for Windows, OS X and GNU/Linux, and distributed with Eclipse; this is also not very realistic, due to modules dependencies on CMake and Python;As possible compromises:
xcdl
) written in Go; one possible solution would be to reimplement part of the yotta functionality and use the same utility for both the standard yotta and my custom purposes;xcdl
utility, but also reimplement some functionality natively (for example searching/browsing the repository);xcdl
, but preferably only to maintain compatibility, the XCDL build system would better not depend on CMake (to be decided);As far as I can tell, the only missing thing from this image is the possibility to run Python scripts from build scripts.
I do not know how many modules would be affected by not having Python available and if it is realistic to imagine if a version of yotta without Python can be functional.
In case there is anyone else interested in such an Eclipse/other IDE integration, I'd be glad to discuss details.