85 lines
3.2 KiB
Bash
Executable File
85 lines
3.2 KiB
Bash
Executable File
|
|
HOST=$(uname)
|
|
|
|
mkdir -p build
|
|
cd build
|
|
|
|
if [[ ${FEATURE_DEBUG} = 1 ]]; then
|
|
BUILD_TYPE="Debug"
|
|
else
|
|
BUILD_TYPE="Release"
|
|
fi
|
|
|
|
declare -a CMAKE_PLATFORM_FLAGS
|
|
|
|
if [[ ${HOST} =~ "Linux" ]]; then
|
|
echo "adding hacks for linux"
|
|
# temporary workaround for vtk-cmake setup
|
|
# should be applied @vtk-feedstock
|
|
sed -i 's#/home/conda/feedstock_root/build_artifacts/vtk_.*_build_env/x86_64-conda_cos6-linux-gnu/sysroot/usr/lib.*;##g' ${PREFIX}/lib/cmake/vtk-8.2/Modules/vtkhdf5.cmake
|
|
# temporary workaround for qt-cmake:
|
|
sed -i 's|_qt5gui_find_extra_libs(EGL.*)|_qt5gui_find_extra_libs(EGL "EGL" "" "")|g' $PREFIX/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
|
|
sed -i 's|_qt5gui_find_extra_libs(OPENGL.*)|_qt5gui_find_extra_libs(OPENGL "GL" "" "")|g' $PREFIX/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
|
|
CMAKE_PLATFORM_FLAGS+=(-DCMAKE_TOOLCHAIN_FILE="${RECIPE_DIR}/cross-linux.cmake")
|
|
fi
|
|
|
|
|
|
if [[ ${HOST} =~ "Darwin" ]]; then
|
|
# add hacks for osx here!
|
|
echo "adding hacks for osx"
|
|
#ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
|
|
|
|
# install space-mouse
|
|
if [ ! -d "/Library/Frameworks/3DconnexionClient.framework" ]; then
|
|
echo "Installing 3D connexion space mouse drivers."
|
|
curl -o /tmp/3dFW.dmg -L 'https://download.3dconnexion.com/drivers/mac/10-6-6_360DF97D-ED08-4ccf-A55E-0BF905E58476/3DxWareMac_v10-6-6_r3234.dmg'
|
|
hdiutil attach -readonly /tmp/3dFW.dmg
|
|
sudo installer -package /Volumes/3Dconnexion\ Software/Install\ 3Dconnexion\ software.pkg -target /
|
|
diskutil eject /Volumes/3Dconnexion\ Software
|
|
fi
|
|
CMAKE_PLATFORM_FLAGS+=(-DFREECAD_USE_3DCONNEXION:BOOL=ON)
|
|
CMAKE_PLATFORM_FLAGS+=(-D3DCONNEXIONCLIENT_FRAMEWORK:FILEPATH="/Library/Frameworks/3DconnexionClient.framework")
|
|
fi
|
|
|
|
cmake \
|
|
-G "Ninja" \
|
|
-D BUID_WITH_CONDA:BOOL=ON \
|
|
-D CMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
|
-D CMAKE_INSTALL_PREFIX:FILEPATH=$PREFIX \
|
|
-D CMAKE_PREFIX_PATH:FILEPATH=$PREFIX \
|
|
-D CMAKE_LIBRARY_PATH:FILEPATH=$PREFIX/lib \
|
|
-D CMAKE_INSTALL_LIBDIR:FILEPATH=$PREFIX/lib \
|
|
-D CMAKE_INCLUDE_PATH:FILEPATH=$PREFIX/include \
|
|
-D BUILD_QT5:BOOL=ON \
|
|
-D FREECAD_USE_OCC_VARIANT="Official Version" \
|
|
-D OCC_INCLUDE_DIR:FILEPATH=$PREFIX/include \
|
|
-D USE_BOOST_PYTHON:BOOL=OFF \
|
|
-D FREECAD_USE_PYBIND11:BOOL=ON \
|
|
-D BUILD_ENABLE_CXX11:BOOL=ON \
|
|
-D SMESH_INCLUDE_DIR:FILEPATH=$PREFIX/include/smesh \
|
|
-D FREECAD_USE_EXTERNAL_SMESH=ON \
|
|
-D BUILD_FLAT_MESH:BOOL=ON \
|
|
-D BUILD_WITH_CONDA:BOOL=ON \
|
|
-D PYTHON_EXECUTABLE:FILEPATH=$PREFIX/bin/python \
|
|
-D BUILD_FEM_NETGEN:BOOL=ON \
|
|
-D OCCT_CMAKE_FALLBACK:BOOL=OFF \
|
|
-D FREECAD_USE_QT_DIALOG:BOOL=ON \
|
|
-D BUILD_DYNAMIC_LINK_PYTHON:BOOL=OFF \
|
|
-D Boost_NO_BOOST_CMAKE:BOOL=ON \
|
|
-D FREECAD_USE_PCL:BOOL=ON \
|
|
-D INSTALL_TO_SITEPACKAGES:BOOL=ON \
|
|
${CMAKE_PLATFORM_FLAGS[@]} \
|
|
..
|
|
|
|
if [ $? != 0 ]; then
|
|
echo "CMake failed to configure."
|
|
exit 1
|
|
fi
|
|
|
|
echo "FREECAD_USE_3DCONNEXION=${FREECAD_USE_3DCONNEXION}"
|
|
|
|
ninja install
|
|
rm -r ${PREFIX}/share/doc/FreeCAD # smaller size of package!
|
|
mv ${PREFIX}/bin/FreeCAD ${PREFIX}/bin/freecad
|
|
mv ${PREFIX}/bin/FreeCADCmd ${PREFIX}/bin/freecadcmd
|