CMake Kullanımı

Örnek bir belge olması amaçlı buraya eklemek istedim. Visual Studio Code editörü kullanılacak. Uygulama amaçlı bir tane boş proje klasörü açılır. Bu klasör include ve src adında iki tane daha klasör oluşturuldu. Temel olarak gerekli örnek header dosyası include klasöründe oluşturulur:
#ifndef BASE_HPP
#define BASE_HPP

int fact(int);

#endif
Sonrasında src klasöründe main.cpp ve base.cpp dosyaları oluşturulur. base.cpp dosyasından fonksiyonun kendisi yazılır:
#include "base.hpp"

int fact(int n){
    int result = 1;
    for(int i=1; i <= n; i++)
         result *= i;

    return result;
}
VS Code'da CMAKE için gerekli extension kurulumları yapılmadıysa eğer yapılmalı. Eklentiler:
  • CMake Tools
  • CMake
Proje klasöründe CMakeLists.txt adında bir dosya oluşturulur. CMakeLists.txt dosyası aşağıdaki gibi yazıldı:
cmake_minimum_required(VERSION 3.0)

project(2dgame)

# dir variable of project
set(PROJECT_DIR ${CMAKE_SOURCE_DIR})

set(INCLUDE_DIR ${PROJECT_DIR}/include)
set(SOURCE_DIR ${PROJECT_DIR}/src)

set(SOURCES
        ${SOURCE_DIR}/base.cpp
        ${SOURCE_DIR}/main.cpp
)

set(HEADERS
        ${INCLUDE_DIR}/base.hpp
)

include_directories(${INCLUDE_DIR})

add_executable(${PROJECT_NAME} ${SOURCES})
Sonrasında terminalde aşağıdaki komutlar çalıştırılır:
$> mkdir build
$> cd build
build$> cmake ..
İstediğim sonuçları elde edemedim. Sanırım VS Code'un default olarak algıladığı derleyici farklı bir derleyici. CTRl+ALT+P ile C/C++ Edit Configuration(UI) komutu yazılır ve açılır. Sonrasında aşağıdaki resimlerde olduğu gibi değişiklikler yapılır:
Oluşturulan build klasörünü silip tekrar yukarıdaki komutları giriyorum. Yine olmadı. 😃

Neyse yapmamız gereken işlem cmake generator kullanmak. 

cmake .. komutunu şu şekilde girmeliyiz. cmake .. -G "Unix Makefiles". Sonrasında ls komutu girildiğinde klasör içinde hangi dosyalar oluşmuş bakıyoruz. Başarılı.
Çalıştırmak istediğimizde ise:

Hiç yorum yok:

Yorum Gönder