Meson Build

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2021 Sep 25 12:15
Editor
Edited
Edited
2025 Jan 21 21:30
Refs
Refs
Ninja
Meson
C, C++, D, Fortran 등 다양한 언어를 지원
Meson을 설치하기 위해서는 Python 3와 Ninja를가 필요

Meson CLI

meson setup

프로젝트의 빌드 디렉토리를 설정
setup 명령은 buildir과 sourcedir 인자를 가지고 있는데, sourcedir가 주어지지 않는다면 meson.build 파일의 pwd를 값으로 사용합니다.
주요 옵션으로는 --backend와 --buildtype이 있는데 각각 “ninja”와 “debug”가 기본값
 
 
 
 
 
 
 
 
CMake는 가라! Meson과 함께하는 차세대 C++ 빌드 시스템 구축 - 인하대학교 인트아이
Meson은 차세대 멀티플랫폼 빌드 시스템 으로, C, C++, D, Fortran 등 다양한 언어를 지원합니다. Meson는 CMake나 Bazel과 같은 타 빌드 시스템보다 빠르게 코드를 빌드할 수 있고, 빌드 설정 파일을 다루기 쉽다 는 장점이 있습니다. 참고: Meson - Build System Comparison 위키백과와 이 글 을 읽어보시면 Meson을 이해하는데 도움이 될 것 같습니다.
CMake는 가라! Meson과 함께하는 차세대 C++ 빌드 시스템 구축 - 인하대학교 인트아이

Github

GitHub - mesonbuild/meson: The Meson Build System
Meson® is a project to create the best possible next-generation build system. Python (version 3.6 or newer) Ninja (version 1.8.2 or newer) Meson is available on PyPi, so it can be installed with pip3 install meson. The exact command to type to install with pip can vary between systems, be sure to use the Python 3 version of pip.
GitHub - mesonbuild/meson: The Meson Build System
A simple comparison
In this experiment we generated one thousand C files with contents that looked like this. #include #include"header.h" int func23() { return 0; } The function number was different in each file. In addition there was a main C file that just called each function in turn.
A simple comparison

Korean

CMake는 가라! Meson과 함께하는 차세대 C++ 빌드 시스템 구축 - 인하대학교 인트아이
Meson은 차세대 멀티플랫폼 빌드 시스템 으로, C, C++, D, Fortran 등 다양한 언어를 지원합니다. Meson는 CMake나 Bazel과 같은 타 빌드 시스템보다 빠르게 코드를 빌드할 수 있고, 빌드 설정 파일을 다루기 쉽다 는 장점이 있습니다. 참고: Meson - Build System Comparison 위키백과와 이 글 을 읽어보시면 Meson을 이해하는데 도움이 될 것 같습니다.
CMake는 가라! Meson과 함께하는 차세대 C++ 빌드 시스템 구축 - 인하대학교 인트아이

submodule substitute

서브모듈 멈춰! 얘들아 Meson 받아라~ 서브프로젝트 두둥등장~ - 인하대학교 인트아이
지난 글 에서 Meson에 대한 소개와 함께 사용 방법을 알아봤습니다. 이번에는 Meson의 심화 과정으로 서브프로젝트(Subproject) 기능을 이용해 외부 라이브러리를 가져오는 방법 을 알려드리겠습니다. 우선 Meson의 서브 프로젝트 기능을 소개하기 전에 기존의 방식을 알아보겠습니다. 오늘날 대다수의 C++ 프로젝트는 CMake를 이용해 코드를 관리하는데, CMake에서는 주로 add_subdirectory 로 Git Submodule 을 통해 가져온 라이브러리를 불러옵니다.
서브모듈 멈춰! 얘들아 Meson 받아라~ 서브프로젝트 두둥등장~ - 인하대학교 인트아이
 
 

Recommendations