blob: f323ad8e39c9aad34fd8c6bc4a9f2569edb32b82 [file] [log] [blame]
Julian Hall3d844c22020-11-23 18:22:43 +01001#-------------------------------------------------------------------------------
Gyorgy Szing96669942021-12-08 04:19:50 +01002# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
Julian Hall3d844c22020-11-23 18:22:43 +01003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
Gyorgy Szing96669942021-12-08 04:19:50 +01008
Julian Hall3d844c22020-11-23 18:22:43 +01009set(CPPUTEST_URL "https://github.com/cpputest/cpputest.git" CACHE STRING "CppUTest repository URL")
10set(CPPUTEST_REFSPEC "v3.8" CACHE STRING "CppUTest git refspec")
Gyorgy Szing96669942021-12-08 04:19:50 +010011set(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")
Gyorgy Szing34aaf212022-10-20 07:26:23 +020013set(CPPUTEST_BUILD_TYPE "Release" CACHE STRING "CppUTest build type")
Julian Hall3d844c22020-11-23 18:22:43 +010014
Gyorgy Szing96669942021-12-08 04:19:50 +010015set(GIT_OPTIONS
Julian Hall3d844c22020-11-23 18:22:43 +010016 GIT_REPOSITORY ${CPPUTEST_URL}
17 GIT_TAG ${CPPUTEST_REFSPEC}
Julian Halla628af32022-04-01 10:08:18 +010018 GIT_SHALLOW FALSE
Gyorgy Szing36470052025-07-18 12:23:25 +020019 PATCH_COMMAND
20 git stash
21 COMMAND git branch -f bf-am
22 COMMAND git am ${CMAKE_CURRENT_LIST_DIR}/0001-cpputest-cmake-fix.patch
23 COMMAND git am ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-cmake-4.0-compatibility.patch
24 COMMAND git reset bf-am
Julian Hall3d844c22020-11-23 18:22:43 +010025 )
Julian Hall3d844c22020-11-23 18:22:43 +010026
Gyorgy Szing96669942021-12-08 04:19:50 +010027include(${TS_ROOT}/tools/cmake/common/LazyFetch.cmake REQUIRED)
28LazyFetch_MakeAvailable(DEP_NAME CppUTest
29 FETCH_OPTIONS "${GIT_OPTIONS}"
30 INSTALL_DIR ${CPPUTEST_INSTALL_DIR}
31 PACKAGE_DIR ${CPPUTEST_INSTALL_DIR}/lib/CppUTest/cmake
32 CACHE_FILE "${TS_ROOT}/external/CppUTest/cpputest-init-cache.cmake.in"
33 SOURCE_DIR ${CPPUTEST_SOURCE_DIR}
34 )
35
Julian Hall3d844c22020-11-23 18:22:43 +010036# CppUTest package files do not set include path properties on the targets.
37# Fix this here.
38foreach(_cpputest_target IN LISTS CppUTest_LIBRARIES)
Gyorgy Szing96669942021-12-08 04:19:50 +010039 if (TARGET ${_cpputest_target})
Julian Hall3d844c22020-11-23 18:22:43 +010040 target_include_directories(${_cpputest_target} INTERFACE ${CppUTest_INCLUDE_DIRS})
41 target_compile_features(${_cpputest_target} INTERFACE cxx_std_11)
42 endif()
43endforeach()