On Wednesday 25 January 2012, Alfa Omega wrote: > A little addendum to what I wrote earlier. > > On Wed, Jan 25, 2012 at 8:54 AM, Alfa Omega <[email protected]>wrote: > > 2012/1/24 Alexander Neundorf <[email protected]> > > > >> Hi, > >> > >> On Tuesday 24 January 2012, Alfa Omega wrote: > >> > Hi, > >> > > >> > What part does not follow the convention? I'm using a toolchain file, > >> > >> plus > >> > >> > when I was writing this I based it on a existing module bundled with > >> > >> CMake > >> > >> > (but cant remember which). > >> > > >> > I'm open to modifying my project to match the convention. If you could > >> > point out which parts don't quite meet the convention, I would greatly > >> > appreciate that. > >> > >> The functions in ArduinoProcessing.cmake should have a common prefix to > >> show > >> where they come from, e.g. ARDUINO_ > > > > ArduinoProcessing.cmake is a prototype, and isn't used with Arduino > > CMake, so you can ignore that. > > > >> Same for the functions in FindArduino.cmake > >> The documentation for the functions should be at the top of the file, so > >> when > >> cmake generates documentation, it will be included. > > > > The documentation for the module is located at the top (only those two > > function should be used), all other function are for internal use (but > > are documented). > > When I originally wrote this, I wanted to hide as much of the boilerplate > code as I could (hence I wanted people to use those two functions > documentated at the top). Now I'm starting to think that apart from > setup_arduino_compiler and setup_arduino_core (which could be merged into > one) everything else could be used if someone who wanted control the build > process manually. So that's why the documentation for the rest of the > function where omitted from the top.
Ok. Still they should all use the "arduino_" prefix. > > setup_arduino_compiler() looks wrong. > > > > What do you mean by it looks wrong (the name might not be the best :))? > > Do you mean setup_arduino_compiler and setup_arduino_core should be merged? Well, this should be done in the host/compiler setup steps, i.e. in Arduino.cmake and Arduino-GNU-C.cmake and Arduino-GNU-CXX.cmake (this is using gcc, right ?). > > >> Did you consider adding Arduino as "operating system" ? > >> Then you could add a > >> Platforms/Arduino.cmake > >> which is loaded automatically when CMAKE_SYSTEM_NAME is set to Arduino. > > > > Ah, I just see, you did. > > > >> Is there are reason why you didn't put all the functions, settings, etc. > >> there > >> ? > >> Then it wouldn't be necessary to use FindArduino.cmake when you already > >> know > >> you are building for Arduino. > >> (e.g. there is no FindWindows.cmake, you simply are on Windows, or the > >> cmake > >> run fails). > > > > That is a good point, but then how could I specify that I want a specific > > minimal version? > > > > The toolchain file should be mostly done after the first three set() > > calls > > > >> you > >> have. More or less all of the rest should be in Arduino.cmake or > >> Arduino-GNU- > >> C/CXX.cmake. > > > > What is the best way to initialize the compiler flags? And where should I > > move the rest of the stuff that in the toolchain file? See above, in the platform specific files. > >> The functions for setting up additional targets look ok. > >> > >> What should find_sources() be used for ? > > > > It's used for getting all the sources located at specified path, because > > there is some processing of the sources (for Arduino library detection > > based on the header includes). Can you please explain more ? Are these source files from the user, or are they part of arduino ? Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
