summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSho Amano <samano@xevo.com>2018-06-29 12:42:39 +0900
committerSho Amano <samano@xevo.com>2018-06-29 15:54:49 +0900
commita64d9247b09d633d089e01ace6749bec3c4db1b6 (patch)
tree5fea0f310f1ce23534bfec125f618ab03f071a8f
parentd47ec31f2d2d7aa72144b61d8e77bb9bf6de6cab (diff)
downloadsdl_core-a64d9247b09d633d089e01ace6749bec3c4db1b6.tar.gz
Improve CMakeLists for tcp transport
The implementation is based on original "collect_sources" approach. Platform-dependent sources are added after the command. This is reflecting review comments.
-rw-r--r--src/components/transport_manager/CMakeLists.txt98
-rw-r--r--src/components/transport_manager/test/CMakeLists.txt10
2 files changed, 53 insertions, 55 deletions
diff --git a/src/components/transport_manager/CMakeLists.txt b/src/components/transport_manager/CMakeLists.txt
index aa56aa810b..2f734b3a05 100644
--- a/src/components/transport_manager/CMakeLists.txt
+++ b/src/components/transport_manager/CMakeLists.txt
@@ -49,79 +49,75 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
include_directories ("${CMAKE_CURRENT_SOURCE_DIR}/include/transport_manager/tcp/platform_specific/linux")
endif ()
-set(LIBRARIES
- ProtocolLibrary
- Utils
+set(PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
)
-set(SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/transport_manager_default.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/transport_manager_impl.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/network_interface_listener_impl.cc
-
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_client_listener.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_connection_factory.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_device.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_server_originated_socket_connection.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_socket_connection.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_transport_adapter.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/tcp_transport_adapter.cc
-
- ${CMAKE_CURRENT_SOURCE_DIR}/src/transport_adapter/threaded_socket_connection.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/transport_adapter/transport_adapter_impl.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/transport_adapter/transport_adapter_listener_impl.cc
-
- ${CMAKE_CURRENT_SOURCE_DIR}/src/iap2_emulation/iap2_transport_adapter.cc
+set(EXCLUDE_PATHS)
+set(LIBRARIES
+ ProtocolLibrary
+ Utils
)
-if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
- list(APPEND SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/platform_specific/qnx/platform_specific_network_interface_listener.cc
- )
-elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- list(APPEND SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/tcp/platform_specific/linux/platform_specific_network_interface_listener.cc
- )
-endif ()
-
if(BUILD_BT_SUPPORT)
list(APPEND LIBRARIES
bluetooth
)
- list(APPEND SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/bluetooth/bluetooth_connection_factory.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/bluetooth/bluetooth_device.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/bluetooth/bluetooth_device_scanner.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/bluetooth/bluetooth_socket_connection.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/bluetooth/bluetooth_transport_adapter.cc
+else()
+ list(APPEND EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/bluetooth
+ ${COMPONENTS_DIR}/transport_manager/src/bluetooth
)
endif()
if(BUILD_USB_SUPPORT)
- list(APPEND SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb_aoa_adapter.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb_connection_factory.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/usb_device_scanner.cc
- )
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- list(APPEND SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/libusb/platform_usb_device.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/libusb/usb_connection.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/libusb/usb_handler.cc
+ set(EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/qnx
+ ${COMPONENTS_DIR}/transport_manager/src/usb/qnx
)
+
elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
+ set(EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/libusb
+ ${COMPONENTS_DIR}/transport_manager/src/usb/libusb
+ )
list(APPEND LIBRARIES
usbdi
)
- list(APPEND SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/qnx/platform_usb_device.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/qnx/usb_connection.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/src/usb/qnx/usb_handler.cc
- )
endif()
+else()
+ list(APPEND EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb
+ ${COMPONENTS_DIR}/transport_manager/src/usb
+ )
+endif()
+
+if(NOT BUILD_TESTS)
+ list (APPEND EXCLUDE_PATH
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/iap2_emulation/iap2_transport_adapter.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/iap2_emulation/iap2_transport_adapter.cc
+ )
endif()
+# exclude platform-dependent files before running collect_sources
+list(APPEND EXCLUDE_PATHS
+ ${COMPONENTS_DIR}/transport_manager/include/transport_manager/tcp/platform_specific
+ ${COMPONENTS_DIR}/transport_manager/src/tcp/platform_specific
+)
+
+collect_sources(SOURCES "${PATHS}" "${EXCLUDE_PATHS}")
+
+# then add platform-dependent files later
+set(PLATFORM_DEPENDENT_SOURCES)
+if (CMAKE_SYSTEM_NAME STREQUAL "QNX")
+ collect_sources(PLATFORM_DEPENDENT_SOURCES "${COMPONENTS_DIR}/transport_manager/src/tcp/platform_specific/qnx")
+elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ collect_sources(PLATFORM_DEPENDENT_SOURCES "${COMPONENTS_DIR}/transport_manager/src/tcp/platform_specific/linux")
+endif ()
+list(APPEND SOURCES ${PLATFORM_DEPENDENT_SOURCES})
add_library("TransportManager" ${SOURCES})
target_link_libraries("TransportManager" ${LIBRARIES})
diff --git a/src/components/transport_manager/test/CMakeLists.txt b/src/components/transport_manager/test/CMakeLists.txt
index 8447ebe723..240784436b 100644
--- a/src/components/transport_manager/test/CMakeLists.txt
+++ b/src/components/transport_manager/test/CMakeLists.txt
@@ -42,15 +42,17 @@ include_directories(
)
set(EXCLUDE_PATHS
+ platform_specific
raw_message_matcher.cc
)
collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
-set (
- "${CMAKE_CURRENT_SOURCE_DIR}"/platform_specific/linux
- "${SOURCES}"
-)
+set(PLATFORM_DEPENDENT_SOURCES)
+if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ collect_sources(PLATFORM_DEPENDENT_SOURCES platform_specific/linux)
+endif()
+list(APPEND SOURCES ${PLATFORM_DEPENDENT_SOURCES})
set(LIBRARIES
gmock