[Buildroot] [git commit branch/next] package/catch2: new package
From: Thomas Petazzoni via buildroot <hidden>
Date: 2023-02-21 02:07:12
Subsystem:
the rest · Maintainer:
Linus Torvalds
commit: https://git.buildroot.net/buildroot/commit/?id=c5b597d5d839486e82a80f1c59c2a91a5af87c06 branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next 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 <redacted> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/catch2/Config.in | 28 ++++++++++++++++++++++++++++ package/catch2/catch2.hash | 3 +++ package/catch2/catch2.mk | 22 ++++++++++++++++++++++ 5 files changed, 55 insertions(+)
diff --git a/DEVELOPERS b/DEVELOPERS
index 3d9c51a094..7894b10e38 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS@@ -2035,6 +2035,7 @@ F: package/sdl2/ N: Michael Nosthoff <buildroot@heine.tech> F: package/boost/ +F: package/catch2/ F: package/fmt/ F: package/grpc/ F: package/gtest/
diff --git a/package/Config.in b/package/Config.in
index 523cf7cbdf..6c5238a9b0 100644
--- a/package/Config.in
+++ b/package/Config.in@@ -2012,6 +2012,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"
diff --git a/package/catch2/Config.in b/package/catch2/Config.in
new file mode 100644
index 0000000000..2f53d197b2
--- /dev/null
+++ b/package/catch2/Config.in@@ -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
diff --git a/package/catch2/catch2.hash b/package/catch2/catch2.hash
new file mode 100644
index 0000000000..664164fd76
--- /dev/null
+++ b/package/catch2/catch2.hash@@ -0,0 +1,3 @@ +# Locally computed: +sha256 2106bccfec18c8ce673623d56780220e38527dd8f283ccba26aa4b8758737d0e catch2-3.1.1.tar.gz +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE.txt
diff --git a/package/catch2/catch2.mk b/package/catch2/catch2.mk
new file mode 100644
index 0000000000..ab62cc943b
--- /dev/null
+++ b/package/catch2/catch2.mk@@ -0,0 +1,22 @@ +################################################################################ +# +# catch2 +# +################################################################################ + +CATCH2_VERSION = 3.1.1 +CATCH2_SITE = $(call github,catchorg,Catch2,v$(CATCH2_VERSION)) +CATCH2_INSTALL_STAGING = YES +CATCH2_INSTALL_TARGET = NO +CATCH2_LICENSE = BSL-1.0 +CATCH2_LICENSE_FILES = LICENSE.txt +CATCH2_SUPPORTS_IN_SOURCE_BUILD = NO + +# We force building a static library only as building a dynamic +# library is not really supported officially: +# https://github.com/catchorg/Catch2/blob/devel/docs/faq.md#can-i-compile-catch2-into-a-dynamic-library +CATCH2_CONF_OPTS = \ + -DCATCH_INSTALL_DOCS=OFF \ + -DBUILD_SHARED_LIBS=OFF + +$(eval $(cmake-package))
_______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot