From ea3f7bd4966116841df7ab59d8a20b3aeadc7ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abdullah=20Danga=C3=A7?= <103657751+abdullahdangac@users.noreply.github.com> Date: Mon, 11 Mar 2024 14:58:21 +0300 Subject: [PATCH 1/2] Update CMakeLists.txt for ROS2 --- CMakeLists.txt | 98 +++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 54 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1474ad..bc72f34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,80 +1,70 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.5) project(serial) -# Find catkin -find_package(catkin REQUIRED) +find_package(ament_cmake REQUIRED) -if(APPLE) - find_library(IOKIT_LIBRARY IOKit) - find_library(FOUNDATION_LIBRARY Foundation) -endif() +ament_export_include_directories(include) +ament_export_libraries(${PROJECT_NAME}) -if(UNIX AND NOT APPLE) - # If Linux, add rt and pthread - set(rt_LIBRARIES rt) - set(pthread_LIBRARIES 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 +## Add serial library +add_library(${PROJECT_NAME} 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() -## Add serial library -add_library(${PROJECT_NAME} ${serial_SRCS}) -if(APPLE) +if(APPLE) # macOS + find_library(IOKIT_LIBRARY IOKit) + find_library(FOUNDATION_LIBRARY Foundation) + target_sources(${PROJECT_NAME} PRIVATE + src/impl/unix.cc + src/impl/list_ports/list_ports_osx.cc + ) + target_link_libraries(${PROJECT_NAME} ${FOUNDATION_LIBRARY} ${IOKIT_LIBRARY}) -elseif(UNIX) + +elseif(UNIX) # Unix + target_sources(${PROJECT_NAME} PRIVATE + src/impl/unix.cc + src/impl/list_ports/list_ports_linux.cc + ) + target_link_libraries(${PROJECT_NAME} rt pthread) -else() + +elseif(WIN32) # Windows + target_sources(${PROJECT_NAME} PRIVATE + src/impl/win.cc + src/impl/list_ports/list_ports_win.cc + ) + target_link_libraries(${PROJECT_NAME} setupapi) + ament_export_libraries(setupapi) endif() ## Uncomment for example -add_executable(serial_example examples/serial_example.cc) -add_dependencies(serial_example ${PROJECT_NAME}) -target_link_libraries(serial_example ${PROJECT_NAME}) +# add_executable(serial_example examples/serial_example.cc) +# add_dependencies(serial_example ${PROJECT_NAME}) +# target_link_libraries(serial_example ${PROJECT_NAME}) ## Include headers -include_directories(include) +target_include_directories(${PROJECT_NAME} PRIVATE include) + +target_compile_options(${PROJECT_NAME} PRIVATE -fPIC) ## Install executable install(TARGETS ${PROJECT_NAME} - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib ) ## Install headers install(FILES include/serial/serial.h include/serial/v8stdint.h - DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION}/serial) + DESTINATION include/serial +) ## Tests -if(CATKIN_ENABLE_TESTING) - add_subdirectory(tests) -endif() +# if(BUILD_TESTING) +# add_subdirectory(tests) +# endif() + +ament_package() From 96eb84ac6e809f460052f82c732f167da7bcc7d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abdullah=20Danga=C3=A7?= <103657751+abdullahdangac@users.noreply.github.com> Date: Tue, 12 Mar 2024 09:36:38 +0300 Subject: [PATCH 2/2] removed catkin --- CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc72f34..27ea790 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,9 +62,4 @@ install(FILES include/serial/serial.h include/serial/v8stdint.h DESTINATION include/serial ) -## Tests -# if(BUILD_TESTING) -# add_subdirectory(tests) -# endif() - ament_package()