aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucio Sauer <watermanpaint@posteo.net>2024-06-23 01:50:49 +0200
committerLucio Sauer <watermanpaint@posteo.net>2024-06-23 01:50:49 +0200
commit8b17e78ebd7732d76fb4a4f38097b1d6f514f75d (patch)
tree187c427de87f81455fcb27ca80fcc52552091f58 /dev-cpp
parentdev-cpp/mustache: add 4.1_p20211210 (diff)
downloadguru-8b17e78ebd7732d76fb4a4f38097b1d6f514f75d.tar.gz
guru-8b17e78ebd7732d76fb4a4f38097b1d6f514f75d.tar.bz2
guru-8b17e78ebd7732d76fb4a4f38097b1d6f514f75d.zip
dev-cpp/mustache: unbundle test dependency
Make test compilation optional. Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/mustache/files/mustache-4.1_p20211210-unbundle-catch.patch48
-rw-r--r--dev-cpp/mustache/mustache-4.1_p20211210.ebuild13
2 files changed, 61 insertions, 0 deletions
diff --git a/dev-cpp/mustache/files/mustache-4.1_p20211210-unbundle-catch.patch b/dev-cpp/mustache/files/mustache-4.1_p20211210-unbundle-catch.patch
new file mode 100644
index 000000000..bb68eb4c1
--- /dev/null
+++ b/dev-cpp/mustache/files/mustache-4.1_p20211210-unbundle-catch.patch
@@ -0,0 +1,48 @@
+Unbundle test dependency dev-cpp/catch and make test compilation optional.
+
+Author: Lucio Sauer <watermanpaint@posteo.net>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,7 +2,12 @@ cmake_minimum_required(VERSION 3.0.2)
+ project(mustache)
+ add_library(mustache INTERFACE)
+
++option(TESTS "build tests")
++
+ target_compile_features(mustache INTERFACE cxx_std_17)
+ target_sources(mustache INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/mustache.hpp)
+ target_include_directories(mustache INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
+-add_subdirectory(tests)
+\ No newline at end of file
++
++if (TESTS)
++ add_subdirectory(tests)
++endif (TESTS)
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -1,10 +1,12 @@
++find_package(Catch2 REQUIRED)
++
+ add_executable(mustache-unit-tests
+ ../mustache.hpp # to show in IDE
+- catch.hpp # to show in IDE
+ tests.cpp
+ )
+
+-target_link_libraries(mustache-unit-tests PRIVATE mustache)
++
++target_link_libraries(mustache-unit-tests PRIVATE mustache Catch2::Catch2)
+
+ if (UNIX)
+ target_compile_options(mustache-unit-tests PRIVATE -Wall -Wextra -Werror -Wconversion)
+--- a/tests/tests.cpp
++++ b/tests/tests.cpp
+@@ -29,7 +29,7 @@
+ #include "mustache.hpp"
+
+ #define CATCH_CONFIG_MAIN
+-#include "catch.hpp"
++#include <catch2/catch.hpp>
+
+ using namespace kainjow::mustache;
+
diff --git a/dev-cpp/mustache/mustache-4.1_p20211210.ebuild b/dev-cpp/mustache/mustache-4.1_p20211210.ebuild
index ee71cb14a..6739909f5 100644
--- a/dev-cpp/mustache/mustache-4.1_p20211210.ebuild
+++ b/dev-cpp/mustache/mustache-4.1_p20211210.ebuild
@@ -14,6 +14,19 @@ S="${WORKDIR}/Mustache-${COMMIT}"
LICENSE="Boost-1.0"
SLOT="0"
KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( <dev-cpp/catch-3 )"
+
+PATCHES="${FILESDIR}"/${P}-unbundle-catch.patch
+
+src_configure() {
+ local mycmakeargs=(
+ -DTESTS=$(usex test)
+ )
+ cmake_src_configure
+}
src_test() {
"${BUILD_DIR}"/tests/mustache-unit-tests || die "Tests failed!"