Skip to content

Commit

Permalink
YMC library for Melodic (#2135)
Browse files Browse the repository at this point in the history
* Replace library to -fPIC compiled binary (x86/aarch64)

(cherry picked from commit 849f623)

* Added melodic support

* Fix typo in CMake file
  • Loading branch information
amc-nu authored and esteve committed Mar 26, 2019
1 parent 2c25f07 commit b2ab456
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 66 deletions.
121 changes: 55 additions & 66 deletions ros/src/actuation/vehicles/packages/ymc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,70 +1,59 @@
cmake_minimum_required(VERSION 2.8.3)
project(ymc)

if($ENV{ROS_DISTRO} STRLESS "melodic")
set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")

find_package(autoware_build_flags REQUIRED)

find_package(autoware_msgs REQUIRED)

find_package(
catkin REQUIRED COMPONENTS
roscpp
geometry_msgs
rosconsole
autoware_msgs
)

catkin_package(
CATKIN_DEPENDS
roscpp
geometry_msgs
rosconsole
autoware_msgs
)

IF ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
set(LIB_ARCH _aarch64)
ELSE ()
unset(LIB_ARCH)
ENDIF ()

include_directories(
${autoware_msgs_INCLUDE_DIRS}
${catkin_INCLUDE_DIRS}
include
)

IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.1)
set(LIB_VERSION 2.0) # _GLIBCXX_USE_CXX11_ABI is 1
ELSE ()
set(LIB_VERSION 1.0) # _GLIBCXX_USE_CXX11_ABI is 0
ENDIF ()

add_executable(g30esli_interface
node/g30esli_interface/g30esli_interface.cpp
)

add_dependencies(g30esli_interface
${catkin_EXPORTED_TARGETS}
)

target_link_libraries(g30esli_interface
${catkin_LIBRARIES}
${CMAKE_CURRENT_SOURCE_DIR}/lib/libymc_can_${LIB_VERSION}${LIB_ARCH}.a
)

install(TARGETS g30esli_interface
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

install(DIRECTORY launch/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
PATTERN ".svn" EXCLUDE)
else()
find_package(catkin REQUIRED)
catkin_package()
message("ymc package not be built. Only ROS distributions earlier than Melodic are supported (attempted to build for: $ENV{ROS_DISTRO}")
endif()
set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")

find_package(autoware_build_flags REQUIRED)

find_package(autoware_msgs REQUIRED)

find_package(
catkin REQUIRED COMPONENTS
roscpp
geometry_msgs
rosconsole
autoware_msgs
)

catkin_package(
CATKIN_DEPENDS
roscpp
geometry_msgs
rosconsole
autoware_msgs
)

IF ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
set(LIB_ARCH _aarch64)
ELSE ()
unset(LIB_ARCH)
ENDIF ()

include_directories(
${autoware_msgs_INCLUDE_DIRS}
${catkin_INCLUDE_DIRS}
include
)

add_executable(g30esli_interface
node/g30esli_interface/g30esli_interface.cpp
)

add_dependencies(g30esli_interface
${catkin_EXPORTED_TARGETS}
)

target_link_libraries(g30esli_interface
${catkin_LIBRARIES}
${CMAKE_CURRENT_SOURCE_DIR}/lib/libymc_can${LIB_ARCH}.a
)

install(TARGETS g30esli_interface
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

install(DIRECTORY launch/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
PATTERN ".svn" EXCLUDE)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 comments on commit b2ab456

Please sign in to comment.