3

I am working with ROS and wanted to modify the ardrone driver of autonomy lab. Unfortunately I have problems to build external libraries with CMake. The problem is following:

The compiling original CMakeLists includes an external project:

include(ExternalProject)
ExternalProject_Add(ardronelib
    GIT_REPOSITORY git://github.com/AutonomyLab/ardronelib.git
    GIT_TAG 2f987029c55531e4c0119c3600f9c57f935851ed
    PREFIX ${CATKIN_DEVEL_PREFIX}
    CONFIGURE_COMMAND echo "No configure"
    BUILD_COMMAND make
    INSTALL_COMMAND make install INSTALL_PREFIX=${CATKIN_DEVEL_PREFIX}/lib/
    BUILD_IN_SOURCE 1
) 

To modify this package, I downloaded it into my sourcefolder:

catkin_ws/src/my_project/
                         ardronelib/
                         src/ ...
                         launch/ ...
...

the ardronelib folder contains the makefile of the downloaded git project.

ardronelib/
           ARDroneLib
           .git
           .travis.yml
           LICENSE
           Makefile
           README.md

Basically I want to have the same libraries installed and linked as in the original version, but from this local folder. My approach with:

include(ExternalProject)
ExternalProject_Add(ardronelib
    SOURCE_DIR=${PROJECT_SOURCE_DIR}/ardronelib
    PREFIX ${CATKIN_DEVEL_PREFIX}
    CONFIGURE_COMMAND echo "No configure"
    BUILD_COMMAND make
    INSTALL_COMMAND make install INSTALL_PREFIX=${CATKIN_DEVEL_PREFIX}/lib/
    BUILD_IN_SOURCE 1
) 

and several other attempts didn't work. Any ideas how to build the project so that later I can use the locally build "ardronelib" within my project? As the library is quite complex, the direct linking of the source files would be to costly. Any ideas how I can use the same build structure, but instead of

    GIT_REPOSITORY git://github.com/AutonomyLab/ardronelib.git
    GIT_TAG 2f987029c55531e4c0119c3600f9c57f935851ed

us the local version:

    ${PROJECT_SOURCE_DIR}/ardronelib

I would be reaaally happy for any clues. Thanks a lot in advance!

DentOpt
  • 77
  • 1
  • 6

0 Answers0