Esta página describe cómo compilar el código fuente de FreeCAD en macOS. Para otras plataformas, consulte Compilación.
La forma más sencilla y actualizada de crear un entorno de desarrollo es mediante Pixi. Consulte aquí para obtener instrucciones sobre cómo usar esta herramienta. A continuación, encontrará otros métodos con distintos niveles de dificultad.
Estas instrucciones se han probado en macOS Catalina con Xcode 11.6 estándar. Se sabe que funcionan en macOS Big Sur Beta con Xcode 12.0 beta. Si planea usar Xcode Beta, asegúrese de descargar el complemento Command Line Tools mediante un paquete .dmg para solucionar algunos problemas de dependencia de libz.
Esta página sirve como punto de partida rápido y no pretende ser exhaustiva en lo que respecta a la descripción de todas las opciones de configuración disponibles.
Si solo quiere evaluar la última versión preliminar de FreeCAD, puede descargar los binarios precompilados desde aquí.
Para que el proceso de compilación sea compatible, es necesario instalar el siguiente software.
Homebrew es un gestor de paquetes basado en línea de comandos para macOS. La página principal de Homebrew (https://brew.sh/) proporciona una línea de comandos de instalación que simplemente debes pegar en una ventana de terminal.
CMake es una herramienta de compilación que genera una configuración de compilación basada en las variables que especifique. Luego, ejecute el comando 'make' para compilar dicha configuración. La versión de línea de comandos de CMake se instala automáticamente como parte de la instalación de Homebrew, mencionada anteriormente. Si prefiere usar una versión gráfica de CMake, puede descargarla desde [1].
FreeCAD mantiene un paquete Homebrew que instala las fórmulas y dependencias necesarias. Puede encontrar las instrucciones de instalación más recientes aquí: [2].
brew install puede tardar bastante, así que quizás quiera ir a buscar algo de beber. :-).
Alternativamente, puede instalar las dependencias individuales manualmente instalando los siguientes paquetes usando brew install ...:
cmakeswigboostboost-python3eigengtsvtkxerces-cqt@5 - Actualmente solo se admite Qt5; la compatibilidad con Qt6 está en desarrollo.opencascadedoxygenpkgconfigcoin3d - Tenga en cuenta que, a la fecha de redacción de este documento (noviembre de 2022), esto instalará una versión inutilizable de pyside@2 como dependencia.Hay varios paquetes que solo están disponibles cuando ha instalado el paquete freecad: debe hacerlo (brew tap freecad/freecad). Debido a algunas soluciones alternativas para errores históricos, en el momento de redactar este manual (noviembre de 2022), las versiones de PySide2 y Shiboken2 instaladas por Homebrew no se pueden usar porque fuerzan el uso de Py_Limited_API, que FreeCAD no admite. Se espera que esta solución alternativa se elimine en los próximos meses, pero mientras tanto debe usar las versiones de FreeCAD de PySide y Shiboken. Use brew install ..., e instale los siguientes paquetes:
freecad/freecad/pyside2@5.15.5freecad/freecad/shiboken2@5.15.5freecad/freecad/med-filefreecad/freecad/netgenTambién necesitará "vincular" PySide y Shiboken:
{{{1}}}
En algunos casos, los paquetes instalados por Homebrew no usan la misma versión de Python: por ejemplo, al momento de escribir esto, PySide2 usa Python 3.10, pero boost-python3 usa Python 3.11. Si bien es posible revertir la versión más reciente (de modo que en este caso boost-python3 use Python 3.10), esta es una operación avanzada y, en muchos casos, es mejor esperar una actualización del otro paquete. Si aun así desea seguir ese camino, consulte el comando "brew extract", que puede usar para extraer una fórmula a un nuevo cask (normalmente freecad/freecad). Luego, puede editar esa fórmula según sea necesario.
Deberá configurar la ruta a Qt: Qt5 es compatible actualmente, mientras que la compatibilidad con Qt6 está en desarrollo. Configure FREECAD_QT_VERSION en "Auto" o "5" para seleccionar Qt5 (el predeterminado). En la línea de comandos, utilice algo como:
{{{1}}}
En las siguientes instrucciones, las carpetas de origen y compilación se crean una al lado de la otra en:
/Users/username/FreeCAD
pero puedes usa las carpetas que quiera.
mkdir ~/FreeCAD
cd ~/FreeCAD
El siguiente comando clonará el repositorio git de FreeCAD en un directorio llamado FreeCAD-git.
git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD FreeCAD-git
Crea la carpeta de compilación.
mkdir ~/FreeCAD/build
A continuación, ejecutaremos CMake para generar la configuración de compilación. Se deben pasar varias opciones a CMake. La siguiente tabla describe las opciones y proporciona información adicional.
| Nombre | Valor | Notas |
|---|---|---|
| CMAKE_BUILD_TYPE | Release (CADENA) | Release o Debug. Debug se usa generalmente para pruebas de desarrollador, pero también puede ser necesario para pruebas y solución de problemas de usuario. |
| CMAKE_PREFIX_PATH | "/usr/local/opt/qt5152;" ... (RUTA) | Requerido para compilar con Qt5. Ver nota a continuación. También debe agregar la ruta a las bibliotecas VTK y NGLIB al archivo de configuración de CMake. |
| FREECAD_CREATE_MAC_APP | 1 (BOOL) | Crea un paquete FreeCAD.app en la ubicación especificada en CMAKE_INSTALL_PREFIX cuando se ejecuta el comando 'make install'. |
| CMAKE_INSTALL_PREFIX | "./.." (RUTA) | Ruta donde se generará el paquete FreeCAD.app. |
| FREECAD_USE_EXTERNAL_KDL | 1 (BOOL) | Obligatorio. |
| BUILD_FEM_NETGEN | 1 (BOOL) | Obligatorio si se elige compilar las herramientas FEM. |
Nota: Línea de comandos para generar CMAKE_PREFIX_PATH:
ls -d $(brew list -1 | grep qt | tail -1 | xargs brew --cellar)/*/lib/cmake
Abra la aplicación CMake y complete los campos de carpeta de origen y de compilación. En este ejemplo, sería /Users/username/FreeCAD/FreeCAD-git para el origen y /Users/username/FreeCAD/build para la compilación.
A continuación, haga clic en el botón Configurar para que aparezca la lista de opciones de configuración. Se mostrará un cuadro de diálogo donde deberá especificar el generador que desea utilizar. Déjelo en la opción predeterminada Unix Makefiles. La configuración fallará la primera vez porque hay algunas opciones que deben modificarse. Nota: Deberá marcar la casilla Avanzado para acceder a todas las opciones.
Seleccione las opciones de la tabla anterior, luego haga clic en Configurar nuevamente y luego en Generar.
Introduzca lo siguiente en la terminal:
export PREFIX_PATH="/usr/local/opt/qt5152;\
/usr/local/Cellar/nglib/v6.2.2007/Contents/Resources;\
/usr/local/Cellar/vtk@8.2/8.2.0_1/lib/cmake;"
$cd ~/FreeCAD/build
$cmake \
-DCMAKE_BUILD_TYPE="Release" \
-DBUILD_QT5=1 \
-DWITH_PYTHON3=1 \
-DCMAKE_PREFIX_PATH="$PREFIX_PATH" \
-DPYTHON_EXECUTABLE="/usr/local/bin/python3" \
-DFREECAD_USE_EXTERNAL_KDL=1 \
-DCMAKE_CXX_FLAGS='-std=c++14' \
-DBUILD_FEM_NETGEN=1 \
-DFREECAD_CREATE_MAC_APP=1 \
-DCMAKE_INSTALL_PREFIX="./.." \
../FreeCAD-git/
Finalmente, desde una terminal ejecute make para compilar y enlazar FreeCAD y generar el paquete de la aplicación.
cd ~/FreeCAD/build
make -j5 install
La opción -j especifica cuántos procesos make se ejecutarán simultáneamente. Generalmente, un proceso más el número de núcleos de la CPU es un buen valor. Sin embargo, si la compilación falla por algún motivo, es útil volver a ejecutar make sin la opción -j para poder identificar con precisión dónde se produjo el error.
Véase también Compilación - Aceleración.
Si todo ha finalizado sin errores, ahora puede iniciar FreeCAD haciendo doble clic en el archivo ejecutable en el Finder.
El desarrollo de FreeCAD avanza rápidamente; casi a diario se corrigen errores y se añaden nuevas funciones. Para obtener los últimos cambios, utilice Git para actualizar el directorio de origen (consulte Administración del código fuente) y, a continuación, vuelva a ejecutar los pasos de CMake y make descritos anteriormente. En este caso, no suele ser necesario empezar con un directorio de compilación limpio, y las compilaciones posteriores generalmente serán mucho más rápidas que la primera.
FreeCAD y Homebrew han migrado de Qt 4 a Qt 5. Tras la transición a Qt 5, Qt 4 ya no está disponible como opción para nuevas compilaciones en macOS. Python 2.7 ha quedado obsoleto en Homebrew y en las próximas versiones de macOS, y tampoco lo admitimos para compilaciones en macOS.
Si Qt4 se instaló previamente mediante brew y luego se compila con Qt5, es posible que se produzca una excepción EXC_BAD_ACCESS (SEGSEGV) al iniciar la nueva compilación de Qt5. La solución consiste en desinstalar Qt4 manualmente.
brew uninstall --ignore-dependencies --force cartr/qt4/shiboken@1.2 cartr/qt4/pyside@1.2 cartr/qt4/pyside-tools@1.2 cartr/qt4/qt-legacy-formula
"No se pudo encontrar CMAKE_Fortran_COMPILER." durante la configuración: Las versiones antiguas de FreeCAD requieren la instalación de un compilador Fortran. Con Homebrew, ejecute "brew install gcc" e intente configurar de nuevo, indicando a cmake la ruta a Fortran, por ejemplo, -DCMAKE_Fortran_COMPILER=/opt/local/bin/gfortran-mp-4.9. O, preferiblemente, utilice una versión más reciente del código fuente de FreeCAD.
Cuando se utilizan versiones de CMake anteriores a la 3.1.0, es necesario configurar manualmente la variable de CMake FREETYPE_INCLUDE_DIR_freetype2, por ejemplo, /usr/local/include/freetype2.
FreeCAD se puede compilar con la última versión maestra de Git alojada en GitHub y ejecutarse desde la línea de comandos utilizando las bibliotecas proporcionadas por el repositorio homebrew-freecad. Para obtener una lista completa de las instrucciones de compilación, consulte aquí.