From ddaf99c9d4f6d2db4814459c09860a343b09e189 Mon Sep 17 00:00:00 2001 From: Ronald Cron Date: Fri, 19 Jun 2020 11:27:26 +0200 Subject: [PATCH] build: Add top-level mbedtls_test target In preparation of linking common test objects in programs, add the top-level mbedtls_test target. This target consists of the common test objects. It is necessary to declare it at the top-level as both tests and programs will depend on it and it is necessary to synchronize the compilation of those objects for tests and programs for the case of parallel building. Signed-off-by: Ronald Cron --- CMakeLists.txt | 9 +++++++++ Makefile | 7 +++++-- tests/CMakeLists.txt | 7 ------- tests/Makefile | 2 ++ 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7838525495..af7400c9ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -238,6 +238,15 @@ list(APPEND libs ${thirdparty_lib}) add_subdirectory(library) +if(ENABLE_TESTING OR ENABLE_PROGRAMS) + file(GLOB MBEDTLS_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}/tests/src/*.c) + add_library(mbedtls_test OBJECT ${MBEDTLS_TEST_FILES}) + target_include_directories(mbedtls_test + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/library) +endif() + if(ENABLE_PROGRAMS) add_subdirectory(programs) endif() diff --git a/Makefile b/Makefile index 5ac5a53f62..d00183e5a1 100644 --- a/Makefile +++ b/Makefile @@ -10,15 +10,18 @@ all: programs tests no_test: programs -programs: lib +programs: lib mbedtls_test $(MAKE) -C programs lib: $(MAKE) -C library -tests: lib +tests: lib mbedtls_test $(MAKE) -C tests +mbedtls_test: + $(MAKE) -C tests mbedtls_test + ifndef WINDOWS install: no_test mkdir -p $(DESTDIR)/include/mbedtls diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ce608c3a29..8a74c6bfbb 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -69,13 +69,6 @@ if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX-") endif(MSVC) -file(GLOB MBEDTLS_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c) -add_library(mbedtls_test OBJECT ${MBEDTLS_TEST_FILES}) -target_include_directories(mbedtls_test - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../include - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../library) - add_test_suite(aes aes.cbc) add_test_suite(aes aes.cfb) add_test_suite(aes aes.ecb) diff --git a/tests/Makefile b/tests/Makefile index 68f85d2d3c..80c84fa195 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -79,6 +79,8 @@ $(MBEDLIBS): MBEDTLS_TEST_OBJS=$(patsubst %.c,%.o,$(wildcard src/*.c)) +mbedtls_test: $(MBEDTLS_TEST_OBJS) + # Rule to compile common test C files in src folder src/%.o : src/%.c echo " CC $<"