cvra / platform-abstraction

Platform abstraction layer for microcontrollers
3 stars 6 forks source link

Build system #25

Closed pierluca closed 10 years ago

pierluca commented 10 years ago

FYI: I'm taking care of this. Will develop and test in the coming days.

antoinealb commented 10 years ago

Okay. Could you say more ? Are you rolling with a CMake solution ? Autoconf ?

I was thinking that perhaps the best would be just to roll our own little "package manager" in Python which could handle :

  1. Downloading all needed git repositories with dependency solving.
  2. Putting a big list of all sources files needed for production and off-target testing.
  3. Generate a Makefile for off-target tests and on target tests.
pierluca commented 10 years ago

I don't want to reinvent the wheel. We have started with cmake, it's clean and pretty smart, lets try to stick to it, especially as it's regular Ruby, so we can script the hell out of it

I'm trying to make use of cmake's object libraries (cmake >= 2.8.8) for our needs.

I have yet to figure out the details, but I was thinking on a "main" git repo containing all the others as sub-modules and with specific directives for each sub-module, so that each git repo compilation procedure could say something along the lines of "get main repo, require_module(X), require_module(Y)" and the necessary dependencies are plugged in on the spot, with no repetition.

Again, details are bound to change as I'm currently sleep deprived and I have been fighting with a fu***ing synology DS1813+ the whole day to make it connect to the EPFL VPN from Sion, because "EPF Valais" is running on a massive... 10Mbit ... line and they need local storage.

antoinealb commented 10 years ago

CMakeLists are not Ruby I think.

For the rest of your explanation, I don't understand what you are trying to do, but Ok, we will see what happens.

edit: What I would do :

pierluca commented 10 years ago

no, it's not ruby. as previously stated: severely sleep deprived. self-face-palm.

antoinealb commented 10 years ago

Fixed after tonight discussion.