Генератор CMake Xcode - добавлена ​​возможность «усиленной работы» - PullRequest
0 голосов
/ 07 мая 2019

Проблема довольно проста. У меня есть мультиплатформенный проект (Windows / Mac OS).

Теперь в случае Mac OS мне нужно включить «Hardened runtime» в разделе возможностей моего пакета (это демон launchd).

Хотелось бы, чтобы мой проект Xcode терял cmake (я не хочу поддерживать несколько файлов проекта). Если я смогу преодолеть эту проблему, изменив процесс сборки (например, добавив некоторые флаги в команду xcodebuidl), все будет хорошо, но я предпочитаю, когда все определено в CMakeLists.txt файлах.

Xcode project Capabilities view

1 Ответ

1 голос
/ 07 мая 2019

Вы можете использовать свойство XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME, которое является логическим значением.

Установите это свойство для вашей цели macOS, например,

set_property(TARGET target XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES)

Или если вы предоставите больше свойств для целиэто может выглядеть так:

set_target_properties(target PROPERTIES
    MACOSX_BUNDLE TRUE
    MACOSX_BUNDLE_BUNDLE_NAME "yourTargetName"
    MACOSX_RPATH TRUE
    MACOSX_FRAMEWORK_IDENTIFIER com.host.target
    XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@loader_path/Libraries"
    RESOURCE "${RESOURCE_FILES}"
    XCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME TRUE
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...