C++'ta CMake Kullanımı ve Projelerin Yapılandırılması

C++'ta CMake Kullanımı ve Projelerin Yapılandırılması

C++ programlama dilinde kullanılan CMake ile projelerinizi kolayca yapılandırabilirsiniz Bu rehberde CMake'in nasıl kullanılacağını öğrenebilirsiniz Detaylar için tıklayın

C++'ta CMake Kullanımı ve Projelerin Yapılandırılması

C++ programlama dili, birçok proje için en uygun seçeneklerden biridir. Ancak, karmaşık projelerin oluşturulması sırasında yapılandırma sürecinde birçok sorun ortaya çıkabilir. Bu noktada, CMake aracı C++ projelerinin yapılandırılması için önemli bir araçtır.

Bu makalede, CMake aracının kullanımı ve C++ projelerinin nasıl yapılandırılacağı konusuna odaklanacağız. Bu araç sayesinde projenizi farklı işletim sistemlerinde ve derleyicilerde kolayca yapılandırabilirsiniz. CMake, birçok farklı özellik sunar ve bunları kullanmak projenizi geliştirebilir ve daha ölçeklenebilir hale getirebilir.


CMake Nedir?

CMake, açık kaynak kodlu bir araçtır ve birden fazla işletim sistemi ve derleyici ile uyumludur. C++ projeleri oluşturmak için kullanılır. CMake, bir C++ projesinin derlenmesi için gereken konfigürasyon dosyalarının (Makefile, Visual Studio projeleri vb.) oluşturulmasını otomatikleştirir.

CMake, işletim sistemi ve derleyici farklılıklarından dolayı değişiklik gösteren farklı yapılandırma seçeneklerine sahiptir. Bu özellikleri, depolama yerleri, hedef platform, kaynak kodun optimize edilmesi gibi durumlara uyacak şekilde ayarlamak mümkündür.


CMake Kurulumu

CMake, birden fazla işletim sistemi ve derleyici için C++ projeleri oluşturmak için kullanılan açık kaynaklı bir araçtır. Bu nedenle, CMake aracını sisteminize kurmanız gerekmektedir. İşletim sisteminize uygun tablodan yükleme yönergelerini takip edebilirsiniz.

Windows için CMake, resmi web sitesinde bulunan yükleyiciyi kullanarak kolayca yüklenebilir. İşlem aşağıdaki adımları takip etmektedir:

Adım Açıklama
Adım 1 İnternet tarayıcınızı açın ve CMake'in resmi web sitesine gidin.
Adım 2 CMake'in web sitesinde, Download sayfasını bulun ve Download Latest Release düğmesine tıklayın.
Adım 3 İndirme sayfasında, uygun yükleyiciyi seçin ve Download düğmesine tıklayarak yükleyiciyi indirin.

Linux için CMake, çoğu dağıtımın depolarında mevcuttur ve bu yüzden yükleme işlemi oldukça kolaydır. İşlem aşağıdaki adımları takip etmektedir:

  • Dağıtımın paket yöneticisini açın.
  • CMake'i yüklemek için aşağıdaki komutu çalıştırın: sudo apt-get install cmake
  • Yükleme tamamlandıktan sonra, CMake'in doğru bir şekilde yüklendiğini kontrol edebilirsiniz. Bunun için şu komutu çalıştırın: cmake --version

Yukarıdaki adımları takip ederek, sisteminize CMake aracını başarılı bir şekilde yükleyebilirsiniz.


Windows İşletim Sistemi için CMake Kurulumu

Windows işletim sistemi kullanıcıları, CMake aracını resmi web sitesinde yer alan yükleyiciyi kullanarak kolayca yükleyebilirler. Aşağıdaki adımları takip ederek CMake'i Windows işletim sistemi için kurabilirsiniz:

İlk olarak, internet tarayıcınızı açın ve CMake'in resmi web sitesine gitmek için aşağıdaki linke tıklayın:

https://cmake.org/download/

CMake'in web sitesinde, “Download” sayfasını bulun ve “Download Latest Release” düğmesine tıklayın.

İndirme sayfasında, Windows için uygun yükleyiciyi seçin ve “Download” düğmesine tıklayarak yükleyiciyi indirin. İndirme işlemi tamamlandıktan sonra, yükleyiciyi çalıştırarak CMake'i Windows işletim sisteminize kurabilirsiniz.


Adım 1: İnternet Tarayıcısı Açma

CMake aracını kullanabilmek için öncelikle CMake aracının resmi web sitesinden indirmeniz gerekmektedir. İlk adım olarak, internet tarayıcınızı açmanız gerekmektedir. Daha sonra, CMake'in resmi web sitesine gitmek için tarayıcınızın adres çubuğuna "cmake.org" yazın ve "Enter" tuşuna basın.


Adım 2: İndirme Sayfasını Bulma

Download sayfasını bulun ve Download Latest Release düğmesine tıklayın. İndirme sayfasındaki sürüm numarasına bakarak, doğru yükleyiciyi seçtiğinizden emin olun. Eğer indirme sayfasındaki talimatları takip ederseniz, CMake yükleyicisini kolayca indirebilirsiniz. Ayrıca, CMake hakkında daha fazla bilgi edinmek isterseniz, web sitesindeki belgelere göz atabilir veya tartışma forumlarına katılabilirsiniz.

Download

=CMake aracını kullanabilmeniz için öncelikle resmi web sitesinden yükleyiciyi indirmeniz gerekmektedir. Windows işletim sistemi kullanıcıları için, CMake resmi web sitesindeki indirme sayfasından uygun yükleyiciyi seçebilirler. Linux işletim sistemi kullanıcıları ise, genellikle dağıtımlarının depolarında bulunan CMake aracını yükleyebilirler. Yükleyicinin indirilmesi tamamlandıktan sonra, CMake aracını kullanarak projelerin yapılandırması için gerekli adımları atabilirsiniz.

sayfasını bulun ve

CMake'in web sitesinde, Download sayfasını bulun ve Download Latest Release düğmesine tıklayın. Bu düğmeye tıkladığınızda, CMake'in en son sürümünün indirme sayfasına yönlendirileceksiniz.

İndirme sayfasında, işletim sisteminize uygun olan sürümü seçmeniz gerekir. Eğer Windows kullanıcısı iseniz, .exe dosyasını; Linux kullanıcısı iseniz, .tar.gz dosyasını indirmelisiniz. İndirme işlemi tamamlandığında, yükleyiciyi çalıştırarak CMake aracını sisteminize kurabilirsiniz.

Download Latest Release

En son sürümü indirerek, CMake aracının son özelliklerine sahip olabilirsiniz. CMake'in resmi web sitesinde, en son sürümü indirmek için izlemeniz gereken adımlar şunlardır:

  • Download sayfasını bulun.
  • Download Latest Release düğmesine tıklayın.

Bu adımları izleyerek, en son sürümde olan CMake yazılımını kolaylıkla indirebilirsiniz. İndirme sayfasında, uygun yükleyiciyi seçmeniz yeterli olacaktır.

düğmesine tıklayın.

İndirme sayfasında, uygun yükleyiciyi seçin ve Download düğmesine tıklayarak yükleyiciyi indirin. Windows için CMake yükleyicisi, birkaç farklı seçenek sunar. 32-bit veya 64-bit sürümleri ve çeşitli derleyicileri destekler. Hangi sürümünü indireceğinizi ve hangi derleyiciyi kullanacağınızı belirlemek için, projeniz için gereksinimlerinizi göz önünde bulundurun.


Adım 3: Yükleyiciyi İndirme

=CMake yükleyicisini indirmek için resmi web sitesinde yer alan doğru yükleyiciyi seçmeniz gerekir. İndirme sayfasında, kaynak kodu, işletim sistemi ve derleyici türüne göre uygun seçeneği seçebilirsiniz.

Aşağıdaki tabloda, farklı işletim sistemleri ve derleyici türleri için indirme seçenekleri gösterilmektedir:

İşletim Sistemi Derleyici Türü İndirme Seçeneği
Windows Visual Studio https://cmake.org/download/
Windows MinGW veya Cygwin https://cmake.org/download/
Linux veya MacOS GCC veya Clang https://cmake.org/download/

Tablodaki indirme seçeneklerinden uygun seçeneği seçtikten sonra, yükleyicinin indirme linkine tıklayarak yükleyiciyi indirebilirsiniz. CMake yükleyicisi, sisteminize göre değişebilen boyutlarda ve formatlarda sunulmaktadır.

Download

CMake aracını kullanabilmek için, öncelikle CMake aracını sisteminize yüklemeniz gerekiyor. Windows işletim sistemi için CMake, resmi web sitesinde bulunan yükleyiciyi kullanarak kolayca yüklenebilir. İndirme işlemi için öncelikle internet tarayıcınızı açın ve CMake'in web sitesine gidin. Download sayfasını bulun ve Download Latest Release düğmesine tıklayın. İndirme sayfasında uygun yükleyiciyi seçin ve Download düğmesine tıklayarak yükleyiciyi indirin. Linux işletim sistemi için ise, CMake, çoğu dağıtımın depolarında mevcuttur ve bu yüzden yükleme işlemi oldukça kolaydır. CMake aracını yükledikten sonra, CMake projesi yapısını oluşturmak için CMakeLists.txt dosyası da oluşturmanız gerekiyor.

düğmesine tıklayarak yükleyiciyi indirin.

CMake'in resmi web sitesindeki uygun yükleyiciyi seçtikten sonra, kolay bir şekilde yükleyiciyi indirebilirsiniz. İndirme sayfasındaki tüm bilgileri dikkatlice okuyun ve doğru yükleyici seçimini yapın. Ardından, Download düğmesine tıklamak suretiyle yükleyiciyi indirin. İndirme işlemi tamamlanana kadar bekleyin ve daha sonra indirilen dosyayı bilgisayarınızda bir konuma kaydedin. Artık CMake aracını kullanarak C++ projeleri üzerinde çalışmaya başlayabilirsiniz.


Linux İşletim Sistemi için CMake Kurulumu

Linux için CMake kurulumu oldukça kolaydır çünkü, CMake, çoğu Linux dağıtımının paket yöneticisi depolarında mevcuttur. Bu nedenle, CMake'i yüklemek için aşağıdaki adımları izleyebilirsiniz:

Adım Açıklama
1 Paket yöneticinizi açın. Örneğin, Ubuntu için terminal açın ve aşağıdaki komutu çalıştırın:
sudo apt-get update
2 CMake'i yükleyin. Örneğin, Ubuntu için aşağıdaki komutu kullanın:
sudo apt-get install cmake
3 CMake'in doğru şekilde yüklendiğinden emin olun. Bunun için aşağıdaki komutu kullanabilirsiniz:
cmake --version
Sonuç, yüklü CMake sürümünü gösterir.

Bazı durumlarda, paket yöneticiniz güncel bir CMake sürümü sağlamayabilir. Bu durumda, CMake'in resmi web sitesinden kaynak kodunu indirip derlemeniz gerekir.


CMake Proje Yapılandırması

CMake aracını kullanarak C++ projelerinizi yapılandırmak için, proje ana dizininde bir CMakeLists.txt dosyası oluşturmanız gerekiyor. CMakeLists.txt dosyası, proje yapısını ve cmake komutlarına ilişkin yapılandırma seçeneklerini tanımlar. CMakeLists.txt dosyasını oluşturmak için, bir örnek dosya oluşturulabilir veya örnek dosyalar CMake tarafından sağlanan belgelerde yer alır.

Bir CMake projesi oluşturmak için, CMake’in en az bir C++ kaynak kodu dosyası tanımlaması gerekiyor. Oluşturduğunuz CMakeLists.txt dosyasında, proje adı, sürüm numarası, kaynak dosyaları, hedefler ve yapılandırma seçenekleri gibi bilgileri tanımlarsınız.

Aşama Açıklama
Aşama 1: Proje ve Version Tanımlama Projede yer alan dil, dosya/vt seçimleri, optimizasyon vs. belirlemeden önce, CMake’e proje adı ve sürümünü belirten bir dosya oluşturulur.
Aşama 2: Proje Kaynak Dosyaları Tanımlama Projenin yapısını oluşturan .cpp, .h, .hpp, .ui gibi dosyaların belirlendiği bölümdür.
Aşama 3: Yapılandırma Seçeneklerinin Tanımlanması Projenin hazırlanması sırasında alınacak seçenekleri yaparız.

Bir CMakeList dosyasındaki temel yapılandırma seçeneklerinden bazıları, proje yapısını belirlemek için kullanılan, CMake’nin hedefleri oluşturmak için kullandığı belirteçlerdir. Bunlar, kaynak dosyaları, hedefler, derleme parametreleri, nesne kütüphaneleri, bağımlılıklar, vb. gibi tüm bilgileri belirleyen belirteçlerdir.

Ayrıca, CMake aracı, projenin farklı işletim sistemleri ve derleyicilerde farklı şekillerde yapılandırılabilmesine olanak tanır. Projenizin yapısını tanımlamanın yanı sıra, CMake ayrıca, proje dosyalarını yeniden yapılandırma ve güncelleme desteği de sağlar. Bu özellikler, proje geliştirme sürecinde oldukça kullanışlıdır.


Başlangıç Dosyası Oluşturma

Bir CMake projesi oluşturmak için, proje ana dizininde bir CMakeLists.txt dosyası oluşturmanız gerekir. Bu dosya, projenin ismi, sürüm numarası ve kaynak dosyalarının konumlarını içeren bir dosyadır. CMake projeleri genellikle birden fazla kaynak dosyalarına sahip olduğundan, projenin her bir kaynak dosyasının konumlarını belirlemek için CMakeLists.txt dosyası oluşturulmalıdır.

CMakeLists.txt dosyası, CMake'in yeteneklerinden yararlanmak için kullanımı kolay bir dil olan CMake dilinde yazılabilir. Bu dosyayı oluşturmak, çalışmanızın geri kalanı için temel bir adımdır ve yapacağınız hatayı önlemek için özenle yazılmalıdır.

Aşağıdaki örnek, proje adının ve sürümünün belirtilmesiyle başlar. Daha sonra, kaynak dosyalarının yeri tanımlanır ve isteğe bağlı olarak kararlaştırılacak yapılandırma seçenekleri de belirtilir.

CMakeLists.txt
cmake_minimum_required(VERSION 2.8.9)
project(sample_project)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp source1.cpp source2.cpp)
add_executable(sample_project ${SOURCE_FILES})

Bu örnek, sample_project adlı projeyi oluşturur ve main.cpp, source1.cpp ve source2.cpp dosyalarını kaynak dosyaları olarak kullanır. Ek olarak,CMAKE_CXX_STANDARD 11 yapılandırma seçeneği,C++11 standartını destekleyen bir derleyici kullanmanızı sağlar. Bu belirtilen yapılandırma özellikleri, projenin yapılandırılması sırasında kullanılan tüm seçenekleri ve özellikleri belirler.


Aşama 1: Proje ve Version Tanımlama

CMake projesini yapılandırmaya başlamadan önce, projeniz için bir ad ve sürüm belirleyen bir dosya oluşturmanız gerekiyor. Bu dosya, CMake'e projenin adını ve sürümünü sağlar ve projenizdeki diğer kaynak dosyalarına referans verir.

Genellikle bu dosya, projenizin ana dizininde yer alır ve CMakeLists.txt olarak adlandırılır. CMakeLists.txt dosyası ile projenizi yapılandırırken aşağıdaki bilgileri tanımlamanız gerekir:

Proje Adı Projenin adı, örneğin "MyProject".
Minimum CMake Sürümü Projede kullanılacak en düşük CMake sürümü.
Proje Versiyonu Projede kullanılan sürüm numarası, örneğin "1.2.0".

Bu bilgileri tanımlarken, CMake'in projenizi doğru şekilde yapılandırmasını sağlamak için doğru sözdizimini kullanmanız önemlidir.

Proje adının tanımlanması şöyle yapılır:

project(MyProject)

Sonrasında projenizi yapılandırmak için sürüm numarası tanımlaması yapmanız gerekmektedir:

set (PROJECT_VERSION_MAJOR 1)set (PROJECT_VERSION_MINOR 0)set (PROJECT_VERSION_PATCH 0)set (PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")

Bu adımların ardından, projenizi yapılandırmak için CMake kullanmaya devam edebilirsiniz.


Aşama 2: Proje Kaynak Dosyaları Tanımlama

CMake aracını kullanarak projelerinizi yapılandırmak için, projenin kaynak kodlarını belirlemeniz gerekmektedir. Bu adımda, projenizin yapısını oluşturan .cpp, .h, .hpp, .ui gibi dosyaları belirleyeceksiniz.

Kaynak dosyalarının belirlenmesi için, CMakeLists.txt dosyasında add_executable() veya add_library() komutları kullanılır.

Örneğin, bir C++ uygulamasında, add_executable() komutu, projenize dahil edilecek tüm .cpp dosyalarını seçmenizi sağlar. Komutu bir örnek ile göstermek gerekirse:

add_executable(my_app main.cpp file1.cpp file2.cpp)

Bu komut, my_app adlı bir uygulama oluşturacak ve içinde main.cpp, file1.cpp ve file2.cpp dosyalarını kullanacaktır.

Ayrıca, projenizde kullanacağınız .h, .hpp ve .ui dosyalarını da CMakeLists.txt dosyasında belirleyebilirsiniz. Bu dosyaları belirtmek için, target_include_directories() ve target_link_libraries() komutlarını kullanabilirsiniz.

Örneğin, target_include_directories() komutunu kullanarak, projenizde kullanacağınız .h ve .hpp dosyalarının dizinini belirleyebilirsiniz:

target_include_directories(my_app PUBLIC include/)

Bu komut, my_app uygulamanızın include/ dizinindeki .h ve .hpp dosyalarını kullanacağını belirtir.

Ayrıca, target_link_libraries() komutu ile projenizde kullanacağınız kütüphaneleri de belirtebilirsiniz:

target_link_libraries(my_app PUBLIC library1 library2)

Bu komut, my_app uygulamanızın library1 ve library2 kütüphanelerini kullanacağını belirtir.


Aşama 3: Yapılandırma Seçeneklerinin Tanımlanması

CMake aracını kullanarak projelerin yapılandırılması için üçüncü aşama, projenizin hazırlanması sırasında alınacak seçenekleri tanımlamaktır. Bu adımda, projenizin nasıl yapılandırılacağı hakkında bilgi verebilirsiniz. Örneğin, hedef platform seçenekleri (64 veya 32 bit), hedef dosya türleri (statik veya dinamik kütüphane gibi), dil ayarları (C++ veya C), derleyici seçenekleri ve daha fazlası belirleyebilirsiniz.

Aşama 3, CMake'in en esnek aşamalarından biridir ve projeninize özelleştirilmiş özellikler eklemenize olanak tanır. Projelerinizi daha kolay yönetebilmeniz için ayrıca CMakeCache.txt adlı özel bir dosya da oluşturulur. Bu dosya, projenizin yapılandırma seçeneklerinin depolandığı yerdir. Bu nedenle, gelecekte projenizi tekrar derleyeceğinizde, CMake size seçenekleri sorar ve kaydedilmiş seçenekleri kullanarak projenizi hızlı bir şekilde yapılandırabilirsiniz.


CMake Projesi Derleme

CMake aracını kullanarak projenizi yapılandırmaya başardıktan sonra, şimdi projenizi derleme aşamasına geçebilirsiniz. Projeyi derlemek için, inşa dizini oluşturduktan sonra make komutunu kullanmanız gerekir.

1. İnşa Dizini Oluşturma: CMake projesi yapılandırıldıktan sonra, build adında bir inşa dizini oluşturmanız gerekir. Bu klasörü projenizin ana dizininde oluşturun.

mkdir buildcd build 

2. Derleme: İnşa dizininde, make komutunu kullanarak projenizi derleyebilirsiniz.

make 

Projelerinizin derleme işlemi başarılı olduktan sonra, inşa dizinindeki executable dosyasını çalıştırabilirsiniz.


Aşama 1: İnşa Dizini Oluşturma

CMake projesi yapılandırıldıktan sonra, projenizi derlemek için bir inşa dizini oluşturmanız gerekir. CMake’in proje yapısını oluşturduğu temel kural, kaynak dosyalarını değiştirmemektir. Projeniz için inşa dizini oluşturmanız, kaynak dosyalarınızı koruyarak projenizin güvenli bir şekilde derlenmesini sağlar.

Inşa dizini, proje kaynak kodlarını, derlenmiş dosyaları ve diğer oluşturulan öğeleri içeren bir dizindir. İnşa işlemi sırasında dosyalar bu klasöre kopyalanır ve burada derleme gerçekleştirilir. İnşa dizini oluşturmak, projeyi derlemeye hazırlar ve bu nedenle bu adım oldukça önemlidir.

Inşa dizinini oluşturmak için aşağıdaki adımları takip edebilirsiniz:

  • CMake'in yapılandırma dosyasının olduğu dizine gidin.
  • Linux için,
    mkdir build
    komutunu çalıştırarak bir inşa dizini oluşturun.
  • Windows için, CMake GUI aracını kullanarak bir inşa dizini belirleyin.
  • İnşa dizinine geçin ve cmake .. komutunu çalıştırın. Bu, CMake'in yapılandırma dosyasını kullanarak inşa dizinini hazırlayacaktır.

Bu adımları takip ettikten sonra, projenizi derlemek için inşa dizini hazır hale gelecektir.


Aşama 2: Derleme

CMake aracını kullanarak projenizi yapılandırdıktan sonra, projenizi derlemek için inşa dizininde makekomutunu kullanabilirsiniz. Bu komut, projenin CMakeLists.txt dosyasında tanımlanan hedeflerine bakarak projenizi derler. Ayrıca, makeiçindeki -j parametresi, paralel olarak derlenmesini sağlayarak derlemenin hızını artırabilir. Örneğin make -j4, projenin 4 iş parçacığında derlenmesini sağlar.

Derleme işlemi, proje dosyaları ve bazı dış bağımlılıkları içeren bir builddizini oluşturur. Bu dizin, yapılan değişikliklere bağlı olarak yeniden derleme yapmak için kullanılabilir. Ayrıca, CMake projelerini derlemek için kullanılan diğer araçlar da mevcuttur, ancak makekomutu genellikle en çok tercih edilenidir.

make

CMake aracını kullanarak projenizi yapılandırdıktan sonra, projenizi derlemek için makekomutunu kullanabilirsiniz. Bu komut, proje için gerekli olan tüm dosyaların derlenmesini sağlar. Derlenen dosyalar genellikle bir makefileadlı dosyada saklanır ve proje kodlarındaki değişiklikler durumunda, bu dosyanın güncellenmesi gerekebilir.

Makefile, projenin derlenme sürecini yönetir ve derleme zamanlarını optimize etme konusunda oldukça faydalıdır. Ayrıca, Makefile'e eklenen belirli kurulum talimatları, proje kullanımını kolaylaştırabilir.

komutu kullanarak projenizi derleyebilirsiniz.

Projenizi derlemek için, oluşturduğunuz inşa dizininde makekomutunu kullanmanız gerekiyor. Bu komut, proje kaynak dosyalarınızı derler ve nihai çalıştırılabilir dosyaların oluşturulmasına yardımcı olur.

Örneğin, bir Linux çevresinde bir C++ projesini derlemek istediğinizi varsayalım. İlk adım olarak, bir inşa dizini oluşturmanız gerekiyor. Ardından, oluşturduğunuz inşa dizinine gidin ve makekomutunu kullanarak projenizi derleyin. Bu, projenizin kaynak dosyalarının derlenmesiyle sonuçlanacak ve nihayetinde bir çalıştırılabilir dosya oluşturacaktır.

Adım 1: Inşa dizini oluşturmak
Adım 2:
  • Inşa dizinine gitmek
  • make komutunu kullanmak

Bu adımları takip ederek, CMake kullanarak C++ projenizi başarıyla derleyebilirsiniz.


Sonuç

CMake, birçok farklı işletim sistemi ve derleyici ile uyumlu olduğu için C++ projelerinin yapılandırması için kullanılan açık kaynak kodlu bir araçtır. CMake aracını kullanarak projelerinizi kolayca yapılandırabilir, farklı yapılandırma seçeneklerine sahip olabilir ve derleyebilirsiniz.

Bu makalede CMake aracının nasıl kullanılacağı, projelerin nasıl yapılandırılacağı ve derleneceği konularına değindik. CMake'in sahip olduğu özellikler sayesinde C++ projelerinizin kolayca yönetilebilir ve derlenebilir olmasını sağlayabilirsiniz. Umarız bu makale, CMake kullanımı konusunda faydalı olmuştur.