Как использовать номера версий и суффикс разделяемой библиотеки (.so или .dylib) в CMake - PullRequest
0 голосов
/ 27 июня 2018

В CMake я устанавливаю разделяемую библиотеку, которая отлично устанавливается на мою Linux-машину как libname.so.1.5.0
Однако для совместимости с Mac я должен поддерживать использование любого суффикса общей библиотеки. Я настроил свой CMake для установки ${libnameCMAKE_SHARED_LIBRARY_SUFFIX}.${OPENTRACING_VERSION_STRING}, который снова работает на моей машине, но не на Mac. .Dlilibs, которые генерируются по какой-то причине, имеют соглашение об именах libname.1.5.0.dylib
Есть ли способ, которым я могу

  1. Поменять одно соглашение о присвоении имен на другое?
  2. CMake обнаруживает системную архитектуру и имеет несколько вызовов?
  3. Любые другие идеи будут с благодарностью! Я никогда не использовал OSX, поэтому не уверен, как работает .dylibs.

1 Ответ

0 голосов
/ 11 июля 2018

Насколько я могу судить, это невозможно сделать, не взломав их в ветвях if / else. Я решил добавить команды к моим INSTALL вызовам, которые непосредственно перемещали нужные мне файлы. В итоге скопировались лишние ненужные файлы, но я понял, что это сработало.

...