aboutsummaryrefslogtreecommitdiffstats
path: root/testing/properties-cpp
diff options
context:
space:
mode:
authorAntoine Fontaine <antoine.fontaine@epfl.ch>2020-02-08 13:50:18 +0100
committerRasmus Thomsen <oss@cogitri.dev>2020-02-19 22:28:03 +0100
commitebf3f2ec6890cfe610936b1ae393012eebd4e7bf (patch)
tree2306b72521f0620e157601aaef13bc19933670f3 /testing/properties-cpp
parent83c6036c3196c5218c9a63cb17989df5d0521bf2 (diff)
downloadaports-ebf3f2ec6890cfe610936b1ae393012eebd4e7bf.tar.bz2
aports-ebf3f2ec6890cfe610936b1ae393012eebd4e7bf.tar.xz
testing/properties-cpp: new aport
Diffstat (limited to 'testing/properties-cpp')
-rw-r--r--testing/properties-cpp/APKBUILD44
-rw-r--r--testing/properties-cpp/cmake-cleanup.patch399
2 files changed, 443 insertions, 0 deletions
diff --git a/testing/properties-cpp/APKBUILD b/testing/properties-cpp/APKBUILD
new file mode 100644
index 0000000000..c039ba6b97
--- /dev/null
+++ b/testing/properties-cpp/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Luca Weiss <luca@z3ntu.xyz>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=properties-cpp
+pkgver=0.0.2_git20180409
+_commit="45863e849b39c4921d6553e6d27e267a96ac7d77"
+pkgrel=0
+pkgdesc="A very simple convenience library for handling properties and signals in C++11"
+url="https://launchpad.net/properties-cpp"
+arch="all"
+license="LGPL-3.0-only"
+makedepends="cmake-extras"
+checkdepends="gtest-dev gtest"
+subpackages="$pkgname-dev"
+source="$pkgname-$_commit.tar.gz::https://github.com/lib-cpp/properties-cpp/archive/$_commit.tar.gz
+ cmake-cleanup.patch" # https://github.com/lib-cpp/properties-cpp/pull/1
+builddir="$srcdir/$pkgname-$_commit"
+
+prepare() {
+ default_prepare
+
+ mkdir -p "$builddir"/build
+}
+
+build() {
+ cd "$builddir"/build
+ cmake "$builddir" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ make
+}
+
+check() {
+ cd "$builddir"/build
+ make test
+}
+
+package() {
+ cd "$builddir"/build
+ DESTDIR="$pkgdir/" make install
+}
+
+sha512sums="5697b9acacb63b801ef531a3741655e67896604c5150a754d9e11f87898ee564a2707fcb8346119b7081ae725e8bbfa671e537e4985a061da7161ff7b12d5985 properties-cpp-45863e849b39c4921d6553e6d27e267a96ac7d77.tar.gz
+73397c1a3b506065de1b320af49c6e4be8e0c9f1b9b2409c7c55c2e98c9f5b6decdfe52314b6ffc882e2f87ba2e41c2b4b1981f21da0e31970c0ac8f8c1abda9 cmake-cleanup.patch"
diff --git a/testing/properties-cpp/cmake-cleanup.patch b/testing/properties-cpp/cmake-cleanup.patch
new file mode 100644
index 0000000000..570b6899a8
--- /dev/null
+++ b/testing/properties-cpp/cmake-cleanup.patch
@@ -0,0 +1,399 @@
+From a1f1536a20b698772adbae8d22aeacf5dc571854 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Sun, 30 Dec 2018 18:39:42 +0100
+Subject: [PATCH] CMake cleanup
+
+---
+ CMakeLists.txt | 2 +-
+ cmake/EnableCoverageReport.cmake | 153 -------------------------------
+ cmake/FindGtest.cmake | 53 -----------
+ cmake/FindLcov.cmake | 29 ------
+ cmake/Findgcovr.cmake | 31 -------
+ cmake/ParseArguments.cmake | 52 -----------
+ tests/CMakeLists.txt | 2 +-
+ 7 files changed, 2 insertions(+), 320 deletions(-)
+ delete mode 100644 cmake/EnableCoverageReport.cmake
+ delete mode 100644 cmake/FindGtest.cmake
+ delete mode 100644 cmake/FindLcov.cmake
+ delete mode 100644 cmake/Findgcovr.cmake
+ delete mode 100644 cmake/ParseArguments.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0c7394e..728b40a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,7 +4,6 @@ project(properties-cpp)
+
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+
+-include(cmake/EnableCoverageReport.cmake)
+ include(cmake/PrePush.cmake)
+ include(GNUInstallDirs)
+
+@@ -42,4 +41,5 @@ add_subdirectory(data)
+ add_subdirectory(include)
+ add_subdirectory(tests)
+
++# find_package(CoverageReport)
+ # enable_coverage_report(posix_process_test linux_process_test)
+diff --git a/cmake/EnableCoverageReport.cmake b/cmake/EnableCoverageReport.cmake
+deleted file mode 100644
+index b109ad4..0000000
+--- a/cmake/EnableCoverageReport.cmake
++++ /dev/null
+@@ -1,153 +0,0 @@
+-# - Creates a special coverage build type and target on GCC.
+-#
+-# Defines a function ENABLE_COVERAGE_REPORT which generates the coverage target
+-# for selected targets. Optional arguments to this function are used to filter
+-# unwanted results using globbing expressions. Moreover targets with tests for
+-# the source code can be specified to trigger regenerating the report if the
+-# test has changed
+-#
+-# ENABLE_COVERAGE_REPORT(TARGETS target... [FILTER filter...] [TESTS test targets...])
+-#
+-# To generate a coverage report first build the project with
+-# CMAKE_BUILD_TYPE=coverage, then call make test and afterwards make coverage.
+-#
+-# The coverage report is based on gcov. Depending on the availability of lcov
+-# a HTML report will be generated and/or an XML report of gcovr is found.
+-# The generated coverage target executes all found solutions. Special targets
+-# exist to create e.g. only the xml report: coverage-xml.
+-#
+-# Copyright (C) 2010 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
+-#
+-# This program is free software; you can redistribute it
+-# and/or modify it under the terms of the GNU General
+-# Public License as published by the Free Software Foundation;
+-# either version 2, or (at your option)
+-# any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-
+-INCLUDE(ParseArguments)
+-
+-FIND_PACKAGE(Lcov)
+-FIND_PACKAGE(gcovr)
+-
+-FUNCTION(ENABLE_COVERAGE_REPORT)
+-
+- # argument parsing
+- PARSE_ARGUMENTS(ARG "FILTER;TARGETS;TESTS" "" ${ARGN})
+-
+- SET(COVERAGE_RAW_FILE "${CMAKE_BINARY_DIR}/coverage.raw.info")
+- SET(COVERAGE_FILTERED_FILE "${CMAKE_BINARY_DIR}/coverage.info")
+- SET(COVERAGE_REPORT_DIR "${CMAKE_BINARY_DIR}/coveragereport")
+- SET(COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml")
+- SET(COVERAGE_XML_COMMAND_FILE "${CMAKE_BINARY_DIR}/coverage-xml.cmake")
+-
+- # decide if there is any tool to create coverage data
+- SET(TOOL_FOUND FALSE)
+- IF(LCOV_FOUND OR GCOVR_FOUND)
+- SET(TOOL_FOUND TRUE)
+- ENDIF()
+- IF(NOT TOOL_FOUND)
+- MESSAGE(STATUS "Cannot enable coverage targets because neither lcov nor gcovr are found.")
+- ENDIF()
+-
+- STRING(TOLOWER "${CMAKE_BUILD_TYPE}" COVERAGE_BUILD_TYPE)
+- IF(CMAKE_COMPILER_IS_GNUCXX AND TOOL_FOUND AND "${COVERAGE_BUILD_TYPE}" MATCHES "coverage")
+-
+- MESSAGE(STATUS "Coverage support enabled for targets: ${ARG_TARGETS}")
+-
+- # create coverage build type
+- SET(CMAKE_CXX_FLAGS_COVERAGE ${CMAKE_CXX_FLAGS_DEBUG} PARENT_SCOPE)
+- SET(CMAKE_C_FLAGS_COVERAGE ${CMAKE_C_FLAGS_DEBUG} PARENT_SCOPE)
+- SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} coverage PARENT_SCOPE)
+-
+- # instrument targets
+- SET_TARGET_PROPERTIES(${ARG_TARGETS} PROPERTIES COMPILE_FLAGS --coverage
+- LINK_FLAGS --coverage)
+-
+- # html report
+- IF (LCOV_FOUND)
+-
+- MESSAGE(STATUS "Enabling HTML coverage report")
+-
+- # set up coverage target
+-
+- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_RAW_FILE}
+- COMMAND ${LCOV_EXECUTABLE} -c -d ${CMAKE_BINARY_DIR} -o ${COVERAGE_RAW_FILE}
+- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+- COMMENT "Collecting coverage data"
+- DEPENDS ${ARG_TARGETS} ${ARG_TESTS}
+- VERBATIM)
+-
+- # filter unwanted stuff
+- LIST(LENGTH ARG_FILTER FILTER_LENGTH)
+- IF(${FILTER_LENGTH} GREATER 0)
+- SET(FILTER COMMAND ${LCOV_EXECUTABLE})
+- FOREACH(F ${ARG_FILTER})
+- SET(FILTER ${FILTER} -r ${COVERAGE_FILTERED_FILE} ${F})
+- ENDFOREACH()
+- SET(FILTER ${FILTER} -o ${COVERAGE_FILTERED_FILE})
+- ELSE()
+- SET(FILTER "")
+- ENDIF()
+-
+- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_FILTERED_FILE}
+- COMMAND ${LCOV_EXECUTABLE} -e ${COVERAGE_RAW_FILE} "${CMAKE_SOURCE_DIR}*" -o ${COVERAGE_FILTERED_FILE}
+- ${FILTER}
+- DEPENDS ${COVERAGE_RAW_FILE}
+- COMMENT "Filtering recorded coverage data for project-relevant entries"
+- VERBATIM)
+- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_REPORT_DIR}
+- COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_REPORT_DIR}
+- COMMAND ${GENHTML_EXECUTABLE} --legend --show-details -t "${PROJECT_NAME} test coverage" -o ${COVERAGE_REPORT_DIR} ${COVERAGE_FILTERED_FILE}
+- DEPENDS ${COVERAGE_FILTERED_FILE}
+- COMMENT "Generating HTML coverage report in ${COVERAGE_REPORT_DIR}"
+- VERBATIM)
+-
+- ADD_CUSTOM_TARGET(coverage-html
+- DEPENDS ${COVERAGE_REPORT_DIR})
+-
+- ENDIF()
+-
+- # xml coverage report
+- IF(GCOVR_FOUND)
+-
+- MESSAGE(STATUS "Enabling XML coverage report")
+-
+- # gcovr cannot write directly to a file so the execution needs to
+- # be wrapped in a cmake file that generates the file output
+- FILE(WRITE ${COVERAGE_XML_COMMAND_FILE}
+- "SET(ENV{LANG} en)\n")
+- FILE(APPEND ${COVERAGE_XML_COMMAND_FILE}
+- "EXECUTE_PROCESS(COMMAND \"${GCOVR_EXECUTABLE}\" --exclude=tests.* --exclude=obj-.* --exclude=cmake.* -x -r \"${CMAKE_SOURCE_DIR}\" OUTPUT_FILE \"${COVERAGE_XML_FILE}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")\n")
+-
+- ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_XML_FILE}
+- COMMAND ${CMAKE_COMMAND} ARGS -P ${COVERAGE_XML_COMMAND_FILE}
+- COMMENT "Generating coverage XML report"
+- VERBATIM)
+-
+- ADD_CUSTOM_TARGET(coverage-xml
+- DEPENDS ${COVERAGE_XML_FILE})
+-
+- ENDIF()
+-
+- # provide a global coverage target executing both steps if available
+- SET(GLOBAL_DEPENDS "")
+- IF(LCOV_FOUND)
+- LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_REPORT_DIR})
+- ENDIF()
+- IF(GCOVR_FOUND)
+- LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_XML_FILE})
+- ENDIF()
+- IF(LCOV_FOUND OR GCOVR_FOUND)
+- ADD_CUSTOM_TARGET(coverage
+- DEPENDS ${GLOBAL_DEPENDS})
+- ENDIF()
+-
+- ENDIF()
+-
+-ENDFUNCTION()
+diff --git a/cmake/FindGtest.cmake b/cmake/FindGtest.cmake
+deleted file mode 100644
+index 1283174..0000000
+--- a/cmake/FindGtest.cmake
++++ /dev/null
+@@ -1,53 +0,0 @@
+-include(ExternalProject)
+-include(FindPackageHandleStandardArgs)
+-
+-#gtest
+-set(GTEST_INSTALL_DIR /usr/src/gmock/gtest/include)
+-find_path(GTEST_INCLUDE_DIR gtest/gtest.h
+- HINTS ${GTEST_INSTALL_DIR})
+-
+-#gmock
+-find_path(GMOCK_INSTALL_DIR gmock/CMakeLists.txt
+- HINTS /usr/src)
+-if(${GMOCK_INSTALL_DIR} STREQUAL "GMOCK_INSTALL_DIR-NOTFOUND")
+- message(FATAL_ERROR "google-mock package not found")
+-endif()
+-
+-set(GMOCK_INSTALL_DIR ${GMOCK_INSTALL_DIR}/gmock)
+-find_path(GMOCK_INCLUDE_DIR gmock/gmock.h)
+-
+-set(GMOCK_PREFIX gmock)
+-set(GMOCK_BINARY_DIR ${CMAKE_BINARY_DIR}/${GMOCK_PREFIX}/libs)
+-set(GTEST_BINARY_DIR ${GMOCK_BINARY_DIR}/gtest)
+-
+-set(GTEST_CMAKE_ARGS "")
+-if (${MIR_IS_CROSS_COMPILING})
+- set(GTEST_CMAKE_ARGS
+- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_MODULE_PATH}/LinuxCrossCompile.cmake)
+-endif()
+-
+-ExternalProject_Add(
+- GMock
+- #where to build in source tree
+- PREFIX ${GMOCK_PREFIX}
+- #where the source is external to the project
+- SOURCE_DIR ${GMOCK_INSTALL_DIR}
+- #forward the compilers to the subproject so cross-arch builds work
+- CMAKE_ARGS ${GTEST_CMAKE_ARGS}
+- BINARY_DIR ${GMOCK_BINARY_DIR}
+-
+- #we don't need to install, so skip
+- INSTALL_COMMAND ""
+-)
+-
+-set(GMOCK_LIBRARY ${GMOCK_BINARY_DIR}/libgmock.a)
+-set(GMOCK_MAIN_LIBRARY ${GMOCK_BINARY_DIR}/libgmock_main.a)
+-set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARY} ${GMOCK_MAIN_LIBRARY})
+-set(GTEST_LIBRARY ${GTEST_BINARY_DIR}/libgtest.a)
+-set(GTEST_MAIN_LIBRARY ${GTEST_BINARY_DIR}/libgtest_main.a)
+-set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY})
+-set(GTEST_ALL_LIBRARIES ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
+-
+-find_package_handle_standard_args(GTest DEFAULT_MSG
+- GMOCK_INCLUDE_DIR
+- GTEST_INCLUDE_DIR)
+diff --git a/cmake/FindLcov.cmake b/cmake/FindLcov.cmake
+deleted file mode 100644
+index 70628f4..0000000
+--- a/cmake/FindLcov.cmake
++++ /dev/null
+@@ -1,29 +0,0 @@
+-# - Find lcov
+-# Will define:
+-#
+-# LCOV_EXECUTABLE - the lcov binary
+-# GENHTML_EXECUTABLE - the genhtml executable
+-#
+-# Copyright (C) 2010 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
+-#
+-# This program is free software; you can redistribute it
+-# and/or modify it under the terms of the GNU General
+-# Public License as published by the Free Software Foundation;
+-# either version 2, or (at your option)
+-# any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-
+-INCLUDE(FindPackageHandleStandardArgs)
+-
+-FIND_PROGRAM(LCOV_EXECUTABLE lcov)
+-FIND_PROGRAM(GENHTML_EXECUTABLE genhtml)
+-
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lcov DEFAULT_MSG LCOV_EXECUTABLE GENHTML_EXECUTABLE)
+-
+-# only visible in advanced view
+-MARK_AS_ADVANCED(LCOV_EXECUTABLE GENHTML_EXECUTABLE)
+diff --git a/cmake/Findgcovr.cmake b/cmake/Findgcovr.cmake
+deleted file mode 100644
+index e4c43fe..0000000
+--- a/cmake/Findgcovr.cmake
++++ /dev/null
+@@ -1,31 +0,0 @@
+-# - Find gcovr scrip
+-# Will define:
+-#
+-# GCOVR_EXECUTABLE - the gcovr script
+-#
+-# Uses:
+-#
+-# GCOVR_ROOT - root to search for the script
+-#
+-# Copyright (C) 2011 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
+-#
+-# This program is free software; you can redistribute it
+-# and/or modify it under the terms of the GNU General
+-# Public License as published by the Free Software Foundation;
+-# either version 2, or (at your option)
+-# any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-
+-INCLUDE(FindPackageHandleStandardArgs)
+-
+-FIND_PROGRAM(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin")
+-
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(gcovr DEFAULT_MSG GCOVR_EXECUTABLE)
+-
+-# only visible in advanced view
+-MARK_AS_ADVANCED(GCOVR_EXECUTABLE)
+diff --git a/cmake/ParseArguments.cmake b/cmake/ParseArguments.cmake
+deleted file mode 100644
+index e13f671..0000000
+--- a/cmake/ParseArguments.cmake
++++ /dev/null
+@@ -1,52 +0,0 @@
+-# Parse arguments passed to a function into several lists separated by
+-# upper-case identifiers and options that do not have an associated list e.g.:
+-#
+-# SET(arguments
+-# hello OPTION3 world
+-# LIST3 foo bar
+-# OPTION2
+-# LIST1 fuz baz
+-# )
+-# PARSE_ARGUMENTS(ARG "LIST1;LIST2;LIST3" "OPTION1;OPTION2;OPTION3" ${arguments})
+-#
+-# results in 7 distinct variables:
+-# * ARG_DEFAULT_ARGS: hello;world
+-# * ARG_LIST1: fuz;baz
+-# * ARG_LIST2:
+-# * ARG_LIST3: foo;bar
+-# * ARG_OPTION1: FALSE
+-# * ARG_OPTION2: TRUE
+-# * ARG_OPTION3: TRUE
+-#
+-# taken from http://www.cmake.org/Wiki/CMakeMacroParseArguments
+-
+-MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
+- SET(DEFAULT_ARGS)
+- FOREACH(arg_name ${arg_names})
+- SET(${prefix}_${arg_name})
+- ENDFOREACH(arg_name)
+- FOREACH(option ${option_names})
+- SET(${prefix}_${option} FALSE)
+- ENDFOREACH(option)
+-
+- SET(current_arg_name DEFAULT_ARGS)
+- SET(current_arg_list)
+- FOREACH(arg ${ARGN})
+- SET(larg_names ${arg_names})
+- LIST(FIND larg_names "${arg}" is_arg_name)
+- IF (is_arg_name GREATER -1)
+- SET(${prefix}_${current_arg_name} ${current_arg_list})
+- SET(current_arg_name ${arg})
+- SET(current_arg_list)
+- ELSE (is_arg_name GREATER -1)
+- SET(loption_names ${option_names})
+- LIST(FIND loption_names "${arg}" is_option)
+- IF (is_option GREATER -1)
+- SET(${prefix}_${arg} TRUE)
+- ELSE (is_option GREATER -1)
+- SET(current_arg_list ${current_arg_list} ${arg})
+- ENDIF (is_option GREATER -1)
+- ENDIF (is_arg_name GREATER -1)
+- ENDFOREACH(arg)
+- SET(${prefix}_${current_arg_name} ${current_arg_list})
+-ENDMACRO(PARSE_ARGUMENTS)
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 180498f..cb05b48 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ set (OLD_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+ # Don't treat warnings as errors in 3rd_party/{gmock,cucumber-cpp}
+ string (REPLACE " -Werror " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+-find_package(Gtest REQUIRED)
++find_package(GTest REQUIRED)
+ include_directories(${GMOCK_INCLUDE_DIR} ${GTEST_INCLUDE_DIR})
+ set (CMAKE_CXX_FLAGS ${OLD_CMAKE_CXX_FLAGS})
+