问题很简单。我有多平台项目(Windows
/ Mac OS
)。
现在,在Mac OS
的情况下,我需要在捆绑软件的功能部分中启用“ Hardened runtime”(它是启动的守护程序)。
我希望我的Xcode项目被cmake
磨碎(我不想维护多个项目文件)。
如果我可以通过修改构建过程(例如通过向xcodebuidl
命令添加一些标志)来克服此问题,那应该没问题,但是我更喜欢在CMakeLists.txt
文件中定义所有内容。
答案 0 :(得分:1)
您可以使用属性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
)