1
0
mirror of https://github.com/wjwwood/serial.git synced 2026-01-23 04:04:54 +08:00

Merge aa328d690520261d662db64688a656153c943204 into 17e3223e6897a73479b1f7e1033086f9673ae4b1

This commit is contained in:
Alejandro Hernández Cordero 2018-01-13 21:37:52 +00:00 committed by GitHub
commit 21b9631fbb
2 changed files with 39 additions and 70 deletions

View File

@ -1,78 +1,50 @@
cmake_minimum_required(VERSION 2.8.3) cmake_minimum_required(VERSION 2.8.3)
project(serial) project(serial)
# Find catkin find_package(ament_cmake REQUIRED)
find_package(catkin REQUIRED)
if(APPLE) if(APPLE)
find_library(IOKIT_LIBRARY IOKit) find_library(IOKIT_LIBRARY IOKit)
find_library(FOUNDATION_LIBRARY Foundation) find_library(FOUNDATION_LIBRARY Foundation)
endif()
if(UNIX AND NOT APPLE)
# If Linux, add rt and pthread
catkin_package(
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include
DEPENDS rt pthread
)
else()
# Otherwise normal call
catkin_package(
LIBRARIES ${PROJECT_NAME}
INCLUDE_DIRS include
)
endif()
## Sources
set(serial_SRCS
src/serial.cc
include/serial/serial.h
include/serial/v8stdint.h
)
if(APPLE)
# If OSX
list(APPEND serial_SRCS src/impl/unix.cc)
list(APPEND serial_SRCS src/impl/list_ports/list_ports_osx.cc)
elseif(UNIX)
# If unix
list(APPEND serial_SRCS src/impl/unix.cc)
list(APPEND serial_SRCS src/impl/list_ports/list_ports_linux.cc)
else()
# If windows
list(APPEND serial_SRCS src/impl/win.cc)
list(APPEND serial_SRCS src/impl/list_ports/list_ports_win.cc)
endif() endif()
## Add serial library ## Add serial library
add_library(${PROJECT_NAME} ${serial_SRCS})
if(APPLE) if(APPLE)
target_link_libraries(${PROJECT_NAME} ${FOUNDATION_LIBRARY} ${IOKIT_LIBRARY}) add_library(${PROJECT_NAME} SHARED
elseif(UNIX) src/serial.cc
target_link_libraries(${PROJECT_NAME} rt pthread) src/impl/unix.cc
else() src/impl/list_ports/list_ports_osx.cc
target_link_libraries(${PROJECT_NAME} setupapi) )
elseif(UNIX)
add_library(${PROJECT_NAME} SHARED
src/serial.cc
src/impl/unix.cc
src/impl/list_ports/list_ports_linux.cc
)
endif() endif()
## Uncomment for example
add_executable(serial_example examples/serial_example.cc) if(APPLE)
add_dependencies(serial_example ${PROJECT_NAME}) target_link_libraries(${PROJECT_NAME} ${FOUNDATION_LIBRARY} ${IOKIT_LIBRARY})
target_link_libraries(serial_example ${PROJECT_NAME}) elseif(UNIX)
target_link_libraries(${PROJECT_NAME} rt pthread)
endif()
ament_export_libraries(${PROJECT_NAME})
ament_package()
## Include headers ## Include headers
include_directories(include) include_directories(include)
## Install executable install(
install(TARGETS ${PROJECT_NAME} TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} ARCHIVE DESTINATION lib
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
) )
## Install headers install(
install(FILES include/serial/serial.h include/serial/v8stdint.h DIRECTORY include/
DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION}/serial) DESTINATION include
)
## Tests
if(CATKIN_ENABLE_TESTING)
add_subdirectory(tests)
endif()

View File

@ -1,11 +1,10 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<package> <package format="2">
<name>serial</name> <name>serial</name>
<version>1.2.1</version> <version>1.2.1</version>
<description> <description>
Serial is a cross-platform, simple to use library for using serial ports on computers. This library provides a C++, object oriented interface for interacting with RS-232 like devices on Linux and Windows. Serial is a cross-platform, simple to use library for using serial ports on computers. This library provides a C++, object oriented interface for interacting with RS-232 like devices on Linux and Windows.
</description> </description>
<maintainer email="william@osrfoundation.org">William Woodall</maintainer> <maintainer email="william@osrfoundation.org">William Woodall</maintainer>
<license>MIT</license> <license>MIT</license>
@ -14,11 +13,9 @@
<url type="repository">https://github.com/wjwwood/serial</url> <url type="repository">https://github.com/wjwwood/serial</url>
<url type="bugtracker">https://github.com/wjwwood/serial/issues</url> <url type="bugtracker">https://github.com/wjwwood/serial/issues</url>
<author email="wjwwood@gmail.com">William Woodall</author> <buildtool_depend>ament_cmake</buildtool_depend>
<author email="ash.gti@gmail.com">John Harrison</author>
<buildtool_depend>catkin</buildtool_depend>
<test_depend>boost</test_depend>
<export>
<build_type>ament_cmake</build_type>
</export>
</package> </package>