Han pasado muchas cosas en la tierra de SFML desde que creé mi Serie de tutoriales de SFML y me decidí a comprobar lo que hay de nuevo. Resulta que estoy en mi Macbook, por lo que Visual Studio no era una opción. Es hora de una pequeña confesión… Odio Xcode, especialmente para el desarrollo de C++. Simplemente encuentro que es un desastre francamente desagradable, desorganizado y poco intuitivo, y C ++ es un ciudadano de tercera clase. Las alternativas como Código::Bloques realmente nunca me atrajo, y Creador Qt siempre parece hacerte saltar medio centenar de pasos adicionales.
Agradecidamente CLión, un IDE de C++ multiplataforma de JetBrains, los creadores de IntelliJ, se lanzó recientemente. Así que decidí matar dos pájaros de un tiro… vea las novedades de SFML y evalúe CLion, todo al mismo tiempo. Esto implica configurar el entorno de desarrollo y probablemente el área donde la mayoría de los nuevos desarrolladores de juegos de C++ caen de bruces.
Entonces, si está interesado en desarrollar usando SFML en Mac usando CLion… ¡esta publicación es para usted! Vamos a recorrer la instalación de SFML y la configuración de su primer proyecto.
Instalación de SFML
Primero necesitamos descargar e instalar SFML. Hay dos maneras de hacer esto… primero puedes dirigirte a Página de descargas de SFMLdescargue el paquete zip de Mac OS, extráigalo y copie los archivos en las ubicaciones especificadas en el archivo Léame…
… o puedes usar cerveza casera. Esto es lo que hice. Asumiendo que tienes homebrew instalado, en una terminal simplemente escribe:
actualización de cerveza
preparar cerveza instalar sfml
En teoría, esto descargará e instalará todas las partes necesarias de SFML. En teoria. Si falla, vuelva al proceso manual.
Creación de un nuevo proyecto en CLion
Voy a asumir que en este punto ya tienes CLion instalado. Si no, está disponible aquí y se puede instalar como una prueba de 30 días.
Una vez instalado, inicie CLion, es hora de que creemos un nuevo proyecto.
Seleccionar nuevo proyecto

Nombra como y donde quieras, solo asegúrate de recordar la ubicación.

En el panel Proyecto, busque CMakeList.txt y haga doble clic en él. Este archivo es básicamente su archivo de proyecto basado en CMake, que CLion usa para su formato de proyecto, al igual que SFML.
CMakeList.txt se abrirá en el editor, reemplácelo con el siguiente texto:
cmake_minimum_required(VERSION 3.2) project(SFMLDemo) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES main.cpp) add_executable(SFMLDemo ${SOURCE_FILES}) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules") find_package(SFML REQUIRED system window graphics network audio) if (SFML_FOUND) include_directories(${SFML_INCLUDE_DIR}) target_link_libraries(SFMLDemo ${SFML_LIBRARIES}) endif()
Si vas a estropearla, esta es la parte que estropearás. Permítanme señalar las partes críticas aquí.

Asegúrese de que el nombre de su proyecto esté configurado correctamente en todas las casillas que puse en rojo. También asegúrese de que su directorio cmake_modules esté configurado correctamente…
Ah, sí, sobre eso… haz un directorio llamado cmake_modules. tenemos que copiar Este archivo (FindSFML.cmake) en esa carpeta. Asegúrese de guardar como Raw si descarga desde Github y asegúrese de que la extensión se mantenga como cmake, no cmake.txt como se encuentra que hace Mac OS. O simplemente puede crear un nuevo archivo llamado FindSFML.cmake en CLion y copiar/pegar el contenido. La elección es tuya, pero al final tu proyecto debería verse así:

Creación de una configuración de ejecución
Ahora estamos listos para ejecutar nuestra aplicación. Seleccione el menú Ejecutar->Editar configuración…

Asegúrese de establecer el directorio de trabajo en la carpeta de su proyecto (o donde sea que vaya a colocar los activos), y elija su proyecto como ejecutable, luego presione Aplicar/Aceptar.
Ahora debería poder ejecutar su aplicación usando el menú desplegable en la parte superior de CLion, así:

Use el ícono de reproducción para ejecutar, el ícono de error para depurar.
La aplicación predeterminada debería ejecutarse y deberíamos ver:

Ahora intentemos con algún código SFML real. Reemplace el contenido de main.cpp con lo siguiente:
#include <SFML/Graphics.hpp> int main() { sf::RenderWindow window(sf::VideoMode(640,480,32),"Hello SFML"); sf::Font font; font.loadFromFile("OpenSans-Bold.ttf"); sf::Text text("Hello World",font,11); text.setCharacterSize(32); text.setPosition(window.getSize().x/2 - text.getGlobalBounds().width/2, window.getSize().y/2 - text.getGlobalBounds().height/2); while(window.isOpen()){ sf::Event event; while(window.pollEvent(event)) { if(event.type == sf::Event::Closed){ window.close(); } window.clear(sf::Color::Black); window.draw(text); window.display(); } } return 0; }
Finalmente necesitamos el archivo rtf usado en este ejemplo, lo descargué de aquí mismoy copió el archivo OpenSans-Bold.ttf a la raíz de nuestro directorio de proyectos. Es importante que coincida con el directorio de ejecución que especificó anteriormente. Cuando se ejecute, ahora debería ver:

Ahí lo tienes, un proyecto SFML completamente configurado, realmente para ejecutar en MacOS, ¡sin un Xcode a la vista! Sin embargo, hay una cosa a tener en cuenta… ahora mismo la línea:
find_package(SFML REQUIRED system window graphics network audio)
Se vincula en cada módulo SFML, sea necesario o no.