Добавление информации о версии в вашу библиотеку
Итак, вы создали библиотеку с помощью CMake и хотите добавить SO VERSION в свою динамическую библиотеку.
Вы хотите добавить эти файлы:
- libjson.ВЕРСИЯ.dylib
- libjson.MAJOR_VERSION.dylib [символическая ссылка]
- libjson.dylib [ссылка]
На самом деле очень легко настроить CMake для получения этих файлов, как вы получаете с помощью Autotools.
1 → Установите VERSION в project(), как показано ниже:
project(json VERSION 0.1.4 LANGUAGES C)
2 → Установите параметры set_target_properties в файле CMakeLists.txt, как показано ниже, замените json именем вашей цели/библиотеки:
set_target_properties(json PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
и снова запустите сборку, вот и все. Вы должны увидеть эти файлы:
Кроме того, вы можете создать пользовательские переменные и поместить их в set_target_properties, но CMake уже поддерживает переменную VERSION (возможно, не в старых версиях), и вы можете использовать ее, иначе можно было бы написать что-то вроде этого:
set(JSON_VERSION_MAJOR 0) set(JSON_VERSION_MINOR 1) set(JSON_VERSION_PATCH 4) set(JSON_VERSION {JSON_VERSION_MAJOR}.${JSON_VERSION_MINOR}.${JSON_VERSION_PATCH}) set_target_properties(json PROPERTIES VERSION ${JSON_VERSION} SOVERSION ${JSON_VERSION_MAJOR})