Я компилирую libclang с Cmake для Android (с Android NDK).
Вот часть конфигурации CMake, которая настраивает имя файла и имя сына:
set_target_properties(libclang
PROPERTIES
VERSION ${LIBCLANG_LIBRARY_VERSION}
DEFINE_SYMBOL _CINDEX_LIB_)
В другом файле:
set(LIBCLANG_LIBRARY_VERSION
"${CLANG_VERSION_MAJOR}" CACHE STRING
"Major version number that will be appended to the libclang library")
и
if(NOT DEFINED CLANG_VERSION_MAJOR)
set(CLANG_VERSION_MAJOR ${LLVM_VERSION_MAJOR})
endif()
Так как я компилирую llvm / clang версии "7.0.0", имя файла libclang и имя сына - libclang.so.7
, что нежелательнодля Android.
~/llvm/build anton$ls -l lib/libclang.so
lrwxrwxrwx 1 anton anton 13 Nov 30 12:13 lib/libclang.so -> libclang.so.7
~/llvm/build anton$arm-linux-androideabi-readelf --dynamic lib/libclang.so.7 | grep SONAME
0x0000000e (SONAME) Library soname: [libclang.so.7]
Как мне избежать добавления ".7" как в имени файла, так и в имени сына (чтобы сделать его просто libclang.so
)?
Я пытался:
1) свойство комментария выглядит следующим образом:
set_target_properties(libclang
PROPERTIES
#VERSION ${LIBCLANG_LIBRARY_VERSION}
DEFINE_SYMBOL _CINDEX_LIB_)
, а имя файла и имя сына по какой-то причине по-прежнему ".so.7"
2) установите его пустым:
set_target_properties(libclang
PROPERTIES
VERSION ""
DEFINE_SYMBOL _CINDEX_LIB_)
, а имя файла и имя сына - ".so."(с точкой в конце).
Что я могу сделать?