This patchset removes the ARDroneLib directory and associated build step in favor of cmake's external project module. This allows the ARDrone libraries to be pulled and built automatically during catkin_make and keeps the source directory clean of binaries.
Remove Parrot's Ardrone library files
Add patch to be applied to ARDroneLib external project (pulled in by …
Use cmake's externalproject to download Parrot's ardrone during catki…
Correct errors in CMakelist and the ardrone_lib.patch's Makefile
Update installation instructions
Install ardrone libs into a subfolder to avoid possible file name cla…
@kbogert Very interesting patch. Something that has been on my TODO list for a long time. Thank you very much for that. I will test it very soon. One quick suggestion:
Isn't it better to pull external ARDroneSDK files from a tagged git repo? This way you can upgrade the external repo with new SDKs without worrying of breaking the old versions of the driver that depend on an older version.
You are correct that using a git tag would be an improvement, and this can be done by adding "GIT_TAG (tag)" to the CMakeLists file. Right now the ARDroneSDK files are being pulled from a repository on my github account and I was thinking you all would want to fork it or provide your own so that it could be controlled. I don't mind maintaining it, however.
Alternatively the ARDroneSDK could be provided as an archive stored in the ardrone_autonomy repository. Externalproject would expand this into the catkin build directories instead of the source. This would be slightly more friendly to the end user as no network access would be required during building. I'm planning on keeping my ARDroneSDK repository for a while to act as version control when new versions are dropped on us (I'm also planning on making some changes, though these will be in a branch) so this could be as simple as downloading the github provided zip file when ready.
Use a git tag to only pull version 2.0.1 of the ARDroneSDK
Thank you for the quick update. I can confirm that it compiles fine on my machine. I will test it with a real drone soon.
I actually don't know much about the changes in that file, it was created by comparing the current ARDroneLib directory stored in ardrone_autonomy with the one found in my ARDroneSDK repository. It should be all the changes that have been applied to v2.0.1 by this project, and I added a modified version of the sdk.makefile file to compile and install the library.
SHA: afa3bd2 has some of the changes, but the others I don't know (particularly the video related stuff). It's possible that my repository has some issues, as I just cloned it from someone else :/
That was it, the actual diff is just afa3bd2 and some noise. I'm updating the patch and my repository.
Fix the ardrone_lib.patch to apply against the vanilla ARDroneSDK cod…
…e provided by parrot
I rebuilt my repository using the tarball from parrot, you may have to delete the git directory for the ardrone repository before you can compile this (mine is in ~/hydro_workspace/build/ardrone)
The resulting patch file is much cleaner.
@kbogert Thanks. The new patch works great. I will make the changes to ship the tarball with the driver. I also sent this PR for rosdep database to include libiw-dev.
I think we are getting to the point to submit the driver to ROS build farm and make that available using apt-get.