cmake_minimum_required(VERSION 2.8.3) project(tf2_eigen) find_package(catkin REQUIRED COMPONENTS cmake_modules geometry_msgs tf2 ) # Finding Eigen is somewhat complicated because of our need to support Ubuntu # all the way back to saucy. First we look for the Eigen3 cmake module # provided by the libeigen3-dev on newer Ubuntu. If that fails, then we # fall-back to the version provided by cmake_modules, which is a stand-in. find_package(Eigen3 QUIET) if(NOT EIGEN3_FOUND) find_package(cmake_modules REQUIRED) find_package(Eigen REQUIRED) set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) endif() # Note that eigen 3.2 (on Ubuntu Wily) only provides EIGEN3_INCLUDE_DIR, # not EIGEN3_INCLUDE_DIRS, so we have to set the latter from the former. if(NOT EIGEN3_INCLUDE_DIRS) set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) endif() include_directories(include ${EIGEN3_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS}) catkin_package( INCLUDE_DIRS include CATKIN_DEPENDS tf2 DEPENDS EIGEN3) install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}) if(CATKIN_ENABLE_TESTING) catkin_add_gtest(tf2_eigen-test test/tf2_eigen-test.cpp) target_link_libraries(tf2_eigen-test ${catkin_LIBRARIES} ${GTEST_LIBRARIES}) endif()