Проект Meson: могу ли я разместить часть источника в другом месте?

В проекте Meson, как я могу скомпилировать файлы (т.е. не только заголовки), расположенные в каталоге, которого нет в дереве моего проекта?

Например:

MyProj/
   src/
      meson.build
ExternalCode/
   src/
      file1.h
      file1.cpp

include_directories только для заголовков...

Если я использую ".." в пути к файлам, я получаю эту ошибку:

meson.build:10:0: ОШИБКА: Subdir содержит..

2 ответа

Если вы хотите создать ExternalCode как часть вашего проекта, то я рекомендую как-нибудь извлечь этот каталог из вашего проекта, например, используя символическую ссылку и поместить файл meson.build рядом с ним. Итак, макет вашего проекта будет выглядеть так:

MyProj/
   meson.build
   src/
      meson.build
   external/
      ExternalCode -> link to ...
      meson.build

Затем ознакомьте meson со всеми подкаталогами в проекте, поместив его в файл meson.build верхнего уровня:

subdir('src')
subdir('external')

да, но внешний файл нужно подобрать следующим образом: например

      source =  files(file1.cpp)

положить внутрь meson.build

      ExternalCode/src 

папка

Другие вопросы по тегам