@@ -2098,6 +2098,7 @@ F: package/gnuplot/
F: package/sdl2/
N: Michael Nosthoff <buildroot@heine.tech>
+F: package/catch2/
F: package/grpc/
F: package/gtest/
F: package/libabseil-cpp/
@@ -1968,6 +1968,7 @@ menu "Other"
source "package/boost/Config.in"
source "package/c-capnproto/Config.in"
source "package/capnproto/Config.in"
+ source "package/catch2/Config.in"
source "package/cctz/Config.in"
source "package/cereal/Config.in"
source "package/clang/Config.in"
new file mode 100644
@@ -0,0 +1,28 @@
+config BR2_PACKAGE_CATCH2
+ bool "catch2"
+ depends on BR2_USE_WCHAR
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+ depends on BR2_USE_MMU # fork()
+ help
+ Catch2 is mainly a unit testing framework for C++, but it
+ also provides basic micro-benchmarking features, and simple
+ BDD macros.
+
+ Catch2's main advantage is that using it is both simple and
+ natural. Tests autoregister themselves and do not have to
+ be named with valid identifiers, assertions look like
+ normal C++ code, and sections provide a nice way to share
+ set-up and tear-down code in tests.
+
+ This package allows running testsuites on the target which
+ might be advantageous in certain cases.
+
+ https://github.com/catchorg/Catch2
+
+comment "catch2 needs a toolchain w/ C++, wchar, threads, gcc >= 4.9"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
new file mode 100644
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256 2106bccfec18c8ce673623d56780220e38527dd8f283ccba26aa4b8758737d0e v3.1.1.tar.gz
+sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt
new file mode 100644
@@ -0,0 +1,19 @@
+################################################################################
+#
+# catch2
+#
+################################################################################
+
+CATCH2_VERSION = 3.1.1
+CATCH2_SOURCE = v$(CATCH2_VERSION).tar.gz
+CATCH2_SITE = https://github.com/catchorg/Catch2/archive
+CATCH2_INSTALL_STAGING = YES
+CATCH2_INSTALL_TARGET = NO
+CATCH2_LICENSE = BSL-1.0
+CATCH2_LICENSE_FILES = LICENSE.txt
+CATCH2_SUPPORTS_IN_SOURCE_BUILD = NO
+
+CATCH2_CONF_OPTS = -DCATCH_INSTALL_DOCS=OFF \
+ -DBUILD_SHARED_LIBS=OFF
+
+$(eval $(cmake-package))
Catch2 is a modern C++ unit testing framework which is increasing in popularity. This package is staging only and allows to build tests to be run on the target. - https://github.com/catchorg/Catch2 Signed-off-by: Michael Nosthoff <buildroot@heine.tech> -- v2: - fix name in Config.in comment v3: - bump to version 3.1.1 - build as static lib as shared lib is not really supported [0] - drop host package [0] https://github.com/catchorg/Catch2/blob/devel/docs/faq.md --- DEVELOPERS | 1 + package/Config.in | 1 + package/catch2/Config.in | 28 ++++++++++++++++++++++++++++ package/catch2/catch2.hash | 3 +++ package/catch2/catch2.mk | 19 +++++++++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 package/catch2/Config.in create mode 100644 package/catch2/catch2.hash create mode 100644 package/catch2/catch2.mk