diff options
author | Tobias C. Berner <tcberner@FreeBSD.org> | 2017-12-31 09:43:05 +0000 |
---|---|---|
committer | Tobias C. Berner <tcberner@FreeBSD.org> | 2017-12-31 09:43:05 +0000 |
commit | deebc4f35b5fd972a4a6bd804562f0e814709d43 (patch) | |
tree | d27a6a4c588a3b8b48bdd20aeba94186a58e56bc | |
parent | b5d21fa092e80e1d01accee1c605e46e3ffc7538 (diff) | |
download | ports-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-- | CHANGES | 14 | ||||
-rw-r--r-- | Mk/Uses/cmake.mk | 9 |
2 files changed, 23 insertions, 0 deletions
@@ -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) |