Сборка мезона: укажите выходные каталоги - PullRequest
0 голосов
/ 07 мая 2020

У меня есть проект на C ++, который собирает разделяемые библиотеки, он также имеет несколько двоичных файлов для упаковки ресурсов в отдельные файлы и преобразования некоторых вещей в файлы, которые легче обрабатывать библиотеке во время выполнения. Для тестирования проекта у меня есть несколько тестов. Раньше я использовал рукописные make-файлы для создания следующей структуры:

build/
  lib/
  bin/
  tests/
src/
  graphics/
  ui/
  util/
  network

Исходные файлы, как следует из названия, находятся в src /, файлы .so go в build / lib /, вспомогательные двоичные файлы go в build / bin / и тесты go в build / tests.

Мне удалось заставить meson построить все, однако он все собирает в build /. Как указать пути вывода в целях?

Спасибо!

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете проверить официальную документацию по установке здесь . Вам необходимо указать install и install_dir

executable('prog', 'prog.c', install : true, install_dir : 'my/special/dir')

То, что я обычно делаю для тестов, - это сделать meson.build в каталоге тестов, а затем вызывать subdir('tests') с верхнего уровня meson.build. Вот структура:

── meson.build

└── test
    ├── meson.build

    ├── component_tests

    │   └── meson.build

    └── unit_tests

        └── meson.build
...