@@ -2027,6 +2027,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/
@@ -1929,6 +1929,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 8c4173c68ae7da1b5b505194a0c2d6f1b2aef4ec1e3e7463bde451f26bbaf4e7 v3.0.1.tar.gz
+sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt
new file mode 100644
@@ -0,0 +1,19 @@
+################################################################################
+#
+# catch2
+#
+################################################################################
+
+CATCH2_VERSION = 3.0.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
+
+$(eval $(cmake-package))
+$(eval $(host-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. Further it can also be built as host package (similar to gtest) - https://github.com/catchorg/Catch2 Signed-off-by: Michael Nosthoff <buildroot@heine.tech> -- v2: fix name in Config.in comment --- 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