From 7d25ef3ca1ec0def652a04b4f1df3ea808aff68d Mon Sep 17 00:00:00 2001 From: tcberner Date: Sun, 31 Dec 2017 09:43:05 +0000 Subject: 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 --- Mk/Uses/cmake.mk | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'Mk') 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:bool=ON to the CMAKE_ARGS, +# CMAKE_OFF Appends -D: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) -- cgit