eclass/ros-catkin.eclass: Build all ROS packages in C++11 mode.
authorAlexis Ballier <aballier@gentoo.org>
Sat, 28 Jan 2017 15:26:36 +0000 (16:26 +0100)
committerAlexis Ballier <aballier@gentoo.org>
Sat, 28 Jan 2017 15:26:55 +0000 (16:26 +0100)
Some of them require it, all dev-ros category should have been fixed to build in C++11 mode now.
Suggested by Victor MatarĂ© in bug #605466, fixing all its dupes too.

eclass/ros-catkin.eclass

index 28cf80dba3d25b7a6df2df5412b4d6b807233e49..61d01429b5446e54eba0e5b33ad6ac49a9b34d15 100644 (file)
@@ -47,7 +47,7 @@ if [ -n "${PYTHON_COMPAT}" ] ; then
        PYTHON_ECLASS="python-r1 python-utils-r1"
 fi
 
-inherit ${SCM} ${PYTHON_ECLASS} cmake-utils
+inherit ${SCM} ${PYTHON_ECLASS} cmake-utils flag-o-matic
 
 CATKIN_DO_PYTHON_MULTIBUILD=""
 if [ -n "${PYTHON_COMPAT}" ] ; then
@@ -146,6 +146,10 @@ ros-catkin_src_prepare() {
        if [ ! -f "${S}/CMakeLists.txt" ] ; then
                catkin_init_workspace || die
        fi
+
+       # Most packages require C++11 these days. Do it here, in src_prepare so that
+       # ebuilds can override it in src_configure.
+       append-cxxflags '-std=c++11'
 }
 
 # @FUNCTION: ros-catkin_src_configure_internal