Проект 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
папка