blob: 5e950450dbcc7d896d28d0dcac35da2d87bc3e7d [file] [log] [blame] [edit]
# Maintainer: Rafal Brzegowy <rafal.brzegowy@yahoo.com>
_realname=opencascade
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=7.5.0
_pkgver2=V7_5_0
pkgrel=1
pkgdesc='Open CASCADE Technology, 3D modeling & numerical simulation (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
depends=("${MINGW_PACKAGE_PREFIX}-tk"
"${MINGW_PACKAGE_PREFIX}-tcl"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-intel-tbb"
"${MINGW_PACKAGE_PREFIX}-freeimage"
"${MINGW_PACKAGE_PREFIX}-vtk"
"${MINGW_PACKAGE_PREFIX}-ffmpeg"
"${MINGW_PACKAGE_PREFIX}-rapidjson"
"${MINGW_PACKAGE_PREFIX}-openvr")
makedepends=("${MINGW_PACKAGE_PREFIX}-qt5"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-doxygen")
license=('custom')
url='https://www.opencascade.org'
source=("opencascade-${pkgver}.tgz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/${_pkgver2};sf=tgz"
"0001-fix-compile-openvr.patch")
md5sums=('c3085cc8da488a645e90da8be7aff1b6'
'SKIP')
prepare() {
cd "${srcdir}"/occt-${_pkgver2}
patch -p1 -i "${srcdir}"/0001-fix-compile-openvr.patch
}
build() {
local common_config
common_config=(
-DUSE_D3D=1
-D3RDPARTY_DIR="${MINGW_PREFIX}"
-D3RDPARTY_TK_DIR="${MINGW_PREFIX}"
-D3RDPARTY_TCL_DIR="${MINGW_PREFIX}"
-D3RDPARTY_FREETYPE_DIR="${MINGW_PREFIX}"
-D3RDPARTY_FREEIMAGE_DIR="${MINGW_PREFIX}"
-D3RDPARTY_FFMPEG_DIR="${MINGW_PREFIX}"
-D3RDPARTY_RAPIDJSON_DIR="${MINGW_PREFIX}"
-D3RDPARTY_OPENVR_DIR="${MINGW_PREFIX}"
-D3RDPARTY_TK_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_TK_DLL="${MINGW_PREFIX}/bin/tk86.dll"
-D3RDPARTY_TK_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_TCL_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_TCL_DLL="${MINGW_PREFIX}/bin/tcl86.dll"
-D3RDPARTY_TCL_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_FREETYPE_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_FREETYPE_DLL="${MINGW_PREFIX}/bin/libfreetype-6.dll"
-D3RDPARTY_FREETYPE_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-DUSE_FFMPEG=1
-D3RDPARTY_FFMPEG_DLL_DIR_avformat="${MINGW_PREFIX}/bin/"
-D3RDPARTY_FFMPEG_DLL_avformat="${MINGW_PREFIX}/bin/avformat-58.dll"
-D3RDPARTY_FFMPEG_LIBRARY_DIR_avformat="${MINGW_PREFIX}/lib/"
-D3RDPARTY_FFMPEG_DLL_DIR_avutil="${MINGW_PREFIX}/bin/"
-D3RDPARTY_FFMPEG_DLL_avutil="${MINGW_PREFIX}/bin/avutil-56.dll"
-D3RDPARTY_FFMPEG_LIBRARY_DIR_avutil="${MINGW_PREFIX}/lib/"
-D3RDPARTY_FFMPEG_DLL_DIR_avcodec="${MINGW_PREFIX}/bin/"
-D3RDPARTY_FFMPEG_DLL_avcodec="${MINGW_PREFIX}/bin/avcodec-58.dll"
-D3RDPARTY_FFMPEG_LIBRARY_DIR_avcodec="${MINGW_PREFIX}/lib/"
-D3RDPARTY_FFMPEG_DLL_DIR_swscale="${MINGW_PREFIX}/bin/"
-D3RDPARTY_FFMPEG_DLL_swscale="${MINGW_PREFIX}/bin/swscale-5.dll"
-D3RDPARTY_FFMPEG_LIBRARY_DIR_swscale="${MINGW_PREFIX}/lib"
-DUSE_FREEIMAGE=1
-D3RDPARTY_FREEIMAGE_DLL_DIR_freeimage="${MINGW_PREFIX}/bin/"
-D3RDPARTY_FREEIMAGE_DLL_freeimage="${MINGW_PREFIX}/bin/libfreeimage-3.dll"
-D3RDPARTY_FREEIMAGE_LIBRARY_DIR_freeimage="${MINGW_PREFIX}/lib/"
-DUSE_OPENVR=1
-D3RDPARTY_OPENVR_DLL_DIR_openvr_api="${MINGW_PREFIX}/bin/"
-D3RDPARTY_OPENVR_DLL_openvr_api="${MINGW_PREFIX}/bin/libopenvr_api.dll"
-D3RDPARTY_OPENVR_LIBRARY_DIR_openvr_api="${MINGW_PREFIX}/lib/"
-DUSE_RAPIDJSON=1
-DUSE_TBB=0
-D3RDPARTY_TBB_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_TBB_DLL="${MINGW_PREFIX}/bin/tbb.dll"
-D3RDPARTY_TBB_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_TBB_LIBRARY="${MINGW_PREFIX}/lib/libtbb.dll.a"
-D3RDPARTY_TBBMALLOC_DLL_DIR="${MINGW_PREFIX}/bin/"
-D3RDPARTY_TBBMALLOC_DLL="${MINGW_PREFIX}/bin/tbbmalloc.dll"
-D3RDPARTY_TBBMALLOC_LIBRARY_DIR="${MINGW_PREFIX}/lib/"
-D3RDPARTY_TBBMALLOC_LIBRARY="${MINGW_PREFIX}/lib/libtbbmalloc.dll.a"
-DUSE_VTK=1
)
#Static Build
[[ -d "${srcdir}/build-${MINGW_CHOST}-static" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-static"
mkdir -p "${srcdir}/build-${MINGW_CHOST}-static" && cd "${srcdir}/build-${MINGW_CHOST}-static"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-G"MSYS Makefiles" \
-DCMAKE_BUILD_TYPE="Release" \
-DINSTALL_DIR_LAYOUT="Unix" \
-DBUILD_LIBRARY_TYPE="Static" \
"${common_config[@]}" \
-D3RDPARTY_TK_LIBRARY="${MINGW_PREFIX}/lib/libtk86.a" \
-D3RDPARTY_TCL_LIBRARY="${MINGW_PREFIX}/lib/libtcl86.a" \
-D3RDPARTY_FREETYPE_LIBRARY="${MINGW_PREFIX}/lib/libfreetype.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avformat="${MINGW_PREFIX}/lib/libavformat.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avutil="${MINGW_PREFIX}/lib/libavutil.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avcodec="${MINGW_PREFIX}/lib/libavcodec.a" \
-D3RDPARTY_FFMPEG_LIBRARY_swscale="${MINGW_PREFIX}/lib/libswscale.a" \
-D3RDPARTY_FREEIMAGE_LIBRARY="${MINGW_PREFIX}/lib/libfreeimage.a" \
-D3RDPARTY_OPENVR_LIBRARY_openvr_api="${MINGW_PREFIX}/lib/libopenvr_api.a" \
../occt-${_pkgver2}
${MINGW_PREFIX}/bin/cmake --build .
#Shared Build
[[ -d "${srcdir}/build-${MINGW_CHOST}-shared" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-shared"
mkdir -p "${srcdir}/build-${MINGW_CHOST}-shared" && cd "${srcdir}/build-${MINGW_CHOST}-shared"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-G"MSYS Makefiles" \
-DCMAKE_BUILD_TYPE="Release" \
-DINSTALL_DIR_LAYOUT="Unix" \
-DBUILD_LIBRARY_TYPE="Shared" \
"${common_config[@]}" \
-D3RDPARTY_TK_LIBRARY="${MINGW_PREFIX}/lib/libtk86.dll.a" \
-D3RDPARTY_TCL_LIBRARY="${MINGW_PREFIX}/lib/libtcl86.dll.a" \
-D3RDPARTY_FREETYPE_LIBRARY="${MINGW_PREFIX}/lib/libfreetype.dll.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avformat="${MINGW_PREFIX}/lib/libavformat.dll.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avutil="${MINGW_PREFIX}/lib/libavutil.dll.a" \
-D3RDPARTY_FFMPEG_LIBRARY_avcodec="${MINGW_PREFIX}/lib/libavcodec.dll.a" \
-D3RDPARTY_FFMPEG_LIBRARY_swscale="${MINGW_PREFIX}/lib/libswscale.dll.a" \
-D3RDPARTY_FREEIMAGE_LIBRARY="${MINGW_PREFIX}/lib/libfreeimage.dll.a" \
-D3RDPARTY_OPENVR_LIBRARY_openvr_api="${MINGW_PREFIX}/lib/libopenvr_api.dll.a" \
../occt-${_pkgver2}
${MINGW_PREFIX}/bin/cmake --build .
}
package() {
#Static Install
cd "${srcdir}/build-${MINGW_CHOST}-static"
DESTDIR=${pkgdir} cmake --build . --target install
#Shared Install
cd "${srcdir}/build-${MINGW_CHOST}-shared"
DESTDIR=${pkgdir} cmake --build . --target install
install -Dm644 ${srcdir}/occt-${_pkgver2}/LICENSE_LGPL_21.txt ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}