From 97a73971e0b95b2eb45e24cf66f8ba1db76a8cbf Mon Sep 17 00:00:00 2001 From: Jeffrey Zampieron Date: Mon, 31 Aug 2020 14:35:37 -0400 Subject: [PATCH] Initial build startup works with one-shot conda script --- build_osx_conda.sh | 135 ++++++++------------------- conda/bld.bat | 55 +++++++++++ conda/build.sh | 78 ++++++++++++++++ conda/conda_build_config.yaml | 6 ++ conda/cross-linux.cmake | 16 ++++ conda/meta.yaml | 116 +++++++++++++++++++++++ conda/windows_python_interface.patch | 31 ++++++ conda/yum_requirements.txt | 6 ++ 8 files changed, 348 insertions(+), 95 deletions(-) create mode 100644 conda/bld.bat create mode 100644 conda/build.sh create mode 100644 conda/conda_build_config.yaml create mode 100644 conda/cross-linux.cmake create mode 100644 conda/meta.yaml create mode 100644 conda/windows_python_interface.patch create mode 100644 conda/yum_requirements.txt diff --git a/build_osx_conda.sh b/build_osx_conda.sh index df5dea98f7..2be554c252 100755 --- a/build_osx_conda.sh +++ b/build_osx_conda.sh @@ -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 \ No newline at end of file diff --git a/conda/bld.bat b/conda/bld.bat new file mode 100644 index 0000000000..e11a0dd4cb --- /dev/null +++ b/conda/bld.bat @@ -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 diff --git a/conda/build.sh b/conda/build.sh new file mode 100644 index 0000000000..93e598a08f --- /dev/null +++ b/conda/build.sh @@ -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 diff --git a/conda/conda_build_config.yaml b/conda/conda_build_config.yaml new file mode 100644 index 0000000000..e8bec02772 --- /dev/null +++ b/conda/conda_build_config.yaml @@ -0,0 +1,6 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- freecad dev +MACOSX_DEPLOYMENT_TARGET: # [osx] +- '10.12' # [osx] \ No newline at end of file diff --git a/conda/cross-linux.cmake b/conda/cross-linux.cmake new file mode 100644 index 0000000000..1693e03275 --- /dev/null +++ b/conda/cross-linux.cmake @@ -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) diff --git a/conda/meta.yaml b/conda/meta.yaml new file mode 100644 index 0000000000..37a5b81af6 --- /dev/null +++ b/conda/meta.yaml @@ -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 diff --git a/conda/windows_python_interface.patch b/conda/windows_python_interface.patch new file mode 100644 index 0000000000..5749162dbe --- /dev/null +++ b/conda/windows_python_interface.patch @@ -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 diff --git a/conda/yum_requirements.txt b/conda/yum_requirements.txt new file mode 100644 index 0000000000..22fa304d99 --- /dev/null +++ b/conda/yum_requirements.txt @@ -0,0 +1,6 @@ +mesa-libGL +mesa-dri-drivers +libselinux +libXdamage +libXxf86vm +libXext-devel \ No newline at end of file