node-gyp - Обработка файлов ".h.in"
Я создал проект, который содержит подмодуль git libxml2
, Я хочу использовать эти файлы внутри моего binding.gyp
, но я получаю ошибки во время работы node-gyp build
, Проблема здесь в том, что есть только xmlversion.h.in
файл но xmlversion.h
файл нужен.
Когда я бегу autogen.sh
сценарий libxml2
сначала все работает нормально, потому что autotools
создаст xmlversion.h
файл из xmlversion.h.in
,
Есть ли способ создать xmlversion.h
использование файла node-gyp
?
Мой текущий bindings.gyp
выглядит так:
{
'targets': [{
'target_name': 'library',
'product_extension': 'node',
'type': 'shared_library',
'include_dirs': [
'libxml2/include',
'libxml2',
"<!(node -e \"require('nan')\")"
],
'cflags': [ '-Wall' ],
'xcode_settings': {
'OTHER_CFLAGS': [ '-Wall' ]
},
'sources': [
# src/my_files.cc
# libxml2/libxml2_files.c
]
}]
}
1 ответ
Лучшее решение для решения проблемы .h.in
в файлах, чтобы построить его один раз, используя autotools
и скопировать созданное .h
файлы в другой каталог проекта (таким образом, подмодуль не будет затронут). Кроме того, вам, возможно, придется создавать эти файлы для нескольких платформ или архитектур. После этого вы можете добавить новую папку в ваши включения. Довольно хорошее решение для этого доступно здесь: