Как использовать номера версий и суффикс общей библиотеки (.so или .dylib) в CMake

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

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

person gk12345    schedule 27.06.2018    source источник


Ответы (1)


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

person gk12345    schedule 10.07.2018