빌드 정의와 실행의 구분
프로젝트 루트의 meson.build에 빌드 구성을 작성한다. 설정 단계에서 소스와 빌드 경로를 정하고 실행 도구에 필요한 구성을 만든다. 소스 디렉터리와 빌드 디렉터리는 서로 달라야 하므로 생성 파일과 원본을 분리해 관리하는 구조다.
여러 언어와 플랫폼
C와 C++ 외에 Fortran과 Java, Rust 등 여러 언어를 지원한다. Linux와 macOS, Windows 및 여러 컴파일러에서 사용할 수 있으며 다른 운영체제나 베어메탈을 위한 교차 컴파일도 다룬다. 실제 지원은 선택한 언어와 컴파일러, 대상 환경의 조합에 따라 정해진다.
정의 언어와 의존성
빌드 정의에는 일반적인 범용 프로그램 대신 튜링 완전하지 않은 전용 언어를 사용한다. 여러 플랫폼의 의존성을 찾는 기능과 배포판 패키지를 연결하는 체계를 제공한다. 설정이 생성된 뒤에는 Ninja 등으로 컴파일과 테스트를 수행할 수 있다.