summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.37.0.ebuild2
-rw-r--r--kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.37.0-ecmaddtest.patch74
2 files changed, 76 insertions, 0 deletions
diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.37.0.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.37.0.ebuild
index a1079a58999..231e84818f0 100644
--- a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.37.0.ebuild
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.37.0.ebuild
@@ -31,6 +31,8 @@ RDEPEND="
app-arch/libarchive[bzip2]
"
+PATCHES=( "${FILESDIR}/${P}-ecmaddtest.patch" )
+
python_check_deps() {
has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
}
diff --git a/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.37.0-ecmaddtest.patch b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.37.0-ecmaddtest.patch
new file mode 100644
index 00000000000..fe867541889
--- /dev/null
+++ b/kde-frameworks/extra-cmake-modules/files/extra-cmake-modules-5.37.0-ecmaddtest.patch
@@ -0,0 +1,74 @@
+From b99d2d2c5dedcaba9745dddc1dd7b8d4811babf1 Mon Sep 17 00:00:00 2001
+From: Kevin Funk <kfunk@kde.org>
+Date: Mon, 7 Aug 2017 15:50:25 +0200
+Subject: RFC: Make ECMAddTests respect BUILD_TESTING
+
+Summary:
+Use-case: Make building unit tests optional, by just following the CMake
+BUILD_TESTING option.
+
+The usual approach to conditionally build tests is to do:
+```
+if (BUILD_TESTING)
+ add_executable(TestOne TestOne.cpp)
+ target_link_libraries(TestOne my_library)
+endif()
+```
+
+or:
+
+```
+if (BUILD_TESTING)
+ add_subdirectory(tests)
+endif()
+```
+
+This patch just turns all calls to ecm_add_test(...) into no-ops if
+BUILD_TESTING=OFF.
+
+See:
+ https://cmake.org/cmake/help/v3.6/module/CTest.html
+
+Reviewers: vkrause
+
+Reviewed By: vkrause
+
+Subscribers: kossebau, vkrause, elvisangelaccio, asturmlechner, apol, #frameworks, #build_system
+
+Tags: #frameworks, #build_system
+
+Differential Revision: https://phabricator.kde.org/D7187
+---
+ modules/ECMAddTests.cmake | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/modules/ECMAddTests.cmake b/modules/ECMAddTests.cmake
+index 9667388..c77a7aa 100644
+--- a/modules/ECMAddTests.cmake
++++ b/modules/ECMAddTests.cmake
+@@ -49,6 +49,12 @@
+ # be given; this will be used for both the target and test names (and, as with
+ # ecm_add_tests(), the NAME_PREFIX argument will be prepended to the test name).
+ #
++# If BUILD_TESTING is set to OFF, ecm_add_test will turn into a no-op and thus
++# will not add any test-related targets
++#
++# BUILD_TESTING is created as a cache variable by the CTest module and by the
++# :kde-module:`KDECMakeSettings` module.
++#
+ #
+ # Since pre-1.0.0.
+
+@@ -84,6 +90,10 @@ include(ECMMarkAsTest)
+ include(ECMMarkNonGuiExecutable)
+
+ function(ecm_add_test)
++ if(NOT BUILD_TESTING)
++ return() # turn this function into a no-op
++ endif()
++
+ set(options GUI)
+ # TARGET_NAME_VAR and TEST_NAME_VAR are undocumented args used by
+ # ecm_add_tests
+--
+cgit v0.11.2