aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2017-12-31 09:43:05 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2017-12-31 09:43:05 +0000
commitdeebc4f35b5fd972a4a6bd804562f0e814709d43 (patch)
treed27a6a4c588a3b8b48bdd20aeba94186a58e56bc
parentb5d21fa092e80e1d01accee1c605e46e3ffc7538 (diff)
downloadports-deebc4f35b5fd972a4a6bd804562f0e814709d43.tar.gz
ports-deebc4f35b5fd972a4a6bd804562f0e814709d43.zip
Add CMAKE_ON and CMAKE_OFF to cmake.mk
USES=cmake now supports two additional list variables: * CMAKE_ON : List of variables to turn on * CMAKE_OFF : List of variables to turn off This can be used as a shortcut to append these to CMAKE_ARGS. For example ports that previously set CMAKE_ARGS= -DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE can now set this as CMAKE_ON= VAR1 VAR2 CMAKE_OFF= VAR3 Reviewed by: adridg, rakuco, mat Differential Revision: https://reviews.freebsd.org/D13636
Notes
Notes: svn path=/head/; revision=457677
-rw-r--r--CHANGES14
-rw-r--r--Mk/Uses/cmake.mk9
2 files changed, 23 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 920bfd75ddb4..d1c633cc27a2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,20 @@ in the release notes and/or placed into UPDATING.
All ports committers are allowed to commit to this file.
+20171231:
+AUTHOR: kde@FreeBSD.org
+
+ USES=cmake now supports two additional list variables:
+ * CMAKE_ON : List of variables to turn on
+ * CMAKE_OFF : List of variables to turn off
+ This can be used as a shortcut to append these to CMAKE_ARGS.
+
+ For example ports that previously set
+ CMAKE_ARGS= -DVAR1:BOOL=TRUE -DVAR2:BOOL=TRUE -DVAR3:BOOL=FALSE
+ can now set this as
+ CMAKE_ON= VAR1 VAR2
+ CMAKE_OFF= VAR3
+
20171130:
AUTHOR: mat@FreeBSD.org
diff --git a/Mk/Uses/cmake.mk b/Mk/Uses/cmake.mk
index 80bf800561f4..057149865f17 100644
--- a/Mk/Uses/cmake.mk
+++ b/Mk/Uses/cmake.mk
@@ -25,6 +25,8 @@
# Default: not set, unless BATCH or PACKAGE_BUILDING is defined
#
# Variables for ports:
+# CMAKE_ON Appends -D<var>:bool=ON to the CMAKE_ARGS,
+# CMAKE_OFF Appends -D<var>:bool=OFF to the CMAKE_ARGS.
# CMAKE_ARGS - Arguments passed to cmake
# Default: see below
# CMAKE_BUILD_TYPE - Type of build (cmake predefined build types).
@@ -89,6 +91,13 @@ CMAKE_ARGS+= -DCMAKE_C_COMPILER:STRING="${CC}" \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=YES \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
+# Handle the option-like CMAKE_ON and CMAKE_OFF lists.
+.for _bool_kind in ON OFF
+. if defined(CMAKE_${_bool_kind})
+CMAKE_ARGS+= ${CMAKE_${_bool_kind}:C/.*/-D&:BOOL=${_bool_kind}/}
+. endif
+.endfor
+
CMAKE_INSTALL_PREFIX?= ${PREFIX}
.if defined(BATCH) || defined(PACKAGE_BUILDING)