mirror of https://github.com/ARMmbed/mbed-os.git
59 lines
1.5 KiB
CMake
59 lines
1.5 KiB
CMake
# Copyright (c) 2021 ARM Limited. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Setup c++ standard
|
|
set(CMAKE_CXX_STANDARD 14 CACHE STRING "")
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "")
|
|
|
|
if (MINGW)
|
|
# enable PRIx formatting globally
|
|
add_definitions(-D__STDC_FORMAT_MACROS)
|
|
endif (MINGW)
|
|
|
|
####################
|
|
# GTEST
|
|
####################
|
|
include(FetchContent)
|
|
# Download and unpack googletest
|
|
FetchContent_Declare(googletest
|
|
GIT_REPOSITORY https://github.com/google/googletest.git
|
|
GIT_TAG main
|
|
)
|
|
FetchContent_MakeAvailable(googletest)
|
|
|
|
# Prevent overriding the parent project's compiler/linker
|
|
# settings on Windows
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
|
|
|
|
####################
|
|
# TESTING
|
|
####################
|
|
|
|
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
|
|
"${CMAKE_BINARY_DIR}/Testing"
|
|
)
|
|
|
|
####################
|
|
# CODE COVERAGE SETUP
|
|
####################
|
|
|
|
if (COVERAGE)
|
|
|
|
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
message(WARNING "Non-debug build may result misleading code coverage results.")
|
|
endif()
|
|
|
|
# Append coverage compiler flags
|
|
set(COVERAGE_COMPILER_FLAGS "-g -O0 --coverage")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COVERAGE_COMPILER_FLAGS}" CACHE STRING "" FORCE)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_COMPILER_FLAGS}" CACHE STRING "" FORCE)
|
|
|
|
endif(COVERAGE)
|
|
|
|
if (VALGRIND)
|
|
find_program(MEMORYCHECK_COMMAND valgrind)
|
|
endif(VALGRIND)
|
|
|
|
add_subdirectory(stubs)
|