-dead_strip与--gc-sections链接器选项

时间:2019-11-25 10:48:50

标签: cmake

我正在尝试使用CMake在Android和iOS上跨版本构建SW。 Android项目使用GNU ld,而iOS项目使用lld。我需要添加链接器选项,以将死代码从链接的库中剥离到两个工具链中。我确定了在GNU ld上添加--gc-sections链接器选项,而在lld上添加-dead_strip链接器选项的实现方法。所以,我的问题是: 是否有另一种方法可以检查交叉编译平台,如下所示?

if(CMAKE_SYSTEM_NAME STREQUAL Android)
   target_link_options(GarminAis PRIVATE LINKER:--gc-sections)
elseif(CMAKE_SYSTEM_NAME STREQUAL APPLE)
   target_link_options(GarminAis PRIVATE LINKER:-dead_strip)
endif()

我强烈希望采用统一的方法。

在此先感谢您的帮助

0 个答案:

没有答案