Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 58 additions & 59 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ endif()
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

find_package( Boost REQUIRED COMPONENTS system )
find_package(g3log REQUIRED)

# Actually not using full SDK, just the header files
# in thirdparty/Oculus
Expand Down Expand Up @@ -46,63 +47,61 @@ if (FIPS_CONFIG)
fips_finish()

else()
# == ROS / Catkin-specific section =================================
project(liboculus)

find_package(catkin REQUIRED
#cmake_modules
g3log_ros )

catkin_package(
CATKIN_DEPENDS g3log_ros
INCLUDE_DIRS include thirdparty
LIBRARIES liboculus_LIB )

add_compile_options(-std=c++14)

include_directories(
include
thirdparty
${catkin_INCLUDE_DIRS} )

set(oculus_SRCS
lib/DataRx.cpp
lib/SonarConfiguration.cpp
lib/SonarStatus.cpp
lib/StatusRx.cpp
lib/SonarPlayer.cpp
lib/OculusMessageHandler.cpp
lib/SimpleFireMessage.cpp
lib/IoServiceThread.cpp )


add_library(liboculus_LIB ${oculus_SRCS})
target_link_libraries(liboculus_LIB ${catkin_LIBRARIES})

install(TARGETS liboculus_LIB
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION})

## Install headers
install(DIRECTORY include/${PROJECT_NAME}/ thirdparty/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
PATTERN ".git" EXCLUDE)

if (CATKIN_ENABLE_TESTING)
add_definitions(-DTEST_DATA_PATH="${CMAKE_CURRENT_SOURCE_DIR}/test/data")
include_directories( test/data/ )

file(GLOB oculus_test_SRCS
test/unit/*cpp )

catkin_add_gtest(oculus_test ${oculus_test_SRCS})

target_link_libraries(oculus_test ${catkin_LIBRARIES}
liboculus_LIB
Boost::system )
# == ament/ROS2 section =================================
if(NOT FIPS_CONFIG)
find_package(ament_cmake REQUIRED)
find_package(Boost REQUIRED COMPONENTS system)
find_package(g3log_ros REQUIRED)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-std=c++17)

include_directories(
include
thirdparty
${CMAKE_INSTALL_PREFIX}/include/g3log
)

set(oculus_SRCS
lib/DataRx.cpp
lib/SonarConfiguration.cpp
lib/SonarStatus.cpp
lib/StatusRx.cpp
lib/SonarPlayer.cpp
lib/OculusMessageHandler.cpp
lib/SimpleFireMessage.cpp
lib/IoServiceThread.cpp
)

add_library(oculus SHARED ${oculus_SRCS})
target_link_libraries(oculus
Boost::system
g3log_ros::g3log_ros
g3log
)
ament_target_dependencies(oculus Boost g3log_ros)

install(
TARGETS oculus
EXPORT oculus
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)

install(
DIRECTORY include/${PROJECT_NAME}/ thirdparty/
DESTINATION include
FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
PATTERN ".git" EXCLUDE
)

ament_export_targets(oculus HAS_LIBRARY_TARGET)
ament_export_include_directories(include)
ament_export_libraries(oculus)

ament_package()
return()
endif()


endif()
endif()
2 changes: 1 addition & 1 deletion package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<license>BSD</license>

<buildtool_depend>catkin</buildtool_depend>
<buildtool_depend>ament_cmake</buildtool_depend>

<depend>g3log_ros</depend>

Expand Down