CMake ile GLUT OpenGL Projesi Oluşturma

By | 18 Ekim 2015

Bu dönem aldığım bilgisayar grafikleri dersi için OpenGL öğreniyorum ve dersin projesini hiç sevmeye sevmeye GLUT ile yapmak zorundayım. (GLFW kullanmak daha rahat bana sorarsanız.) Dolayısıyla, C++ kullanarak rahatça OpenGL denemeleri yapabileceğim düzgün bir proje ortamı hazırlamam gerekti. Bu noktada ise en temiz çözümü CMake sağlıyor zira CMake ile derlenebilen projeler çok düzgün hata çıktıları veriyor ve en ideal Makefile dosyalarını otomatik olarak oluşturuyor.

Sistemi hazırlamak için, öncelikle gerekli paketleri kurun (Debian/Ubuntu):

Ardından hızlıca bir CMake projesi oluşturmak için, CMakeLists.txt adlı bir dosya oluşturun ve içine alttakileri kopyalayın:


Satır satır açıklama:

  • Proje için gerekli olan CMake’in minimum sürümünü (versiyonunu) belirliyoruz. Eğer çok fantastik şeyler peşinde değilseniz, mümkün olduğunda düşük yapın.
  • Proje adı. Keyfinize göre isim verin. Genellikle bulunduğu klasörün ismini alması idealdir.
  • OpenGL’in CMake dosyaları içe aktarılıyor.
  • GLUT’ın CMake dosyaları içe aktarılıyor.
  • OpenGL ve GLUT’ın başlık (header) dosyalarının konumları içe aktarılıyor. Eğer bunlar zaten işletim sisteminin kayıtlı konumlarda ise bunu yapmanıza gerek yoktur, otomatik ayarlanır. Yine de garantiye alıp yazın.
  • app adında, main.cpp dosyasından oluşturulan bir çalıştırılabilir dosya oluşturuyoruz. Derlenen program app adlı dosya olacak. (Başka cpp dosyaları da kullanıyorsanız, buraya ekleyin.)
  • Derlemeden önce, gerekli kütüphaneler bağlanıyor. Buradaki çalıştırılabilir dosya ismi üsttekiyle aynı olmak zorunda.

Sonrasında örnek bir C++ kodu ile sistemin çalışıp çalışmadığını test edelim. main.cpp adlı bir dosya oluşturun, içine alttakileri kopyalayın ve CMakeList.txt dosyasıyla aynı klasöre koyun.


Makefile dosyanızı oluşturmak için, kodun bulunduğu klasörde şu komutu verin:


cmake komutuna argüman olarak, CMakeLists.txt dosyasının adresini değil, bulunduğu klasörü vermeniz gerekiyor. Zaten bu durumda da ”.” bulunulan klasörü işaret ediyor. Bir sıkıntı olmazsa Makefile dosyanız oluşacak. Ardından make komutunu verin ve uygulamayı derleyin:


Komutun çıktısının son kısımları, şunun gibiyse, bir sıkıntı yok demektir:


Ardından uygulamayı çalıştırın. Bir sıkıntı olmazsa, ekran görüntüsündeki gibi bir görüntü elde etmeniz lazım:

glut_opengl

 

Bir de, eğer C++11 standartlarını kullanmak istiyorsanız, CMakeLists.txt dosyasının içine girin ve project satırının hemen altına şunu ekleyin:

Bununla birlikte ekstra bir derleme zahmetine girmeden C++11 özelliklerini kullanabileceksiniz.
Iconic One Theme | Powered by Wordpress