git subrepo clone git@github.com:compihu/platform-test-f4-ll.git platforms/platform-test-f4-ll
subrepo: subdir: "platforms/platform-test-f4-ll" merged: "bc41134" upstream: origin: "git@github.com:compihu/platform-test-f4-ll.git" branch: "master" commit: "bc41134" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "87ee373"
This commit is contained in:
parent
46ce55c6a0
commit
95af4ce0d8
460 changed files with 84105 additions and 0 deletions
|
@ -0,0 +1,19 @@
|
|||
# Create target to discover tests
|
||||
function (cpputest_buildtime_discover_tests EXECUTABLE)
|
||||
# The path to the discover script depends on execution mode:
|
||||
# - internal (building CppUTest it self).
|
||||
# - imported (installed, imported, and executed by a client of the CppUTest lib)
|
||||
if (PROJECT_NAME STREQUAL "CppUTest") # internal - (path is relative to source dir)
|
||||
SET(DISCOVER_SCRIPT ${PROJECT_SOURCE_DIR}/cmake/Scripts/CppUTestBuildTimeDiscoverTests.cmake)
|
||||
else (PROJECT_NAME STREQUAL "CppUTest") # Installed (path is relative to install directory)
|
||||
SET(DISCOVER_SCRIPT ${CppUTest_DIR}/Scripts/CppUTestBuildTimeDiscoverTests.cmake)
|
||||
endif (PROJECT_NAME STREQUAL "CppUTest")
|
||||
|
||||
add_custom_command (TARGET ${EXECUTABLE}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -DTESTS_DETAILED:BOOL=${TESTS_DETAILED} -DEXECUTABLE=$<TARGET_FILE:${EXECUTABLE}> -P ${DISCOVER_SCRIPT}
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Discovering Tests in ${EXECUTABLE}"
|
||||
VERBATIM)
|
||||
endfunction ()
|
|
@ -0,0 +1,110 @@
|
|||
if (MSVC)
|
||||
set(CPP_PLATFORM VisualCpp)
|
||||
include_directories(${CppUTestRootDirectory}/include/Platforms/${CPP_PLATFORM})
|
||||
option(STDC_WANT_SECURE_LIB "Use MSVC safe functions" ON)
|
||||
if(STDC_WANT_SECURE_LIB)
|
||||
ADD_DEFINITIONS(-DSTDC_WANT_SECURE_LIB)
|
||||
endif(STDC_WANT_SECURE_LIB)
|
||||
elseif (IAR)
|
||||
set(CPP_PLATFORM Iar)
|
||||
unset(CMAKE_CXX_EXTENSION_COMPILE_OPTION)
|
||||
set(TESTS_BUILD_DISCOVER OFF)
|
||||
# Set up the CMake variables for the linker
|
||||
set(LINKER_SCRIPT "${CppUTestRootDirectory}/platforms/iar/CppUTestTest.icf")
|
||||
set(CMAKE_C_LINK_FLAGS "--semihosting --config ${LINKER_SCRIPT} --map mapfile.map")
|
||||
set(CMAKE_CXX_LINK_FLAGS "--semihosting --config ${LINKER_SCRIPT} --map mapfile.map")
|
||||
elseif (STD_C)
|
||||
if(NOT CPP_PLATFORM)
|
||||
set(CPP_PLATFORM Gcc)
|
||||
endif(NOT CPP_PLATFORM)
|
||||
else (MSVC)
|
||||
set(STD_CPP False)
|
||||
set(MEMORY_LEAK_DETECTION False)
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} -nostdinc")
|
||||
set(CPPUTEST_LD_FLAGS "${CPPUTEST_LD_FLAGS} -nostdinc")
|
||||
set(CPPUTEST_STD_C_LIB_DISABLED 1)
|
||||
set(CPP_PLATFORM GccNoStdC)
|
||||
endif (MSVC)
|
||||
|
||||
include("${CppUTestRootDirectory}/cmake/Modules/CppUTestWarningFlags.cmake")
|
||||
|
||||
if (NOT STD_CPP)
|
||||
set(CPPUTEST_STD_CPP_LIB_DISABLED 1)
|
||||
if (STD_C AND NOT MSVC)
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} -nostdinc++")
|
||||
endif (STD_C AND NOT MSVC)
|
||||
endif (NOT STD_CPP)
|
||||
|
||||
if (MEMORY_LEAK_DETECTION)
|
||||
if (MSVC)
|
||||
set(CPPUTEST_C_FLAGS "${CPPUTEST_C_FLAGS} /FI \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorMallocMacros.h\"")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} /FI \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorMallocMacros.h\"")
|
||||
elseif (IAR)
|
||||
set(CPPUTEST_C_FLAGS "${CPPUTEST_C_FLAGS} --preinclude \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorMallocMacros.h\"")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} --preinclude \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorNewMacros.h\"")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} --preinclude \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorMallocMacros.h\"")
|
||||
else (MSVC)
|
||||
set(CPPUTEST_C_FLAGS "${CPPUTEST_C_FLAGS} -include \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorMallocMacros.h\"")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} -include \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorNewMacros.h\"")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} -include \"${CppUTestRootDirectory}/include/CppUTest/MemoryLeakDetectorMallocMacros.h\"")
|
||||
endif (MSVC)
|
||||
else (MEMORY_LEAK_DETECTION)
|
||||
set(CPPUTEST_MEM_LEAK_DETECTION_DISABLED 1)
|
||||
endif (MEMORY_LEAK_DETECTION)
|
||||
|
||||
if (LONGLONG)
|
||||
set(CPPUTEST_USE_LONG_LONG 1)
|
||||
endif (LONGLONG)
|
||||
|
||||
if (MAP_FILE AND NOT MSVC)
|
||||
set(CPPUTEST_LD_FLAGS "${CPPUTEST_LD_FLAGS} -Wl,-Map,$<.map.txt")
|
||||
endif (MAP_FILE AND NOT MSVC)
|
||||
|
||||
if (COVERAGE AND NOT MSVC)
|
||||
set(CPPUTEST_C_FLAGS "${CPPUTEST_C_FLAGS} --coverage")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} --coverage")
|
||||
set(CMAKE_BUILD_TYPE "Debug")
|
||||
find_program(GCOVR gcovr DOC "gcovr executable")
|
||||
|
||||
if (NOT GCOVR)
|
||||
message(SEND_ERROR "gcovr not found")
|
||||
endif()
|
||||
|
||||
add_custom_target(coverage ${GCOVR}
|
||||
--root ${PROJECT_SOURCE_DIR}
|
||||
--output "${CMAKE_BINARY_DIR}/coverage/coverage.html"
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
COMMENT "Generate coverage data"
|
||||
VERBATIM
|
||||
)
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
elseif (C++11)
|
||||
find_package(CXX11 REQUIRED)
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} ${CXX11_FLAGS}")
|
||||
else()
|
||||
# No standard specified
|
||||
endif ()
|
||||
|
||||
set(GMOCK_HOME $ENV{GMOCK_HOME})
|
||||
if (DEFINED ENV{GMOCK_HOME})
|
||||
# GMock pulls in gtest.
|
||||
set(CPPUTEST_INCLUDE_GTEST_TESTS 1)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_USE_OWN_TR1_TUPLE=1")
|
||||
include_directories(${GMOCK_HOME}/include ${GMOCK_HOME}/gtest ${GMOCK_HOME}/gtest/include)
|
||||
add_subdirectory(${GMOCK_HOME} "${CMAKE_CURRENT_BINARY_DIR}/gmock")
|
||||
|
||||
set(CPPUTEST_C_WARNING_FLAGS "")
|
||||
set(CPPUTEST_CXX_WARNING_FLAGS "")
|
||||
endif (DEFINED ENV{GMOCK_HOME})
|
||||
|
||||
set(CPPUTEST_C_FLAGS "${CPPUTEST_C_FLAGS} ${CPPUTEST_C_WARNING_FLAGS}")
|
||||
set(CPPUTEST_CXX_FLAGS "${CPPUTEST_CXX_FLAGS} ${CPPUTEST_CXX_WARNING_FLAGS}")
|
||||
|
||||
if (CPPUTEST_FLAGS)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CPPUTEST_C_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPPUTEST_CXX_FLAGS}")
|
||||
set(CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS} ${CPPUTEST_LD_FLAGS}")
|
||||
endif (CPPUTEST_FLAGS)
|
|
@ -0,0 +1,10 @@
|
|||
# Override output properties to put test executable at specificied location
|
||||
function (cpputest_normalize_test_output_location TEST_TARGET)
|
||||
set_target_properties(${TEST_TARGET} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
foreach(OUTPUT_CONFIG ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER ${OUTPUT_CONFIG} OUTPUT_CONFIG)
|
||||
set_target_properties(${TEST_TARGET} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY_${OUTPUT_CONFIG} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endforeach(OUTPUT_CONFIG)
|
||||
endfunction ()
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
if (MSVC)
|
||||
set(CPPUTEST_C_WARNING_FLAGS "/WX")
|
||||
set(CPPUTEST_CXX_WARNING_FLAGS "/WX /wd4290")
|
||||
else (MSVC)
|
||||
include(CheckCCompilerFlag)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
macro(check_and_append_c_warning_flags)
|
||||
foreach (flag ${ARGN})
|
||||
check_c_compiler_flag("-${flag}" WARNING_C_FLAG_${flag})
|
||||
if (WARNING_C_FLAG_${flag})
|
||||
set(CPPUTEST_C_WARNING_FLAGS "${CPPUTEST_C_WARNING_FLAGS} -${flag}")
|
||||
endif (WARNING_C_FLAG_${flag})
|
||||
endforeach (flag)
|
||||
endmacro(check_and_append_c_warning_flags)
|
||||
|
||||
macro(check_and_append_cxx_warning_flags)
|
||||
foreach (flag ${ARGN})
|
||||
string(REPLACE "++" "xx" WARNING_CXX_FLAG_VAR "WARNING_CXX_FLAG_${flag}")
|
||||
check_cxx_compiler_flag("-${flag}" ${WARNING_CXX_FLAG_VAR})
|
||||
if (${WARNING_CXX_FLAG_VAR})
|
||||
set(CPPUTEST_CXX_WARNING_FLAGS "${CPPUTEST_CXX_WARNING_FLAGS} -${flag}")
|
||||
endif (${WARNING_CXX_FLAG_VAR})
|
||||
endforeach (flag)
|
||||
endmacro(check_and_append_cxx_warning_flags)
|
||||
|
||||
if (NOT GMOCK AND NOT REAL_GTEST)
|
||||
list(APPEND WARNING_C_FLAGS Werror pedantic-errors)
|
||||
endif (NOT GMOCK AND NOT REAL_GTEST)
|
||||
|
||||
set(WARNING_C_FLAGS
|
||||
Weverything
|
||||
Wall
|
||||
Wextra
|
||||
pedantic
|
||||
Wshadow
|
||||
Wswitch-default
|
||||
Wswitch-enum
|
||||
Wconversion
|
||||
Wsign-conversion
|
||||
Wno-padded
|
||||
Wno-disabled-macro-expansion
|
||||
Wno-reserved-id-macro
|
||||
Wno-keyword-macro
|
||||
Wno-long-long
|
||||
)
|
||||
|
||||
if (WERROR)
|
||||
list(APPEND WARNING_C_FLAGS Werror)
|
||||
endif (WERROR)
|
||||
|
||||
|
||||
set(WARNING_C_ONLY_FLAGS
|
||||
Wstrict-prototypes
|
||||
)
|
||||
|
||||
set(WARNING_CXX_FLAGS
|
||||
${WARNING_C_FLAGS}
|
||||
Woverloaded-virtual
|
||||
Wno-global-constructors
|
||||
Wno-exit-time-destructors
|
||||
Wno-weak-vtables
|
||||
Wno-old-style-cast
|
||||
)
|
||||
|
||||
if (C++11 OR (DEFINED CMAKE_CXX_STANDARD AND NOT CMAKE_CXX_STANDARD EQUAL 98))
|
||||
set(WARNING_CXX_FLAGS
|
||||
${WARNING_CXX_FLAGS}
|
||||
Wno-c++98-compat
|
||||
Wno-c++98-compat-pedantic
|
||||
Wno-c++14-compat
|
||||
Wno-inconsistent-missing-destructor-override
|
||||
)
|
||||
endif ()
|
||||
|
||||
check_and_append_c_warning_flags(${WARNING_C_FLAGS})
|
||||
check_and_append_c_warning_flags(${WARNING_C_ONLY_FLAGS})
|
||||
check_and_append_cxx_warning_flags(${WARNING_CXX_FLAGS})
|
||||
|
||||
endif (MSVC)
|
|
@ -0,0 +1,54 @@
|
|||
# - Finds if the compiler has C++11 support
|
||||
# This module can be used to detect compiler flags for using C++11, and checks
|
||||
# a small subset of the language.
|
||||
#
|
||||
# The following variables are set:
|
||||
# CXX11_FLAGS - flags to add to the CXX compiler for C++11 support
|
||||
# CXX11_FOUND - true if the compiler supports C++11
|
||||
#
|
||||
# TODO: When compilers starts implementing the whole C++11, check the full set
|
||||
|
||||
include(CheckCXXSourceCompiles)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
set(CXX11_FLAG_CANDIDATES
|
||||
# Eveerything that automatically accepts C++11
|
||||
" "
|
||||
# gcc, clang and Intel Linux
|
||||
"-std=c++11"
|
||||
# Intel windows
|
||||
"/Qstd=c++0x"
|
||||
"/Qstd=c++11"
|
||||
)
|
||||
|
||||
set(CXX11_TEST_SOURCE
|
||||
"
|
||||
#if defined(_MSC_VER)
|
||||
#if _MSC_VER < 1800
|
||||
#error \"Can not compile with C++11\"
|
||||
#endif
|
||||
#elif __cplusplus < 201103L
|
||||
#error \"Can not compile with C++11\"
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{}
|
||||
")
|
||||
|
||||
foreach(FLAG ${CXX11_FLAG_CANDIDATES})
|
||||
set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
||||
set(CMAKE_REQUIRED_FLAGS "${FLAG}")
|
||||
unset(CXX11_FLAG_DETECTED CACHE)
|
||||
message(STATUS "Try C++11 flag = [${FLAG}]")
|
||||
check_cxx_source_compiles("${CXX11_TEST_SOURCE}" CXX11_FLAG_DETECTED)
|
||||
set(CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}")
|
||||
if(CXX11_FLAG_DETECTED)
|
||||
set(CXX11_FLAGS_INTERNAL "${FLAG}")
|
||||
break()
|
||||
endif(CXX11_FLAG_DETECTED)
|
||||
endforeach(FLAG ${CXX11_FLAG_CANDIDATES})
|
||||
|
||||
set(CXX11_FLAGS "${CXX11_FLAGS_INTERNAL}")
|
||||
|
||||
find_package_handle_standard_args(CXX11 DEFAULT_MSG CXX11_FLAGS)
|
||||
mark_as_advanced(CXX11_FLAGS)
|
Loading…
Add table
Add a link
Reference in a new issue