Как использовать CMake для обновления пути к библиотеке? - PullRequest
2 голосов
/ 28 марта 2011

Я пишу разделяемую библиотеку для GNU / Linux, которая сейчас будет установлена ​​с помощью "sudo make install". У меня есть рецепты CMake для создания файлов и их установки в / usr / local / lib / app, а библиотеки и ссылки создаются правильно.

Но путь к библиотеке не обновляется, и я должен запустить «sudo ldconfig / usr / local / lib / app» вручную, чтобы сделать библиотеку доступной.

Несколько других пакетов в моей системе помещают свои библиотеки в определенную папку в / usr / local / lib, поэтому я предполагаю, что это правильно.

Как тогда CMake обновляет путь к библиотеке для системы, а также создает файлы и устанавливает их? Как правильно это сделать?

Я также хотел бы, чтобы это было выполнено, чтобы обновление пути к библиотеке переживало перезапуск системы.

Спасибо, BCW

1 Ответ

1 голос
/ 29 октября 2011

Я также хотел бы, чтобы это было выполнено, чтобы обновление пути к библиотеке переживало перезапуск системы.

Я не знаю ни одного специфичного для CMake объекта. Тем не менее, вы должны иметь возможность добавить правила, такие как следующие, чтобы изменения были постоянными.

echo "/usr/local/bret/lib" > /etc/ld.so.conf.d/bret-i386.conf
echo "/usr/local/bret/lib64" > /etc/ld.so.conf.d/bret-x86_64.conf
/sbin/ldconfig

Вам все равно нужно будет повторно запустить ldconfig при перезаписи файлов в bret/lib{,64}.

...