# file : CMakeLists.txt
cmake_minimum_required(VERSION 3.20.2)
project(Tutorial)
add_executable(Tutorial tutorial.cxx)
cmake_minimum_required() : 요구되는 최소 version
project() : project 이름. CMAKE_PROJECT_NAME 변수에 저장됨
OPTION
- VERSION을 설정하면, CMAKE_PROJECT_VERSION 변수에 저장됨.
- DESCRIPTION을 설정하면, CMAKE_PROJECT_DISCRIPTION 변수에 저장됨
- HOMEPAGE_URL을 설정하면, CMAKE_PROEJCT_HOEPAGE_URL 변수에 저장됨
- LANGUAGES를 별도로 설정하지 않으면, default C and CXX로 enable됨
add_executable() : tutorial.cxx 파일을 사용하여 Tutorial 실행 파일을 만든다.
// file: tutorial.cxx
// A simple program that computes the square root of a number
#include <cmath>
#include <cstdlib>
#include <iostream>
#include <string>
int main(int argc, char* argv[])
{
if (argc < 2) {
std::cout << "Usage: " << argv[0] << " number" << std::endl;
return 1;
}
// convert input to double
const double inputValue = atof(argv[1]);
// calculate square root
const double outputValue = sqrt(inputValue);
std::cout << "The square root of " << inputValue << " is " << outputValue
<< std::endl;
return 0;
}
위 파일을 cmake를 사용해서 빌드 및 실행을 해보자.
cmake . -B build
현재 폴더의 CMakeLists.txt 파일을 사용해서 makefile을 만드는데, 그 결과를 build 폴더안에 생성한다.
cmake 후 build 폴더를 확인하면 Makefile이 생성된 것을 알 수 있다.
build 폴더로 이동한 후, make를 실행하면 tutorial.cxx 파일이 빌드가 되어 Tutorial이라는 실행파일을 생성한다.
make
해당 파일을 실행해보면, 문제없이 잘 실행이 된다.
./Tutorial
[CMAKE] file() (0) | 2021.11.03 |
---|---|
[CMAKE] add_custom_command() (0) | 2021.11.03 |
[CMAKE] include_directories() / install() (0) | 2021.11.02 |
[CMAKE] option() / add_subdirectory() / target_link_libraries() / add_library() (0) | 2021.11.02 |
[CMAKE] set() / configure_file() / include_directories() (0) | 2021.11.02 |