
CGAL dejó de dar soporte a Qt4 con la versión 4.7 en octubre. Pero ay, su fórmula de Homebrew no se ha actualizado para reflejar esto. En términos prácticos esto significa que no puedes usar aplicaciones Qt con CGAL, incluyendo todos los bonitos demos de GUI de CGAL que vienen listos para usar de fábrica (en su versión de Homebrew). Esto es malo si quieres construir tus propias aplicaciones de GUI, o usar los demos como tutorial o como base para tu propio código.
Recientemente pasé algún tiempo tratando de hacer funcionar el demo de Linear Cell Complex en Mac con el mínimo de complicaciones. Como ese demo requiere Qt5 y QGLViewer, el mismo procedimiento debería funcionar para muchos otros demos, así que decidí documentarlo aquí. Sin embargo, ten en cuenta que esta solución requiere que desenlaces Qt4 para poder enlazar Qt5, lo que romperá cualquier fórmula de Homebrew que dependa de qt1.
Así que, primero desenlaza Qt4 (es decir, elimina los enlaces simbólicos que Homebrew crea en /usr/local) usando:
$ brew unlink qtDespués, instala y enlaza Qt5. Como Qt5 entra en conflicto con Qt4 y por lo tanto normalmente no se pretende enlazarlo simbólicamente en /usr/local, necesitas usar --force:
$ brew install qt5
$ brew link qt5 --forceHomebrew quiere mantener su propia jerarquía en /usr/local, pero el script de CMake para Qt5 asume que los mkspecs y plugins de Qt5 son accesibles desde la carpeta raíz. Así que, crea un par de enlaces simbólicos desde la versión más reciente de Qt5 en el Cellar de Homebrew (actualmente 5.6.1-1) en /usr/local2:
ln -s /usr/local/Cellar/qt5/5.6.1-1/mkspecs /usr/local/mkspecs
ln -s /usr/local/Cellar/qt5/5.6.1-1/plugins /usr/local/pluginsDespués, modifiqué la fórmula de Homebrew para QGLViewer para cambiar su dependencia de qt a qt53. Algo similar podría hacerse para otras fórmulas que dependen de qt. Para esto, primero edita la fórmula:
$ brew edit libqglviewerY cambia depends_on "qt" a depends_on "qt5". Si no has configurado un editor de texto para Homebrew, usarás vim por defecto. Así que presiona I para cambiar al modo de inserción, cambia lo que necesites, después presiona ESC para salir del modo de inserción, y luego escribe :wq para guardar y salir.
Ahora que la fórmula ha sido modificada, puedes instalar QGLViewer (o cualquier otra fórmula que necesites) compilándola desde el código fuente usando:
$ brew install libqglviewer --build-from-sourceFinalmente, puedes descargar CGAL e instalarlo desde el código fuente. Mi forma preferida de hacer esto es ir a una carpeta apropiada en tu computadora y clonar el repositorio de CGAL:
$ git clone https://github.com/CGAL/cgal.gitLuego configurarlo usando la GUI de CMake4 y compilarlo e instalarlo usando make:
$ cmake-gui .
$ make
$ sudo make installEn la GUI de CMake deberías poder seleccionar las opciones que necesitas, incluyendo WITH_CGAL_Qt5 y WITH_demos.

Actualización 27 jul 2016: Se agregaron instrucciones para enlazar simbólicamente los mkspecs y plugins de Qt5, y una nota sobre cmake-gui.
-
Idealmente, debería ser posible compilar CGAL con un Qt5 no enlazado usando
-L/usr/local/opt/qt5/liby-I/usr/local/opt/qt5/include. Sin embargo, esto no me funciona a mí. Por favor avísame si logras hacer que esto funcione. ↩ -
Gracias a stephane-lb en https://github.com/Homebrew/legacy-homebrew/issues/29938 por el consejo. Esto podría resolverse usando las rutas de Qt de CMake, pero ay, no pude lograr que funcionaran. ↩
-
O mejor aún, haz una rama de la fórmula y cámbiala ahí. ↩
-
Para ser honestos, es bastante molesto: el paquete de CMake de Homebrew no incluye su GUI. Así que quizás quieras instalar la versión oficial .pkg (que no causa problemas de compatibilidad con Homebrew) o usar el
cmakede línea de comandos con los parámetros-Dapropiados. ↩