mesonbuild/meson

The Meson Build System

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 36 minutes ago
Added to GitGenius on September 17th, 2024
Created on May 14th, 2014
Open Issues & Pull Requests: 2,268 (+0)
Number of forks: 1,933
Total Stargazers: 6,614 (+0)
Total Subscribers: 110 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.9 days
Mean response time: 587.9 days
90th percentile: 2316.8 days
Tracked items: 1,988

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 87% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "regression" is answered fastest, typically in about 4 hours, while "enhancement" waits about 6 months. 55% of tracked open issues have had no activity in three months. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,713
New in 7 days: 6
Closed in 7 days: 5
Avg open age: 1,554 days
Stale 30+ days: 1,654
Stale 90+ days: 1,496

Recent activity

Opened in 7 days: 6
Closed in 7 days: 4
Comments in 7 days: 28
Events in 7 days: 53

Top labels

  • bug (803)
  • enhancement (610)
  • regression (372)
  • compilers (275)
  • OS:windows (261)
  • dependencies (232)
  • support/RFC (205)
  • help wanted (170)

Detailed Description

Meson is a next-generation build system written in Python designed to provide an alternative to traditional build systems like Make and CMake. The project is maintained at mesonbuild/meson and serves as a cross-platform build automation tool with particular strength in C and C++ project compilation, though it supports multiple languages. The system emphasizes rapid development and performance optimization through its integration with Ninja as the underlying build backend.

The build system requires Python 3.10 or newer and Ninja 1.8.2 or newer as core dependencies. Meson is distributed via PyPI and can be installed using standard Python package management tools. The system operates by requiring a meson.build configuration file in the project root, which users invoke through the meson setup command to generate build files in a separate build directory. This separation of source and build directories is a fundamental design principle. Once configured, compilation occurs by running Ninja from the build directory, with testing handled through the ninja test command.

The project's scope encompasses comprehensive build system functionality including dependency resolution, cross-compilation support, platform abstraction, and native build tooling integration. Meson handles rpath management, compilation management across multiple languages, and configuration file generation for various native build systems. The system's classification as a Python-based configuration tool reflects its use of Python for project configuration while maintaining language-agnostic compilation support.

The project maintains backward compatibility documentation, with specific version information provided for Python 3.9 through 3.4 support in earlier Meson releases. Users can also generate standalone executable scripts using Python's zipapp format, enabling distribution without requiring a separate Python installation. The project maintains active community channels through Matrix and OFTC IRC at the mesonbuild channel, and comprehensive documentation is available at mesonbuild.com.