LINUX.ORG.RU

cmake: shared library: -soname -fPIC


0

0

Честно потолкался в документации cmake, а также поиске лора. Не нашлось:(

Суть.

Используя add_library от cmake получаем, что система сборки использует
а) -Wl,-soname,libfoo.so -o libfoo.so
б) -fPIC

Никак не могу понять как штатно рулить параметрами компиляции/линковки для so'шек в данных случаях.
а) как указать свои soname ?
б) как, например, заменить -fPIC на -fpic ? Есть add_definitions, есть remove_defenitions. А вот replace_default что-то не обнаружил.

Есть всякие COMPILE_DEFINITIONS, но хотелось бы именно «заменить вот такую опцию, на вот такую» без глобальных вмешиваний в cmake'овые дефолты.

Спасибо.

Ну что ж... отвечу сам себе на номер 2.

SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fpic")


разбираюсь с soname...

farisey
() автор топика
Ответ на: Ну что ж... отвечу сам себе на номер 2. от farisey

soname

set_target_properties(foo PROPERTIES VERSION 4.9.3 SOVERSION 4.9)
приводит к -Wl,-soname,libfoo.so.4.9 -o libfoo.so.4.9.3

Оказывается всё в манах есть.

Вот и сам разобрался. Может кому пособит.

farisey
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.