CMakeLists.txt 1018 B

1234567891011121314151617181920212223242526272829303132333435
  1. cmake_minimum_required(VERSION 3.1)
  2. project(sparse_bundle_adjustment)
  3. if(NOT CMAKE_CXX_STANDARD)
  4. set(CMAKE_CXX_STANDARD 11)
  5. endif()
  6. find_package(catkin REQUIRED COMPONENTS roscpp)
  7. find_package(Eigen3 REQUIRED)
  8. find_package(suitesparse QUIET)
  9. if(NOT SuiteSparse_FOUND)
  10. set(SuiteSparse_LIBRARIES blas lapack cholmod cxsparse)
  11. endif()
  12. include_directories(${catkin_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS} ${SuiteSparse_INCLUDE_DIRS})
  13. add_definitions(${EIGEN3_DEFINITIONS})
  14. INCLUDE_DIRECTORIES(include)
  15. catkin_package(
  16. INCLUDE_DIRS include
  17. LIBRARIES sba
  18. )
  19. add_definitions(-DSBA_CHOLMOD)
  20. # SBA library
  21. add_library(sba src/sba.cpp src/spa.cpp src/spa2d.cpp src/csparse.cpp src/proj.cpp src/node.cpp src/sba_file_io.cpp)
  22. #rosbuild_add_compile_flags(sba ${SSE_FLAGS})
  23. target_link_libraries(sba ${SuiteSparse_LIBRARIES})
  24. install(DIRECTORY include/sparse_bundle_adjustment/
  25. DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
  26. install(TARGETS sba
  27. LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})