GYP (программное обеспечение)
GYP (от англ. Generate Your Projects) — система автоматизации сборки, созданная корпорацией Google для генерации проектов различных IDE (таких как Visual Studio Code или Xcode). Первоначально утилита была создана для сборки браузера Chromium и родственных продуктов, например, в движке V8[1], Node.js и т.п[2][3]. На сегодняшний день инструмент можно использовать и в других проектах. Программа распространяется на условиях лицензии BSD.
| GYP | |
|---|---|
| Тип | Автоматизация сборки |
| Разработчик | |
| Написана на | Python |
| Интерфейс | CLI |
| Операционная система | macOS |
| Первый выпуск | 2009 |
| Состояние | активное |
| Лицензия | BSD |
| Сайт | gyp.gsrc.io |
GYP представляет собой мета-сборочную систему в том смысле, что сам GYP не собирает проекты, а лишь генерирует сценарии для других систем сборки. GYP создана в помощь большим проектам, которые должны собираться на множестве платформ (например, Mac, Windows, Linux), и для которых важно, что проект может быть собран посредством IDE, популярной на каждой платформе, как будто проект является родным.
Пример
Типичный сценарий сборки представляет собой файл в формате JSON с некоторыми расширениями: допускаются комментарии, начинающиеся с решётки (#), и разрешается оставлять запятую (,) в конце списков.
{
'targets': [
{
'target_name': 'foo',
'type': 'executable',
'dependencies': [
'libbar',
],
'sources': [
'foo.c',
'main.c',
],
},
{
'target_name': 'libbar',
'type': '<(library)',
'defines': [
'LOCAL_DEFINE_FOR_LIBBAR',
'DEFINE_TO_USE_LIBBAR',
],
'include_dirs': [
'..',
'include/libbar',
],
'sources': [
'bar.h',
'bar.c',
],
},
],
}