위키득계정 ↗
기술

Meson

Meson기술
정의 파일
meson.build
주요 역할
빌드 구성과 생성
대표 실행 도구
Ninja
지원 범위
다언어와 교차 컴파일
Meson은 여러 언어와 운영체제를 지원하는 빌드 시스템이다. 전용 언어로 빌드를 정의하고 소스와 빌드 디렉터리를 분리하며 Ninja 같은 실행 도구가 사용할 구성을 생성한다.

빌드 정의와 실행의 구분

프로젝트 루트의 meson.build에 빌드 구성을 작성한다. 설정 단계에서 소스와 빌드 경로를 정하고 실행 도구에 필요한 구성을 만든다. 소스 디렉터리와 빌드 디렉터리는 서로 달라야 하므로 생성 파일과 원본을 분리해 관리하는 구조다.

여러 언어와 플랫폼

C와 C++ 외에 Fortran과 Java, Rust 등 여러 언어를 지원한다. Linux와 macOS, Windows 및 여러 컴파일러에서 사용할 수 있으며 다른 운영체제나 베어메탈을 위한 교차 컴파일도 다룬다. 실제 지원은 선택한 언어와 컴파일러, 대상 환경의 조합에 따라 정해진다.

정의 언어와 의존성

빌드 정의에는 일반적인 범용 프로그램 대신 튜링 완전하지 않은 전용 언어를 사용한다. 여러 플랫폼의 의존성을 찾는 기능과 배포판 패키지를 연결하는 체계를 제공한다. 설정이 생성된 뒤에는 Ninja 등으로 컴파일과 테스트를 수행할 수 있다.

관련 문서

Ninja / CMake / Bazel / Python / 교차 컴파일 / 빌드 시스템