123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- cmake_minimum_required(VERSION 2.8.11)
- project(amathutils_lib) # autoware math utility
- find_package(autoware_build_flags REQUIRED)
- find_package(Eigen3 REQUIRED)
- if (NOT EIGEN3_FOUND)
- # Fallback to cmake_modules
- find_package(cmake_modules REQUIRED)
- find_package(Eigen REQUIRED)
- set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS})
- set(EIGEN3_LIBRARIES ${EIGEN_LIBRARIES}) # Not strictly necessary as Eigen is head only
- # Possibly map additional variables to the EIGEN3_ prefix.
- else ()
- set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
- endif ()
- find_package(catkin REQUIRED COMPONENTS
- autoware_msgs
- roscpp
- roslint
- tf
- tf2
- )
- set(CMAKE_CXX_FLAGS "-O2 -Wall ${CMAKE_CXX_FLAGS}")
- catkin_package(
- INCLUDE_DIRS include
- LIBRARIES amathutils_lib
- CATKIN_DEPENDS
- autoware_msgs
- tf
- tf2
- )
- include_directories(
- include
- ${catkin_INCLUDE_DIRS}
- ${EIGEN3_INCLUDE_DIR}
- )
- add_library(amathutils_lib
- src/Amathutils.cpp
- src/kalman_filter.cpp
- src/time_delay_kalman_filter.cpp
- src/butterworth_filter.cpp
- )
- target_link_libraries(amathutils_lib
- ${catkin_LIBRARIES}
- )
- add_dependencies(amathutils_lib
- ${catkin_EXPORTED_TARGETS}
- )
- install(DIRECTORY include/${PROJECT_NAME}/
- DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
- FILES_MATCHING PATTERN "*.hpp"
- )
- install(TARGETS amathutils_lib
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
- RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
- )
- file(GLOB_RECURSE ROSLINT_FILES
- LIST_DIRECTORIES false
- *.cpp *.h *.hpp
- )
- list(APPEND ROSLINT_CPP_OPTS "--extensions=cc,h,hpp,cpp,cu,cuh" "--filter=-build/c++11,-runtime/references")
- roslint_cpp(${ROSLINT_FILES})
- if(CATKIN_ENABLE_TESTING)
- find_package(rostest REQUIRED)
- add_rostest_gtest(amathutils-test test/test_amathutils_lib.test test/src/test_amathutils_lib.cpp)
- target_link_libraries(amathutils-test ${catkin_LIBRARIES} amathutils_lib)
- add_rostest_gtest(test-kalman_filter
- test/test_kalman_filter.test
- test/src/test_kalman_filter.cpp
- src/kalman_filter.cpp
- src/time_delay_kalman_filter.cpp
- )
- target_link_libraries(test-kalman_filter ${catkin_LIBRARIES})
- add_rostest_gtest(test-butterworth_filter
- test/test_butterworth_filter.test
- test/src/test_butterworth_filter.cpp
- src/butterworth_filter.cpp
- )
- target_link_libraries(test-butterworth_filter ${catkin_LIBRARIES})
- roslint_add_test()
- endif()
|