Создать символическую ссылку с помощью CPack - PullRequest
2 голосов
/ 23 мая 2019

Я создаю два пакета в дистрибутиве:

  1. пакет общей библиотеки времени выполнения
  2. пакет библиотеки dev

Проблема заключается в том, чтобы включитьисправить символическую ссылку на любой из них.В настоящее время я использую:

set_target_properties(mylib PROPERTIES 
                        SOVERSION "${PROJECT_VERSION_MAJOR}"
                        VERSION "${PROJECT_VERSION}")

и при указании следующей конфигурации CPack:

install (TARGETS mylib
          LIBRARY
          DESTINATION /usr/lib
          COMPONENT runtime)

install (TARGETS mylib
          LIBRARY
          DESTINATION /usr/lib
          COMPONENT dev)

install (DIRECTORY include/
          DESTINATION /usr/include/mylib 
          COMPONENT dev)

пакет общей библиотеки времени выполнения содержит следующую цепочку символических ссылок:

/usr/lib/libmylib.so -> libmylib.so.0
/usr/lib/libmylib.so.0 -> libmylib.so.0.0.1
/usr/lib/libmylib.so.0.0.1

Проблема в том, что /usr/lib/libmylib.so -> libmylib.so.0 является избыточным в пакете совместно используемой библиотеки времени выполнения, поскольку это необходимо только при создании двоичного файла, который использует этот libmylib.

Вопрос: Есть ли способ исключить эту символическую ссылку /usr/lib/libmylib.so -> libmylib.so.0 из пакета общей библиотеки времени выполнения?

...