summaryrefslogtreecommitdiff
path: root/eclass/ecm.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/ecm.eclass')
-rw-r--r--eclass/ecm.eclass14
1 files changed, 13 insertions, 1 deletions
diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass
index 2ca2b3a9e5e..a02fe23732a 100644
--- a/eclass/ecm.eclass
+++ b/eclass/ecm.eclass
@@ -334,6 +334,18 @@ DEPEND+=" ${COMMONDEPEND}"
RDEPEND+=" ${COMMONDEPEND}"
unset COMMONDEPEND
+# @FUNCTION: _ecm_handbook_optional
+# @DESCRIPTION:
+# Use with ECM_HANDBOOK=optional; ticks either -DBUILD_DOC if available,
+# or -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools
+_ecm_handbook_optional() {
+ if grep -Eq "option.*BUILD_DOC" CMakeLists.txt; then
+ echo "-DBUILD_DOC=$(usex handbook)"
+ else
+ echo "-DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=$(usex !handbook)"
+ fi
+}
+
# @FUNCTION: _ecm_strip_handbook_translations
# @INTERNAL
# @DESCRIPTION:
@@ -621,7 +633,7 @@ ecm_src_configure() {
fi
if [[ ${ECM_HANDBOOK} = optional ]] ; then
- cmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KF${_KFSLOT}DocTools=$(usex !handbook) )
+ cmakeargs+=( $(_ecm_handbook_optional) )
fi
if in_iuse designer && [[ ${ECM_DESIGNERPLUGIN} = true ]]; then