Initial build startup works with one-shot conda script
This commit is contained in:
committed by
wwmayer
parent
88b0277bea
commit
97a73971e0
@@ -1,105 +1,50 @@
|
||||
##!/usr/bin/env bash
|
||||
#
|
||||
# MacOS Build Script for FreeCAD using Conda.
|
||||
# This is intended for developer use.
|
||||
#
|
||||
# Copyright (c) 2020 by Jeffrey Zampieron. All rights reserved.
|
||||
#
|
||||
# License: LGPLv2.1
|
||||
#
|
||||
# References:
|
||||
# - Conda: https://conda.io/projects/conda/en/latest/user-guide/install/index.html
|
||||
# - Conda Build: https://docs.conda.io/projects/conda-build/en/latest/install-conda-build.html
|
||||
|
||||
BUILDDIR=freecad_build
|
||||
###########################################################################
|
||||
# Script wide setup.
|
||||
###########################################################################
|
||||
# The Conda environment name
|
||||
FCENV=freecad_build
|
||||
# The cmake build directory
|
||||
HOST=$(uname)
|
||||
|
||||
mkdir -p ${BUILDDIR}
|
||||
pushd ${BUILDDIR}
|
||||
|
||||
if [[ ${FEATURE_DEBUG} = 1 ]]; then
|
||||
BUILD_TYPE="Debug"
|
||||
else
|
||||
BUILD_TYPE="Release"
|
||||
fi
|
||||
|
||||
declare -a CMAKE_PLATFORM_FLAGS
|
||||
|
||||
if [[ ${HOST} =~ "Linux" ]]; then
|
||||
PREFIX=/usr/local
|
||||
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")
|
||||
CMAKE_PLATFORM_FLAGS+=(-DPYTHON_EXECUTABLE:FILEPATH=$PREFIX/bin/python)
|
||||
fi
|
||||
|
||||
|
||||
if [[ ${HOST} =~ "Darwin" ]]; then
|
||||
# add hacks for osx here!
|
||||
echo "adding hacks for osx"
|
||||
PREFIX=/usr/local
|
||||
#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
|
||||
#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
|
||||
#CMAKE_PLATFORM_FLAGS+=(-D3DCONNEXIONCLIENT_FRAMEWORK:FILEPATH="/Library/Frameworks/3DconnexionClient.framework")
|
||||
CMAKE_PLATFORM_FLAGS+=(-DFREECAD_USE_3DCONNEXION:BOOL=OFF)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DFREECAD_CREATE_MAC_APP:BOOL=ON)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DPYTHON_EXECUTABLE=/usr/local/bin/python3)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DHOMEBREW_PREFIX=${PREFIX})
|
||||
CMAKE_PLATFORM_FLAGS+=(-DHDF5_DIR:PATH=/usr/local/opt/hdf5@1.10)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5Core_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5Core)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5Network_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5Network)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5Xml_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5Xml)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5XmlPatterns_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5XmlPatterns)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5Widgets_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5Widgets)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5PrintSupport_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5PrintSupport)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5OpenGL_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5OpenGL)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5Svg_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5Svg)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5UiTools_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5UiTools)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5Concurrent_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5Concurrent)
|
||||
CMAKE_PLATFORM_FLAGS+=(-DQt5WebEngineWidgets_DIR=/usr/local/Cellar/qt5/5.15.0/lib/cmake/Qt5WebEngineWidgets)
|
||||
fi
|
||||
|
||||
cmake -G "Ninja" \
|
||||
-D BUILD_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_FEM_NETGEN:BOOL=ON \
|
||||
-D BUILD_PLOT:BOOL=OFF \
|
||||
-D BUILD_SHIP:BOOL=OFF \
|
||||
-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[@]} \
|
||||
..
|
||||
|
||||
###########################################################################
|
||||
# Conda Setup
|
||||
###########################################################################
|
||||
which conda
|
||||
if [ $? != 0 ]; then
|
||||
echo "Failed to configure with cmake."
|
||||
echo "Failed to find conda executable. Please install."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "FREECAD_USE_3DCONNEXION=${FREECAD_USE_3DCONNEXION}"
|
||||
|
||||
ninja install
|
||||
|
||||
conda activate ${FCENV}
|
||||
if [ $? != 0 ]; then
|
||||
echo "Failed to compile with ninja"
|
||||
exit 1
|
||||
echo "Failed to activate conda env: ${FCENV} ... creating"
|
||||
|
||||
conda create \
|
||||
--name ${FCENV} \
|
||||
--channel conda-forge \
|
||||
--channel defaults \
|
||||
conda-build \
|
||||
conda-forge-ci-setup=3 \
|
||||
pip
|
||||
|
||||
conda activate ${FCENV}
|
||||
if [ $? != 0 ]; then
|
||||
echo "Failed to create conda environment and activate it."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
rm -r ${PREFIX}/share/doc/FreeCAD # smaller size of package!
|
||||
mv ${PREFIX}/bin/FreeCAD ${PREFIX}/bin/freecad
|
||||
mv ${PREFIX}/bin/FreeCADCmd ${PREFIX}/bin/freecadcmd
|
||||
|
||||
conda build ./conda --channel conda-forge
|
||||
55
conda/bld.bat
Normal file
55
conda/bld.bat
Normal file
@@ -0,0 +1,55 @@
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
if "%FEATURE_DEBUG%"=="1" (
|
||||
set BUILD_TYPE="Debug"
|
||||
echo "#! building debug package !#") else (
|
||||
set BUILD_TYPE="Release")
|
||||
|
||||
|
||||
set "CFLAGS= "
|
||||
set "CXXFLAGS= "
|
||||
set "LDFLAGS_SHARED= ucrt.lib"
|
||||
|
||||
cmake -G "Ninja" ^
|
||||
-D BUID_WITH_CONDA:BOOL=ON ^
|
||||
-D CMAKE_BUILD_TYPE=%BUILD_TYPE% ^
|
||||
-D FREECAD_LIBPACK_USE:BOOL=OFF ^
|
||||
-D CMAKE_INSTALL_PREFIX:FILEPATH=%LIBRARY_PREFIX% ^
|
||||
-D CMAKE_PREFIX_PATH:FILEPATH=%LIBRARY_PREFIX% ^
|
||||
-D CMAKE_INCLUDE_PATH:FILEPATH=%LIBRARY_PREFIX%/include ^
|
||||
-D CMAKE_LIBRARY_PATH:FILEPATH=%LIBRARY_PREFIX%/lib ^
|
||||
-D CMAKE_INSTALL_LIBDIR:FILEPATH=%LIBRARY_PREFIX%/lib ^
|
||||
-D BUILD_QT5:BOOL=ON ^
|
||||
-D NETGENDATA:FILEPATH=%LIBRARY_PREFIX%/include/netgen ^
|
||||
-D NGLIB_INCLUDE_DIR:FILEPATH=%LIBRARY_PREFIX%/include/netgen ^
|
||||
-D BUILD_FEM_NETGEN:BOOL=ON ^
|
||||
-D OCC_INCLUDE_DIR:FILEPATH=%LIBRARY_PREFIX%/include/opencascade ^
|
||||
-D OCC_LIBRARY_DIR:FILEPATH=%LIBRARY_PREFIX%/lib ^
|
||||
-D OCC_LIBRARIES:FILEPATH=%LIBRARY_PREFIX%/lib ^
|
||||
-D FREECAD_USE_OCC_VARIANT="Official Version" ^
|
||||
-D OCC_OCAF_LIBRARIES:FILEPATH=%LIBRARY_PREFIX%/lib ^
|
||||
-D BUILD_REVERSEENGINEERING:BOOL=ON ^
|
||||
-D USE_BOOST_PYTHON:BOOL=OFF ^
|
||||
-D FREECAD_USE_PYBIND11:BOOL=ON ^
|
||||
-D SMESH_INCLUDE_DIR:FILEPATH=%LIBRARY_PREFIX%/include/smesh ^
|
||||
-D FREECAD_USE_EXTERNAL_SMESH:BOOL=ON ^
|
||||
-D BUILD_FLAT_MESH:BOOL=ON ^
|
||||
-D BUILD_PLOT:BOOL=OFF ^
|
||||
-D BUILD_SHIP:BOOL=OFF ^
|
||||
-D OCCT_CMAKE_FALLBACK:BOOL=ON ^
|
||||
-D PYTHON_EXECUTABLE:FILEPATH=%PREFIX%/python ^
|
||||
-D BUILD_DYNAMIC_LINK_PYTHON:BOOL=ON ^
|
||||
-D Boost_NO_BOOST_CMAKE:BOOL=ON ^
|
||||
-D FREECAD_USE_PCH:BOOL=OFF ^
|
||||
-D FREECAD_USE_PCL:BOOL=ON ^
|
||||
-D INSTALL_TO_SITEPACKAGES:BOOL=ON ^
|
||||
..
|
||||
|
||||
if errorlevel 1 exit 1
|
||||
ninja install
|
||||
if errorlevel 1 exit 1
|
||||
|
||||
rmdir /s /q "%LIBRARY_PREFIX%\doc"
|
||||
ren %LIBRARY_PREFIX%\bin\FreeCAD.exe freecad.exe
|
||||
ren %LIBRARY_PREFIX%\bin\FreeCADCmd.exe freecadcmd.exe
|
||||
78
conda/build.sh
Normal file
78
conda/build.sh
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
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
|
||||
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
|
||||
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 BUILD_PLOT:BOOL=OFF \
|
||||
-D BUILD_SHIP:BOOL=OFF \
|
||||
-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[@]} \
|
||||
..
|
||||
|
||||
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
|
||||
6
conda/conda_build_config.yaml
Normal file
6
conda/conda_build_config.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
channel_sources:
|
||||
- conda-forge,defaults
|
||||
channel_targets:
|
||||
- freecad dev
|
||||
MACOSX_DEPLOYMENT_TARGET: # [osx]
|
||||
- '10.12' # [osx]
|
||||
16
conda/cross-linux.cmake
Normal file
16
conda/cross-linux.cmake
Normal file
@@ -0,0 +1,16 @@
|
||||
# this one is important
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_PLATFORM Linux)
|
||||
|
||||
# specify the cross compiler
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
||||
# where is the target environment
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{PREFIX} $ENV{BUILD_PREFIX}/$ENV{HOST}/sysroot)
|
||||
|
||||
# search for programs in the build host directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
# for libraries and headers in the target directories
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
116
conda/meta.yaml
Normal file
116
conda/meta.yaml
Normal file
@@ -0,0 +1,116 @@
|
||||
{% set name = "freecad" %}
|
||||
{% set version = "0.19.pre" %}
|
||||
{% set build_number = 142 %}
|
||||
{% set build_number = build_number + 500 %} # [FEATURE_DEBUG]
|
||||
|
||||
package:
|
||||
name: {{ name }}
|
||||
version: {{ version }}
|
||||
|
||||
source:
|
||||
git_url: https://github.com/FreeCAD/FreeCAD
|
||||
git_tag: master
|
||||
patches:
|
||||
- windows_python_interface.patch
|
||||
|
||||
|
||||
build:
|
||||
number: {{ build_number }}
|
||||
skip: true # [py < 38]
|
||||
|
||||
requirements:
|
||||
build:
|
||||
- {{ compiler("cxx") }}
|
||||
- {{ cdt('mesa-libgl-devel') }} # [linux]
|
||||
- {{ cdt('mesa-dri-drivers') }} # [linux]
|
||||
- {{ cdt('mesa-libegl-devel') }} # [linux]
|
||||
- {{ cdt('libselinux') }} # [linux]
|
||||
- {{ cdt('libxdamage') }} # [linux]
|
||||
- {{ cdt('libxfixes') }} # [linux]
|
||||
- {{ cdt('libxxf86vm') }} # [linux]
|
||||
- {{ cdt('libxcb') }} # [linux]
|
||||
- {{ cdt('libxext') }} # [linux]
|
||||
- {{ cdt('xorg-x11-server-xvfb') }} # [linux]
|
||||
- {{ cdt('libxau') }} # [linux]
|
||||
- {{ cdt('libxi-devel') }} # [linux]
|
||||
- cmake
|
||||
- ninja
|
||||
- git
|
||||
host:
|
||||
- boost-cpp
|
||||
- python
|
||||
- qt
|
||||
- occt
|
||||
- xerces-c
|
||||
- zlib
|
||||
- vtk
|
||||
- swig
|
||||
- eigen
|
||||
- pybind11
|
||||
- coin3d
|
||||
- pivy
|
||||
- pyside2
|
||||
- smesh
|
||||
- netgen 6.2.1808*
|
||||
- doxygen
|
||||
- hdf5
|
||||
- xorg-libxt # [linux]
|
||||
- freetype
|
||||
- libspnav # [linux]
|
||||
- pcl
|
||||
- six
|
||||
- ply
|
||||
- tbb-devel
|
||||
run:
|
||||
- {{ pin_compatible("pyside2") }}
|
||||
- vtk
|
||||
- occt
|
||||
- qt
|
||||
- xerces-c
|
||||
- zlib
|
||||
- boost-cpp
|
||||
- hdf5
|
||||
- python
|
||||
- coin3d
|
||||
- pivy
|
||||
- smesh
|
||||
- netgen 6.2.1808*
|
||||
- xorg-libxt # [linux]
|
||||
- freetype
|
||||
- numpy
|
||||
- six
|
||||
- pyyaml
|
||||
- libspnav # [linux]
|
||||
- pcl
|
||||
- ply
|
||||
run_constrained:
|
||||
- __osx >={{ MACOSX_DEPLOYMENT_TARGET|default("10.9") }} # [osx]
|
||||
|
||||
#test:
|
||||
# commands:
|
||||
# - FreeCADCmd -t 0
|
||||
|
||||
about:
|
||||
home: https://www.freecadweb.org/
|
||||
license: LGPL2.1
|
||||
license_family: LGPL
|
||||
license_file: LICENSE
|
||||
summary: 'FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size. '
|
||||
description: |
|
||||
FreeCAD is a general purpose feature-based, parametric 3D modeler for
|
||||
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering
|
||||
and product design but also fits a wider range of uses in engineering,
|
||||
such as architecture or other engineering specialties. It is 100% Open
|
||||
Source (LGPL2+ license) and extremely modular, allowing for very
|
||||
advanced extension and customization.
|
||||
FreeCAD is based on OpenCASCADE, a powerful geometry kernel, features an
|
||||
Open Inventor-compliant 3D scene representation model provided by the
|
||||
Coin 3D library, and a broad Python API. The interface is built with Qt.
|
||||
FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and Linux
|
||||
platforms.
|
||||
doc_url: https://www.freecadweb.org/wiki/Main_Page
|
||||
dev_url: https://github.com/FreeCAD/FreeCAD
|
||||
|
||||
extra:
|
||||
recipe-maintainers:
|
||||
- looooo
|
||||
31
conda/windows_python_interface.patch
Normal file
31
conda/windows_python_interface.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
diff --git a/src/Ext/freecad/CMakeLists.txt b/src/Ext/freecad/CMakeLists.txt
|
||||
index e03b5527e..d9004275b 100644
|
||||
--- a/src/Ext/freecad/CMakeLists.txt
|
||||
+++ b/src/Ext/freecad/CMakeLists.txt
|
||||
@@ -5,7 +5,9 @@ SET(PYTHON_MAIN_DIR ${python_libs})
|
||||
|
||||
set(NAMESPACE_INIT "${CMAKE_BINARY_DIR}/Ext/freecad/__init__.py")
|
||||
if (WIN32)
|
||||
- set(FREECAD_LIBRARY_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
|
||||
+ get_filename_component(FREECAD_LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}"
|
||||
+ REALPATH BASE_DIR "${CMAKE_INSTALL_PREFIX}")
|
||||
+ set( ${CMAKE_INSTALL_BINDIR})
|
||||
else()
|
||||
set(FREECAD_LIBRARY_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
diff --git a/src/Ext/freecad/__init__.py.template b/src/Ext/freecad/__init__.py.template
|
||||
index 68ca151a5..d5360b252 100644
|
||||
--- a/src/Ext/freecad/__init__.py.template
|
||||
+++ b/src/Ext/freecad/__init__.py.template
|
||||
@@ -12,9 +12,9 @@ except ModuleNotFoundError:
|
||||
except KeyError:
|
||||
|
||||
# 2. we use the default freecad defined for this package
|
||||
- _path_to_freecad_libdir = "${CMAKE_INSTALL_LIBDIR}"
|
||||
+ _path_to_freecad_libdir = "${FREECAD_LIBRARY_INSTALL_DIR}"
|
||||
print("PATH_TO_FREECAD_LIBDIR not specified, using default \
|
||||
-FreeCAD version in {}".format( "${FREECAD_LIBRARY_INSTALL_DIR}"))
|
||||
+FreeCAD version in {}".format("${FREECAD_LIBRARY_INSTALL_DIR}"))
|
||||
|
||||
_sys.path.append(_path_to_freecad_libdir) # this is the default version
|
||||
import FreeCAD as app
|
||||
6
conda/yum_requirements.txt
Normal file
6
conda/yum_requirements.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
mesa-libGL
|
||||
mesa-dri-drivers
|
||||
libselinux
|
||||
libXdamage
|
||||
libXxf86vm
|
||||
libXext-devel
|
||||
Reference in New Issue
Block a user