Могу ли я в Meson избежать постоянного перехода от исходного кода к каталогу сборки и обратно?

Чтобы выполнить сборку вне исходного кода в Meson:

cd /path/to/source/
mkdir ../builddir

Затем:

cd /path/to/source/
meson ../builddir
cd ../builddir
ninja

Можно ли сделать что-нибудь подобное (от builddir):

meson --pathToSource ../source     // pseudocode
ninja

т.е. избегайте прыжков из исходного кода в каталог сборки и обратно.

Для CMake это значение по умолчанию.


person Pietro    schedule 12.06.2018    source источник


Ответы (1)


После того как вы запустили meson для создания каталога сборки (который meson может создать автоматически), нет необходимости запускать его каждый раз при изменении meson.build. Когда вы запускаете ninja, meson может самостоятельно регенерировать конфигурации сборки в зависимости от изменения в источниках.

Чтобы запустить ninja в других местах, кроме каталога сборки, вы можете выбрать вариант -C (из ninja -h):

-C DIR изменить на DIR, прежде чем делать что-либо еще

Учитывая ваш пример, это будет:

$ cd /path/to/source/
$ meson ../builddir
$ ninja -C ../builddir
person barsoosayque    schedule 26.06.2018
comment
Вы имеете в виду, что если я добавлю новый файл в свой проект и обновлю файл meson.build, мне не нужно будет снова запускать meson? - person Pietro; 28.06.2018
comment
@Pietro Пьетро да, запуск ninja в проекте, сгенерированном мезоном, обновит файлы сборки для ninja (из meson.build), если это необходимо. Я не совсем уверен в других бэкэндах. - person barsoosayque; 28.06.2018