Make all mentions of `spacemouse` in the code a single word (with no whitespace) so we can parse the source code more accurately to find mentions of it if necessary.
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 spacemouse 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
|