У меня есть небольшой проект, который создает общую библиотеку из пары файлов сборки. Я пытался следовать таким примерам, что сгенерированная библиотека
- имеет управление версиями (libFastCompression.1.dylib на Mac или libFastCompression.so.1 в Linux)
- имеет полный путь в качестве идентификатора на Mac
В частности, мой CMakeLists.txt имеет:
project(lzvn LANGUAGES C ASM VERSION 1.0.0)
set(lzvn_FULL_VERSION "${lzvn_VERSION_MAJOR}.${lzvn_VERSION_MINOR}.${lzvn_VERSION_PATCH}")
# snip
add_library(FastCompression SHARED lzvn_decode.S lzvn_encode.S)
set_target_properties(FastCompression PROPERTIES
VERSION ${lzvn_FULL_VERSION_MAJOR}.${lzvn_VERSION_MINOR}
SOVERSION ${lzvn_VERSION_MAJOR})
Это работает в проектах, которые я использовал в качестве примера, но не в этом конкретном проекте. Там я просто получаю файл libFastCompression.dylib (или .so), а на Mac идентификатор библиотеки вообще не содержит никакой информации о пути.
Я что-то упускаю / забываю, или то, что я ищу, не реализовано / не поддерживается (в CMake) для библиотек, созданных исключительно из файлов сборок?
Проект: github.com / RJVB / lzvn
Спасибо!
Рене