aboutsummaryrefslogtreecommitdiff
path: root/graphics/blender/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/blender/Makefile')
-rw-r--r--graphics/blender/Makefile167
1 files changed, 67 insertions, 100 deletions
diff --git a/graphics/blender/Makefile b/graphics/blender/Makefile
index 11a392894f16..8dbfaff0258e 100644
--- a/graphics/blender/Makefile
+++ b/graphics/blender/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= blender
-PORTVERSION= 2.79
-PORTREVISION= 7
+PORTVERSION= 2.79b
CATEGORIES= graphics games
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
@@ -12,29 +11,29 @@ MASTER_SITES= http://download.blender.org/source/ \
MAINTAINER= FreeBSD@Shaneware.biz
COMMENT= 3D modeling/rendering/animation/gaming package
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/doc/license/GPL-license.txt
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/doc/license/GPL3-license.txt
LIB_DEPENDS= libpng.so:graphics/png \
libfreetype.so:print/freetype2 \
libboost_regex.so:devel/boost-libs
+RUN_DEPENDS= ${PYNUMPY}
# libboost_regex.so just acts as a placeholder; several boost
# libraries are used, if either of the most common options in blender
# are set. We will pull boost in just to be on the safe side.
-.include "${.CURDIR}/Makefile.versions"
-
-USES= cmake:outsource desktop-file-utils \
- jpeg python:${BLENDER_PY_VERSION} shebangfix \
- fortran # fortran is needed because Blender plugins can load python libraries built with fortran, and they need Blender to have USES=fortran
-USE_XORG= x11 xext xmu xrender
+# 10.4 fails to build with clang3.4 so we want to use clang50
+# clang50 is already in place for opengl
+USES= cmake:outsource compiler:c++14-lang desktop-file-utils \
+ jpeg python:3.5 shebangfix
+USE_XORG= x11 xext xfixes xmu xrender
USE_GL= gl glu glew
INSTALLS_ICONS= yes
-CMAKE_ARGS= -DWITH_PYTHON_INSTALL:BOOL=OFF \
- -DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF \
- -DWITH_INSTALL_PORTABLE:BOOL=FALSE \
- -DPYTHON_VERSION:STRING=${BLENDER_PY_VERSION}
+# always enable c++11, this needs to be enabled for several options
+CMAKE_ON= WITH_CXX11
+CMAKE_OFF= WITH_PYTHON_INSTALL WITH_PYTHON_INSTALL_NUMPY \
+ WITH_INSTALL_PORTABLE
SHEBANG_FILES= release/bin/blender-thumbnailer.py \
release/scripts/modules/bl_i18n_utils/merge_po.py \
@@ -42,135 +41,103 @@ SHEBANG_FILES= release/bin/blender-thumbnailer.py \
release/scripts/modules/blend_render_info.py
CFLAGS_i386= -march=i586
CXXFLAGS_i386= -march=i586
-OUTDIR= ${INSTALL_WRKSRC}/bin/${BLENDER_BL_VERSION}
-PLIST_SUB+= VER=${BLENDER_BL_VERSION}
+PLIST_SUB+= VER=2.79
OPTIONS_SUB= yes
.include "${.CURDIR}/Makefile.options"
-AVI_CMAKE_ON= -DWITH_CODEC_AVI:BOOL=ON
-AVI_CMAKE_OFF= -DWITH_CODEC_AVI:BOOL=OFF
-BULLET_CMAKE_ON= -DWITH_BULLET:BOOL=ON
-BULLET_CMAKE_OFF= -DWITH_BULLET:BOOL=OFF
-CAMERATRACK_CMAKE_ON= -DWITH_LIBMV:BOOL=ON
-CAMERATRACK_CMAKE_OFF= -DWITH_LIBMV:BOOL=OFF
+ALEMBIC_CMAKE_BOOL= WITH_ALEMBIC
+ALEMBIC_LIB_DEPENDS= libAlembic.so:graphics/alembic
+# note that this needs to be set to match alembics hdf5 option
+ALEMBIC_HDF5_REQUIRES= ALEMBIC
+ALEMBIC_HDF5_CMAKE_BOOL= WITH_ALEMBIC_HDF5
+ALEMBIC_HDF5_LIB_DEPENDS= libhdf5.so:science/hdf5
+AVI_CMAKE_BOOL= WITH_CODEC_AVI
+BULLET_CMAKE_BOOL= WITH_BULLET
+CAMERATRACK_CMAKE_BOOL= WITH_LIBMV
CAMERATRACK_LIB_DEPENDS= libunwind.so:devel/libunwind
-CINEON_CMAKE_ON= -DWITH_IMAGE_CINEON:BOOL=ON
-CINEON_CMAKE_OFF= -DWITH_IMAGE_CINEON:BOOL=OFF
-COLLADA_CMAKE_ON= -DWITH_OPENCOLLADA:BOOL=ON
-COLLADA_CMAKE_OFF= -DWITH_OPENCOLLADA:BOOL=OFF
+CINEON_CMAKE_BOOL= WITH_IMAGE_CINEON
+COLLADA_CMAKE_BOOL= WITH_OPENCOLLADA
COLLADA_LIB_DEPENDS= libOpenCOLLADABaseUtils.so:graphics/opencollada \
libpcre.so:devel/pcre
COLLADA_USE= GNOME=libxml2
-COMPOSITOR_CMAKE_ON= -DWITH_COMPOSITOR:BOOL=ON
-COMPOSITOR_CMAKE_OFF= -DWITH_COMPOSITOR:BOOL=OFF
+COMPOSITOR_CMAKE_BOOL= WITH_COMPOSITOR
CYCLES_IMPLIES= OPENIMAGEIO
-CYCLES_CMAKE_ON= -DWITH_CYCLES:BOOL=ON
-CYCLES_CMAKE_OFF= -DWITH_CYCLES:BOOL=OFF
+CYCLES_CMAKE_BOOL= WITH_CYCLES
CYCLESOSL_IMPLIES= CYCLES
-CYCLESOSL_CMAKE_ON= -DWITH_CYCLES_OSL:BOOL=ON \
- -DWITH_CXX11:BOOL=ON \
- -DWITH_LLVM:BOOL=ON \
- -DLLVM_STATIC:BOOL=OFF \
+CYCLESOSL_CMAKE_BOOL= WITH_CYCLES_OSL WITH_LLVM
+CYCLESOSL_CMAKE_ON= -DLLVM_STATIC:BOOL=OFF \
-DLLVM_CONFIG:STRING="${LOCALBASE}/bin/llvm-config40"
-CYCLESOSL_CMAKE_OFF= -DWITH_CYCLES_OSL:BOOL=OFF
CYCLESOSL_BUILD_DEPENDS= llvm-config40:devel/llvm40
CYCLESOSL_LIB_DEPENDS= liboslcomp.so:graphics/openshadinglanguage
CYCLESOSL_RUN_DEPENDS= llvm-config40:devel/llvm40
-DDS_CMAKE_ON= -DWITH_IMAGE_DDS:BOOL=ON
-DDS_CMAKE_OFF= -DWITH_IMAGE_DDS:BOOL=OFF
-FFMPEG_CMAKE_ON= -DWITH_CODEC_FFMPEG:BOOL=ON
-FFMPEG_CMAKE_OFF= -DWITH_CODEC_FFMPEG:BOOL=OFF
+DDS_CMAKE_BOOL= WITH_IMAGE_DDS
+FFMPEG_CMAKE_BOOL= WITH_CODEC_FFMPEG
FFMPEG_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg
-FFTW3_CMAKE_ON= -DWITH_FFTW3:BOOL=ON
-FFTW3_CMAKE_OFF= -DWITH_FFTW3:BOOL=OFF
+FFTW3_CMAKE_BOOL= WITH_FFTW3
FFTW3_LIB_DEPENDS= libfftw3.so:math/fftw3
-FRAMESERVER_CMAKE_ON= -DWITH_IMAGE_FRAMESERVER:BOOL=ON
-FRAMESERVER_CMAKE_OFF= -DWITH_IMAGE_FRAMESERVER:BOOL=OFF
-FREESTYLE_CMAKE_ON= -DWITH_FREESTYLE:BOOL=ON
-FREESTYLE_CMAKE_OFF= -DWITH_FREESTYLE:BOOL=OFF
-GAMEENGINE_CMAKE_ON= -DWITH_GAMEENGINE:BOOL=ON
-GAMEENGINE_CMAKE_OFF= -DWITH_GAMEENGINE:BOOL=OFF
-HDR_CMAKE_ON= -DWITH_IMAGE_HDR:BOOL=ON
-HDR_CMAKE_OFF= -DWITH_IMAGE_HDR:BOOL=OFF
+FRAMESERVER_CMAKE_BOOL= WITH_IMAGE_FRAMESERVER
+FREESTYLE_CMAKE_BOOL= WITH_FREESTYLE
+GAMEENGINE_CMAKE_BOOL= WITH_GAMEENGINE
+HDR_CMAKE_BOOL= WITH_IMAGE_HDR
HEADLESS_PREVENTS= MENU XINPUT XF86VMODE
HEADLESS_PREVENTS_MSG= X11 options can't be used in headless mode
-HEADLESS_CMAKE_ON= -DWITH_HEADLESS:BOOL=ON
-HEADLESS_CMAKE_OFF= -DWITH_HEADLESS:BOOL=OFF
-INPUT_NDOF_CMAKE_ON= -DWITH_INPUT_NDOF:BOOL=ON
-INPUT_NDOF_CMAKE_OFF= -DWITH_INPUT_NDOF:BOOL=OFF
-JACK_CMAKE_ON= -DWITH_JACK:BOOL=ON
-JACK_CMAKE_OFF= -DWITH_JACK:BOOL=OFF
+HEADLESS_CMAKE_BOOL= WITH_HEADLESS
+INPUT_NDOF_CMAKE_BOOL= WITH_INPUT_NDOF
+JACK_CMAKE_BOOL= WITH_JACK
JACK_LIB_DEPENDS= libjack.so:audio/jack
-LZO_CMAKE_ON= -DWITH_LZO:BOOL=ON
-LZO_CMAKE_OFF= -DWITH_LZO:BOOL=OFF
-LZMA_CMAKE_ON= -DWITH_LZMA:BOOL=ON
-LZMA_CMAKE_OFF= -DWITH_LZMA:BOOL=OFF
+LZO_CMAKE_BOOL= WITH_LZO
+LZMA_CMAKE_BOOL= WITH_LZMA
MENU_USES= desktop-file-utils
-MOD_BOOLEAN_CMAKE_ON= -DWITH_MOD_BOOLEAN:BOOL=ON
-MOD_BOOLEAN_CMAKE_OFF= -DWITH_MOD_BOOLEAN:BOOL=OFF
-MOD_FLUID_CMAKE_ON= -DWITH_MOD_FLUID:BOOL=ON
-MOD_FLUID_CMAKE_OFF= -DWITH_MOD_FLUID:BOOL=OFF
+MOD_BOOLEAN_CMAKE_BOOL= WITH_MOD_BOOLEAN
+MOD_FLUID_CMAKE_BOOL= WITH_MOD_FLUID
MOD_OCEANSIM_IMPLIES= FFTW3
-MOD_OCEANSIM_CMAKE_ON= -DWITH_MOD_OCEANSIM:BOOL=ON
-MOD_OCEANSIM_CMAKE_OFF= -DWITH_MOD_OCEANSIM:BOOL=OFF
-MOD_REMESH_CMAKE_ON= -DWITH_MOD_REMESH:BOOL=ON
-MOD_REMESH_CMAKE_OFF= -DWITH_MOD_REMESH:BOOL=OFF
-MOD_SMOKE_CMAKE_ON= -DWITH_MOD_SMOKE:BOOL=ON
-MOD_SMOKE_CMAKE_OFF= -DWITH_MOD_SMOKE:BOOL=OFF
-NLS_CMAKE_ON= -DWITH_INTERNATIONAL:BOOL=ON
-NLS_CMAKE_OFF= -DWITH_INTERNATIONAL:BOOL=OFF
+MOD_OCEANSIM_CMAKE_BOOL= WITH_MOD_OCEANSIM
+MOD_REMESH_CMAKE_BOOL= WITH_MOD_REMESH
+MOD_SMOKE_CMAKE_BOOL= WITH_MOD_SMOKE
+NLS_CMAKE_BOOL= WITH_INTERNATIONAL
# Use iconv:wchar_t to force the usage of iconv from ports.
# libboost_locale.so uses libiconv_open, while we only provide
# iconv_open in 10.x+
NLS_USES= gettext iconv:lib,wchar_t
-OPENAL_CMAKE_ON= -DWITH_OPENAL:BOOL=ON
-OPENAL_CMAKE_OFF= -DWITH_OPENAL:BOOL=OFF
+OPENAL_CMAKE_BOOL= WITH_OPENAL
OPENAL_USES= openal:al,alut
-OPENCOLORIO_CMAKE_ON= -DWITH_OPENCOLORIO:BOOL=ON
-OPENCOLORIO_CMAKE_OFF= -DWITH_OPENCOLORIO:BOOL=OFF
+OPENCOLORIO_CMAKE_BOOL= WITH_OPENCOLORIO
OPENCOLORIO_LIB_DEPENDS= libOpenColorIO.so:graphics/opencolorio \
libyaml-cpp03.so:devel/yaml-cpp03 \
libtinyxml.so:textproc/tinyxml
-OPENEXR_CMAKE_ON= -DWITH_IMAGE_OPENEXR:BOOL=ON
-OPENEXR_CMAKE_OFF= -DWITH_IMAGE_OPENEXR:BOOL=OFF
+OPENEXR_CMAKE_BOOL= WITH_IMAGE_OPENEXR
OPENEXR_LIB_DEPENDS= libIlmImf.so:graphics/OpenEXR \
libHalf.so:graphics/ilmbase
OPENIMAGEIO_IMPLIES= OPENEXR TIFF
-OPENIMAGEIO_CMAKE_ON= -DWITH_OPENIMAGEIO:BOOL=ON
-OPENIMAGEIO_CMAKE_OFF= -DWITH_OPENIMAGEIO:BOOL=OFF
+OPENIMAGEIO_CMAKE_BOOL= WITH_OPENIMAGEIO
OPENIMAGEIO_LIB_DEPENDS= libOpenImageIO.so:graphics/openimageio
-OPENJPEG_CMAKE_ON= -DWITH_SYSTEM_OPENJPEG:BOOL=ON \
- -DWITH_IMAGE_OPENJPEG:BOOL=ON
-OPENJPEG_CMAKE_OFF= -DWITH_IMAGE_OPENJPEG:BOOL=OFF
+OPENJPEG_CMAKE_BOOL= WITH_SYSTEM_OPENJPEG WITH_IMAGE_OPENJPEG
OPENJPEG_LIB_DEPENDS= libopenjpeg.so:graphics/openjpeg15
-OPENSUBDIV_CMAKE_ON= -DWITH_OPENSUBDIV:BOOL=ON
-OPENSUBDIV_CMAKE_OFF= -DWITH_OPENSUBDIV:BOOL=OFF
+# openmp usually works on amd64
+#OPENMP_CMAKE_ON= -DWITH_OPENMP:BOOL=ON \
+# -DOpenMP_C_FLAGS:STRING=-fopenmp -lm \
+# -DOpenMP_CXX_FLAGS:STRING=-fopenmp -lm
+#OPENMP_CMAKE_OFF= -DWITH_OPENMP:BOOL=OFF
+#OPENMP_LIB_DEPENDS= libomp.so.0:devel/openmp
+#OPENMP_LDFLAGS= -L${LOCALBASE}/lib
+OPENSUBDIV_CMAKE_BOOL= WITH_OPENSUBDIV
OPENSUBDIV_LIB_DEPENDS= libosdCPU.so:graphics/opensubdiv
PLAYER_IMPLIES= GAMEENGINE
-PLAYER_CMAKE_ON= -DWITH_PLAYER:BOOL=ON
-PLAYER_CMAKE_OFF= -DWITH_PLAYER:BOOL=OFF
-RAYOPTIMIZATION_CMAKE_ON= -DWITH_RAYOPTIMIZATION:BOOL=ON
-RAYOPTIMIZATION_CMAKE_OFF= -DWITH_RAYOPTIMIZATION:BOOL=OFF
-SDL_CMAKE_ON= -DWITH_SDL:BOOL=ON
-SDL_CMAKE_OFF= -DWITH_SDL:BOOL=OFF
+PLAYER_CMAKE_BOOL= WITH_PLAYER
+RAYOPTIMIZATION_CMAKE_BOOL= WITH_RAYOPTIMIZATION
+SDL_CMAKE_BOOL= WITH_SDL
SDL_USE= SDL=sdl2
-SNDFILE_CMAKE_ON= -DWITH_CODEC_SNDFILE:BOOL=ON
-SNDFILE_CMAKE_OFF= -DWITH_CODEC_SNDFILE:BOOL=OFF
+SNDFILE_CMAKE_BOOL= WITH_CODEC_SNDFILE
SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile
-TIFF_CMAKE_ON= -DWITH_IMAGE_TIFF:BOOL=ON
-TIFF_CMAKE_OFF= -DWITH_IMAGE_TIFF:BOOL=OFF
+TIFF_CMAKE_BOOL= WITH_IMAGE_TIFF
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
-XINPUT_CMAKE_ON= -DWITH_X11_XINPUT:BOOL=ON
-XINPUT_CMAKE_OFF= -DWITH_X11_XINPUT:BOOL=OFF
+XINPUT_CMAKE_BOOL= WITH_X11_XINPUT
XINPUT_USE= XORG=xi
-XF86VMODE_CMAKE_ON= -DWITH_X11_XF86VMODE:BOOL=ON
-XF86VMODE_CMAKE_OFF= -DWITH_X11_XF86VMODE:BOOL=OFF
+XF86VMODE_CMAKE_BOOL= WITH_X11_XF86VMODE
XF86VMODE_USE= XORG=xi,xxf86vm
-.include <bsd.port.options.mk>
-
.if defined(WITH_DEBUG)
CMAKE_ARGS+= -DWITH_GHOST_DEBUG:BOOL=ON
.endif