catkin_pip_requirements improvements
Opened this issue · 1 comments
asmodehn commented
Currently catkin_pip requirements does a pip install -r requirements.txt
like so : https://github.com/pyros-dev/catkin_pip/blob/devel/cmake/catkin-pip-requirements.cmake.in#L32
However this can be a bad match for CMake since, pip install actually takes care of the equivalent of :
- creating a workspace (wstool)
- checking out all your source dependencies at the correct revision (vcstools/git/svn/...)
- retrieve all binary dependencies at the correct version (> rosdep/deb/rpm/...)
which is not traditionally related with CMake ( if we except the more recent ExternalProject feature )
This can lead to confusions, like "why do we need to modify the source tree? Everything should be in the build tree to be able to clean up."
Maybe this feature will be better integrated with another ROS tool ?
asmodehn commented
Note we need to be extra careful with this, since any downloaded source needs to be importable from the original project.
Having it in src
is an easy way to ensure that. Putting it somewhere else, we need to be careful to :
- make sure it is importable when sourcing devel, not importable otherwise (especially not from install)
- not add more into
PYTHONPATH
- not mix it with site-packages since these should be the (maybe editable) package installs
- be erased when doing a
make clean
- maybe more...