Repolode
tsoding

tsoding/nob.h

Библиотека C в одном заголовочном файле для написания скриптов сборки на C: для сборки нужен только компилятор C.

Open source альтернатива:CMakeGNU Make

Звёзды
3,329
Форки
215
Открытые issues
85
Последний коммит
3 дня назад

Что это?

nob.h — библиотека C в одном файле для написания рецептов сборки на C вместо Make, CMake или shell-скриптов. Эта идея называется NoBuild: система сборки проекта запускается с помощью одного лишь компилятора C. Достаточно один раз скомпилировать небольшую программу nob.c, после чего она будет собирать остальную часть проекта.

Библиотеку предполагается копировать в проект как один заголовочный файл. Поскольку логика сборки написана на обычном C, скрипт сборки может напрямую использовать код самого проекта, а проект — пользоваться вспомогательными функциями, написанными для сборки. Автор называет библиотеку экспериментальной и рекомендует её для проектов на C и C++, которым нужна простая и переносимая сборка без сложных систем управления зависимостями.

Автор отмечает, что этот подход больше похож на написание shell-скриптов на C, чем на использование полноценного генератора сборки, поэтому он требует уверенного владения C и готовности самостоятельно писать некоторые утилиты. Существуют реализации той же идеи для C++, Java и Fortran.

Ключевые возможности

  • 01Распространяется в виде одного заголовочного файла, который можно напрямую скопировать в проект.
  • 02Нужен только компилятор C — без make, CMake или shell.
  • 03Логика сборки пишется на C и может использовать общий с проектом код.
  • 04Работает в Linux, macOS, Windows, FreeBSD и других системах, для которых доступен компилятор C.

Сценарии использования

  • Сборка небольших и средних проектов на C/C++ без установки make или CMake.
  • Написание переносимых скриптов сборки, одинаково работающих в разных операционных системах.
  • Запуск системы сборки проекта на C с помощью одной команды компилятора.

Быстрый старт

  1. 1

    Скачайте единственный заголовочный файл nob.h из репозитория

  2. 2

    Скопируйте nob.h в свой проект и начните им пользоваться; примеры смотрите в папке how_to/

Что важно знать

  • Автор описывает его как экспериментальный исследовательский проект и не заявляет о его пригодности для каких-либо целей.
  • Он не подходит для проектов, которые зависят от модулей в стиле CMake и большого количества зависимостей.
  • Чтобы писать скрипты сборки, нужно быть готовым самостоятельно реализовывать необходимые вещи на C.
  • Он имеет смысл только для проектов на C и C++.

Темы

Частые вопросы

Что такое nob.h?
Библиотека C в одном заголовочном файле для написания скриптов сборки на C: для сборки нужен только компилятор C. nob.h — библиотека C в одном файле для написания рецептов сборки на C вместо Make, CMake или shell-скриптов. Эта идея называется NoBuild: система сборки проекта запускается с помощью одного лишь компилятора C. Достаточно один раз скомпилировать небольшую программу nob.c, после чего она будет собирать остальную часть проекта.
nob.h можно использовать бесплатно? Какая у него лицензия?
nob.h распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
nob.h всё ещё поддерживается?
Активно поддерживается. Последний коммит в nob.h — 18 окт. 2026 г..
Для чего можно использовать nob.h?
Сборка небольших и средних проектов на C/C++ без установки make или CMake. Написание переносимых скриптов сборки, одинаково работающих в разных операционных системах. Запуск системы сборки проекта на C с помощью одной команды компилятора.
Как установить nob.h?
Скачайте единственный заголовочный файл nob.h из репозитория Скопируйте nob.h в свой проект и начните им пользоваться; примеры смотрите в папке how_to/
Где скачать nob.h?
Исходный код и инструкции по установке — на GitHub: https://github.com/tsoding/nob.h

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты