CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. cmake_minimum_required(VERSION 3.5)
  2. project(llh_converter)
  3. if(NOT CMAKE_C_STANDARD)
  4. set(CMAKE_C_STANDARD 99)
  5. endif()
  6. if(NOT CMAKE_CXX_STANDARD)
  7. set(CMAKE_CXX_STANDARD 14)
  8. endif()
  9. find_package(ament_cmake_auto REQUIRED)
  10. find_package(PkgConfig)
  11. find_path(GeographicLib INCLUDE_DIR GeographicLib/config.h
  12. PATH_SUFFIXES GeographicLib
  13. )
  14. set(GeographicLib_LIBRARIES
  15. NAMES Geographic
  16. )
  17. ament_auto_find_build_dependencies()
  18. include_directories(
  19. include
  20. ${GeographicLib_INCLUDE_DIRS}
  21. )
  22. link_directories(
  23. /usr/local/lib
  24. )
  25. ament_auto_add_library(llh_converter SHARED
  26. src/height_converter.cpp
  27. src/gsigeo.cpp
  28. src/llh_converter.cpp
  29. src/meridian_convergence_angle_correction.cpp
  30. include/llh_converter/height_converter.hpp
  31. include/llh_converter/gsigeo.hpp
  32. include/llh_converter/llh_converter.hpp
  33. include/llh_converter/meridian_convergence_angle_correction.hpp
  34. )
  35. target_link_libraries(llh_converter PUBLIC ${catkin_LIBRARIES} Geographic)
  36. ament_auto_find_build_dependencies()
  37. install(TARGETS llh_converter
  38. INCLUDES DESTINATION include
  39. )
  40. ament_target_dependencies(llh_converter)
  41. install(TARGETS llh_converter
  42. DESTINATION lib/${PROJECT_NAME}
  43. )
  44. target_include_directories(llh_converter
  45. PUBLIC
  46. $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  47. $<INSTALL_INTERFACE:include>
  48. )
  49. ament_export_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
  50. ament_export_libraries(llh_converter)
  51. install(
  52. DIRECTORY include/${PROJECT_NAME}
  53. DESTINATION include
  54. )
  55. install(
  56. DIRECTORY data
  57. DESTINATION share/${PROJECT_NAME}
  58. )
  59. install(TARGETS
  60. llh_converter
  61. ARCHIVE DESTINATION lib
  62. LIBRARY DESTINATION lib
  63. RUNTIME DESTINATION bin
  64. )
  65. ament_auto_add_executable(llh_test test/height_converter_test.cpp)
  66. ament_auto_add_executable(mcac_test test/meridian_convergence_angle_correction_test.cpp)
  67. install(TARGETS llh_test
  68. DESTINATION lib/${PROJECT_NAME}
  69. )
  70. install(TARGETS mcac_test
  71. DESTINATION lib/${PROJECT_NAME}
  72. )
  73. if(BUILD_TESTING)
  74. find_package(ament_lint_auto REQUIRED)
  75. ament_lint_auto_find_test_dependencies()
  76. endif()
  77. ament_auto_package()