1#------------------------------------------------------------------------------- 2# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6#------------------------------------------------------------------------------- 7 8 9set(CPPUTEST_URL "https://github.com/cpputest/cpputest.git" CACHE STRING "CppUTest repository URL") 10set(CPPUTEST_REFSPEC "v3.8" CACHE STRING "CppUTest git refspec") 11set(CPPUTEST_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/CppUTest_install CACHE PATH "CppUTest installation directory") 12set(CPPUTEST_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/_deps/cpputest-src CACHE PATH "CppUTest source directory") 13set(CPPUTEST_BUILD_TYPE "Release" CACHE STRING "CppUTest build type") 14 15set(GIT_OPTIONS 16 GIT_REPOSITORY ${CPPUTEST_URL} 17 GIT_TAG ${CPPUTEST_REFSPEC} 18 GIT_SHALLOW FALSE 19 PATCH_COMMAND git stash 20 COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/cpputest-cmake-fix.patch 21 ) 22 23include(${TS_ROOT}/tools/cmake/common/LazyFetch.cmake REQUIRED) 24LazyFetch_MakeAvailable(DEP_NAME CppUTest 25 FETCH_OPTIONS "${GIT_OPTIONS}" 26 INSTALL_DIR ${CPPUTEST_INSTALL_DIR} 27 PACKAGE_DIR ${CPPUTEST_INSTALL_DIR}/lib/CppUTest/cmake 28 CACHE_FILE "${TS_ROOT}/external/CppUTest/cpputest-init-cache.cmake.in" 29 SOURCE_DIR ${CPPUTEST_SOURCE_DIR} 30 ) 31 32# CppUTest package files do not set include path properties on the targets. 33# Fix this here. 34foreach(_cpputest_target IN LISTS CppUTest_LIBRARIES) 35 if (TARGET ${_cpputest_target}) 36 target_include_directories(${_cpputest_target} INTERFACE ${CppUTest_INCLUDE_DIRS}) 37 target_compile_features(${_cpputest_target} INTERFACE cxx_std_11) 38 endif() 39endforeach() 40