INTERFACE_POSITION_INDEPENDENT_CODE из библиотеки INTERFACE игнорируется для библиотек OBJECT? - PullRequest
0 голосов
/ 05 ноября 2018

Кажется, что INTERFACE_POSITION_INDEPENDENT_CODE игнорируется библиотекой OBJECT, когда она является частью библиотеки INTERFACE. Следующий CMakeLists.txt проходит через CMake без ошибок, хотя я ожидаю, что он укажет на конфликт. Кроме того, построение объектов в archs с -fPIC полностью зависит от значения, установленного в вызове archs specific set_target_properties. Я могу взломать его через target_compile_options на has-iPIC, но это не круто. Это ошибка, или недоразумение чего-то?

cmake версия: 3.12.3

file(GLOB ARCHS_SRC "*.cpp")

add_library(has-iPIC INTERFACE)
set_target_properties(
  has-iPIC
  PROPERTIES
  INTERFACE_POSITION_INDEPENDENT_CODE ON
)

add_library(archs OBJECT ${ARCHS_SRC})

target_link_libraries(archs
  has-iPIC
)

set_target_properties(
    archs PROPERTIES
    POSITION_INDEPENDENT_CODE OFF
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...