From 8829e8237a363208ebadedfc7dcbd0c4ab681ae9 Mon Sep 17 00:00:00 2001 From: Torsten Rasmussen Date: Wed, 26 Feb 2020 14:28:09 +0100 Subject: [PATCH] cmake: ZephyrUnittestConfig.cmake added Adding ZephyrUnittestConfig.cmake and ZephyrUnittestConfigVersion.cmake to allow unittest projects to use find_package to locate ZephyrUnittest. This means that it will be possible to allow users to run CMake without the need to source zephyr-env.sh or run zephyr-env.cmd. Signed-off-by: Torsten Rasmussen --- share/zephyr-package/cmake/CMakeLists.txt | 4 +++- share/zephyr-package/cmake/ZephyrConfig.cmake | 13 ++++++++++--- .../zephyr-package/cmake/ZephyrUnittestConfig.cmake | 4 ++++ .../cmake/ZephyrUnittestConfigVersion.cmake | 3 +++ 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 share/zephyr-package/cmake/ZephyrUnittestConfig.cmake create mode 100644 share/zephyr-package/cmake/ZephyrUnittestConfigVersion.cmake diff --git a/share/zephyr-package/cmake/CMakeLists.txt b/share/zephyr-package/cmake/CMakeLists.txt index 911b8e53c42..31587d37ca4 100644 --- a/share/zephyr-package/cmake/CMakeLists.txt +++ b/share/zephyr-package/cmake/CMakeLists.txt @@ -15,12 +15,14 @@ if(NOT (CMAKE_BINARY_DIR STREQUAL CMAKE_CURRENT_LIST_DIR)) message(WARNING "\$\{CMAKE_BINARY_DIR\} is different from \$\{CMAKE_CURRENT_LIST_DIR\}, Zephyr config package may not work as expected.") endif() -message("Zephyr (${CMAKE_CURRENT_LIST_DIR})") +message("Zephyr and ZephyrUnitTest (${CMAKE_CURRENT_LIST_DIR})") message("has been added to the user package registry in:") if(WIN32) message("HKEY_CURRENT_USER\\Software\\Kitware\\CMake\\Packages\\Zephyr") + message("HKEY_CURRENT_USER\\Software\\Kitware\\CMake\\Packages\\ZephyrUnitTest") else() message("~/.cmake/packages/Zephyr") + message("~/.cmake/packages/ZephyrUnitTest") endif() export(PACKAGE Zephyr) diff --git a/share/zephyr-package/cmake/ZephyrConfig.cmake b/share/zephyr-package/cmake/ZephyrConfig.cmake index 98d15608b77..b3befca89d7 100644 --- a/share/zephyr-package/cmake/ZephyrConfig.cmake +++ b/share/zephyr-package/cmake/ZephyrConfig.cmake @@ -13,10 +13,17 @@ include(${CMAKE_CURRENT_LIST_DIR}/zephyr_package_search.cmake) macro(include_boilerplate location) - set(Zephyr_FOUND True) + if(ZEPHYR_UNITTEST) + set(ZephyrUnittest_FOUND True) + set(BOILERPLATE_FILE ${ZEPHYR_BASE}/subsys/testsuite/unittest.cmake) + else() + set(Zephyr_FOUND True) + set(BOILERPLATE_FILE ${ZEPHYR_BASE}/cmake/app/boilerplate.cmake) + endif() + if(NOT NO_BOILERPLATE) - message("Including boilerplate (${location}): ${ZEPHYR_BASE}/cmake/app/boilerplate.cmake") - include(${ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE) + message("Including boilerplate (${location}): ${BOILERPLATE_FILE}") + include(${BOILERPLATE_FILE} NO_POLICY_SCOPE) endif() endmacro() diff --git a/share/zephyr-package/cmake/ZephyrUnittestConfig.cmake b/share/zephyr-package/cmake/ZephyrUnittestConfig.cmake new file mode 100644 index 00000000000..f157761d16b --- /dev/null +++ b/share/zephyr-package/cmake/ZephyrUnittestConfig.cmake @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: Apache-2.0 + +set(ZEPHYR_UNITTEST TRUE) +include(${CMAKE_CURRENT_LIST_DIR}/ZephyrConfig.cmake) diff --git a/share/zephyr-package/cmake/ZephyrUnittestConfigVersion.cmake b/share/zephyr-package/cmake/ZephyrUnittestConfigVersion.cmake new file mode 100644 index 00000000000..f246147d9d2 --- /dev/null +++ b/share/zephyr-package/cmake/ZephyrUnittestConfigVersion.cmake @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: Apache-2.0 + +include(${CMAKE_CURRENT_LIST_DIR}/ZephyrConfigVersion.cmake)