view src/vtk.mk @ 5571:b19fb3ed330c

use cmake command line to set build shared/static options (bug #59373) * Makefile.in (CMAKE_BUILD_SHARED_OR_STATIC): New variable. (build-cmake-toolchain-file): Don't define BUILD_SHARED_LIBS or BUILD_STATIC_LIBS in the toolchain file. * armadillo.mk, cgal.mk, cmake.mk, cminpack.mk, double-conversion.mk, eigen.mk, gdcm.mk, gl2ps.mk, hdf5.mk, lapack.mk, libical.mk, libproxy.mk, of-dicom.mk, openal.mk, opencv.mk, openexr.mk, openscenegraph.mk, physfs.mk, qhull.mk, qjson.mk, rapidjson.mk, suitesparse.mk, sundials-ida.mk, taglib.mk, vigra.mk, vmime.mk, vtk.mk, wt.mk: Use $(CMAKE_BUILD_SHARED_OR_STATIC) on the cmake command line.
author John W. Eaton <jwe@octave.org>
date Fri, 30 Oct 2020 10:06:00 -0400
parents d862fd40cc42
children
line wrap: on
line source

# This file is part of MXE.
# See index.html for further information.

PKG             := vtk
$(PKG)_IGNORE   :=
$(PKG)_VERSION  := 5.8.0
$(PKG)_CHECKSUM := ece52f4fa92811fe927581e60ecb39a8a5f68cd9
$(PKG)_SUBDIR   := VTK
$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
$(PKG)_URL      := http://www.vtk.org/files/release/5.8/$($(PKG)_FILE)
$(PKG)_DEPS     := qt expat freetype jpeg libxml2 libpng tiff zlib libodbc++ postgresql

define $(PKG)_UPDATE
    $(WGET) -q -O- 'http://vtk.org/gitweb?p=VTK.git;a=tags' | \
    grep 'refs/tags/v[0-9.]*"' | \
    $(SED) 's,.*refs/tags/v\(.*\)".*,\1,g;' | \
    head -1
endef

define $(PKG)_BUILD

    # first we need a native build to create the compile tools
    mkdir '$(1)/native_build'
    cd '$(1)/native_build' && cmake \
        $(CMAKE_CCACHE_FLAGS) \
        $(CMAKE_BUILD_SHARED_OR_STATIC) \
        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_NATIVE_TOOLCHAIN_FILE)' \
        -DBUILD_TESTING=FALSE \
        -DOPENGL_INCLUDE_DIR='$(1)/Utilities/ParseOGLExt/headers' \
        -DVTK_USE_RENDERING=FALSE \
        ..

    # only the newly created CompileTools target need to be built
    $(MAKE) -C '$(1)/native_build' -j '$(JOBS)' VERBOSE=1 CompileTools

    # DirectX is detected on Mac OSX but requires a DX10 header - dxgi.h
    rm '$(1)/CMake/FindDirectX.cmake'

    # now for the cross compilation
    mkdir '$(1)/cross_build'
    cd '$(1)/cross_build' && cmake \
        -C '$(1)/TryRunResults.cmake'\
        $(CMAKE_CCACHE_FLAGS) \
        $(CMAKE_BUILD_SHARED_OR_STATIC) \
        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)'\
        -DBUILD_TESTING=FALSE\
        -DVTKCompileTools_DIR='$(1)/native_build'\
        -DVTK_USE_SYSTEM_EXPAT=TRUE\
        -DVTK_USE_SYSTEM_FREETYPE=TRUE\
        -DVTK_USE_SYSTEM_JPEG=TRUE\
        -DVTK_USE_SYSTEM_LIBXML2=TRUE\
        -DVTK_USE_SYSTEM_PNG=TRUE\
        -DVTK_USE_SYSTEM_TIFF=TRUE\
        -DVTK_USE_SYSTEM_ZLIB=TRUE\
        -DVTK_USE_QT=TRUE\
        -DVTK_USE_POSTGRES=TRUE\
        -DVTK_USE_ODBC=TRUE\
        ..

    $(MAKE) -C '$(1)/cross_build' -j '$(JOBS)' install VERBOSE=1
endef