From ae5bc5a39e19c7f8ca5ec11a50e6bab5370dbbe4 Mon Sep 17 00:00:00 2001 From: Rajkumar Kanagaraj Date: Wed, 16 Jun 2021 10:15:19 -0700 Subject: [PATCH 1/3] CMake: Move drivers stubs to the mbed-os/drivers directory Move the drivers stub library into the drivers component directory. so we can avoid duplicating the mbed-os source tree in a central UNITTESTS folder. --- UNITTESTS/stubs/CMakeLists.txt | 1 - drivers/tests/UNITTESTS/CMakeLists.txt | 2 +- .../tests/UNITTESTS/doubles}/BufferedSerial_stub.cpp | 0 .../drivers => drivers/tests/UNITTESTS/doubles}/CMakeLists.txt | 0 .../tests/UNITTESTS/doubles}/SerialBase_stub.cpp | 0 5 files changed, 1 insertion(+), 2 deletions(-) rename {UNITTESTS/stubs/drivers => drivers/tests/UNITTESTS/doubles}/BufferedSerial_stub.cpp (100%) rename {UNITTESTS/stubs/drivers => drivers/tests/UNITTESTS/doubles}/CMakeLists.txt (100%) rename {UNITTESTS/stubs/drivers => drivers/tests/UNITTESTS/doubles}/SerialBase_stub.cpp (100%) diff --git a/UNITTESTS/stubs/CMakeLists.txt b/UNITTESTS/stubs/CMakeLists.txt index 2a66ebd9cb..c24efc43da 100644 --- a/UNITTESTS/stubs/CMakeLists.txt +++ b/UNITTESTS/stubs/CMakeLists.txt @@ -128,7 +128,6 @@ target_include_directories(mbed-stubs-headers ) add_subdirectory(connectivity) -add_subdirectory(drivers) add_subdirectory(events) add_subdirectory(hal) add_subdirectory(platform) diff --git a/drivers/tests/UNITTESTS/CMakeLists.txt b/drivers/tests/UNITTESTS/CMakeLists.txt index b04c7f0be6..f417001488 100644 --- a/drivers/tests/UNITTESTS/CMakeLists.txt +++ b/drivers/tests/UNITTESTS/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (c) 2021 ARM Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 - +add_subdirectory(doubles) add_subdirectory(PwmOut) add_subdirectory(Watchdog) diff --git a/UNITTESTS/stubs/drivers/BufferedSerial_stub.cpp b/drivers/tests/UNITTESTS/doubles/BufferedSerial_stub.cpp similarity index 100% rename from UNITTESTS/stubs/drivers/BufferedSerial_stub.cpp rename to drivers/tests/UNITTESTS/doubles/BufferedSerial_stub.cpp diff --git a/UNITTESTS/stubs/drivers/CMakeLists.txt b/drivers/tests/UNITTESTS/doubles/CMakeLists.txt similarity index 100% rename from UNITTESTS/stubs/drivers/CMakeLists.txt rename to drivers/tests/UNITTESTS/doubles/CMakeLists.txt diff --git a/UNITTESTS/stubs/drivers/SerialBase_stub.cpp b/drivers/tests/UNITTESTS/doubles/SerialBase_stub.cpp similarity index 100% rename from UNITTESTS/stubs/drivers/SerialBase_stub.cpp rename to drivers/tests/UNITTESTS/doubles/SerialBase_stub.cpp From 05cd885931aae33d864db2b8257c4a1bb1af34b5 Mon Sep 17 00:00:00 2001 From: Rajkumar Kanagaraj Date: Wed, 16 Jun 2021 10:28:49 -0700 Subject: [PATCH 2/3] CMake: unit-tests: Move mbed-headers-drivers to the drivers directory Move the header-only mbed-headers-drivers library the unit test stubs depend on into the drivers component directory. This makes the drivers stubs more self-contained and improves the composition of the library. --- UNITTESTS/stubs/CMakeLists.txt | 8 -------- drivers/tests/UNITTESTS/doubles/CMakeLists.txt | 9 +++++++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/UNITTESTS/stubs/CMakeLists.txt b/UNITTESTS/stubs/CMakeLists.txt index c24efc43da..69195ef31e 100644 --- a/UNITTESTS/stubs/CMakeLists.txt +++ b/UNITTESTS/stubs/CMakeLists.txt @@ -7,7 +7,6 @@ add_library(mbed-headers-base INTERFACE) add_library(mbed-headers-platform INTERFACE) add_library(mbed-headers-connectivity INTERFACE) add_library(mbed-headers-storage INTERFACE) -add_library(mbed-headers-drivers INTERFACE) add_library(mbed-headers-hal INTERFACE) add_library(mbed-headers-events INTERFACE) add_library(mbed-headers-rtos INTERFACE) @@ -87,13 +86,6 @@ target_include_directories(mbed-headers-connectivity ${mbed-os_SOURCE_DIR}/connectivity/FEATURE_BLE/include/ble ) -target_include_directories(mbed-headers-drivers - INTERFACE - ${mbed-os_SOURCE_DIR}/drivers - ${mbed-os_SOURCE_DIR}/drivers/include - ${mbed-os_SOURCE_DIR}/drivers/include/drivers -) - target_include_directories(mbed-headers-events INTERFACE ${mbed-os_SOURCE_DIR}/events/tests/UNITTESTS/target_h diff --git a/drivers/tests/UNITTESTS/doubles/CMakeLists.txt b/drivers/tests/UNITTESTS/doubles/CMakeLists.txt index 139fa28451..8378d9e9d2 100644 --- a/drivers/tests/UNITTESTS/doubles/CMakeLists.txt +++ b/drivers/tests/UNITTESTS/doubles/CMakeLists.txt @@ -1,6 +1,15 @@ # Copyright (c) 2021 ARM Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +add_library(mbed-headers-drivers INTERFACE) + +target_include_directories(mbed-headers-drivers + INTERFACE + ${mbed-os_SOURCE_DIR}/drivers + ${mbed-os_SOURCE_DIR}/drivers/include + ${mbed-os_SOURCE_DIR}/drivers/include/drivers +) + add_library(mbed-stubs-drivers) target_sources(mbed-stubs-drivers From e64d1c760581e76255b5c249dee7b1fbb89807c9 Mon Sep 17 00:00:00 2001 From: Rajkumar Kanagaraj Date: Wed, 16 Jun 2021 10:53:27 -0700 Subject: [PATCH 3/3] CMake: unit-tests: Make drivers stub only depend on headers it uses Previously the drivers stub library depended on `mbed-headers`, which is a collection of all available headers in mbed-os. To make it easier to separate the library, only depend on the headers we're using. --- drivers/tests/UNITTESTS/doubles/CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/tests/UNITTESTS/doubles/CMakeLists.txt b/drivers/tests/UNITTESTS/doubles/CMakeLists.txt index 8378d9e9d2..a223876842 100644 --- a/drivers/tests/UNITTESTS/doubles/CMakeLists.txt +++ b/drivers/tests/UNITTESTS/doubles/CMakeLists.txt @@ -27,6 +27,8 @@ target_compile_definitions(mbed-stubs-drivers target_link_libraries(mbed-stubs-drivers PRIVATE - mbed-headers - mbed-stubs-headers + mbed-headers-base + mbed-headers-hal + mbed-headers-drivers + mbed-headers-platform )