diff options
author | Sho Amano <samano@xevo.com> | 2018-06-29 12:42:39 +0900 |
---|---|---|
committer | Sho Amano <samano@xevo.com> | 2018-06-29 15:54:49 +0900 |
commit | a64d9247b09d633d089e01ace6749bec3c4db1b6 (patch) | |
tree | 5fea0f310f1ce23534bfec125f618ab03f071a8f | |
parent | d47ec31f2d2d7aa72144b61d8e77bb9bf6de6cab (diff) | |
download | sdl_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.txt | 98 | ||||
-rw-r--r-- | src/components/transport_manager/test/CMakeLists.txt | 10 |
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 |