我正在尝试使用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()
我强烈希望采用统一的方法。
在此先感谢您的帮助