【发布时间】:2018-12-24 12:53:00
【问题描述】:
我有一个项目,我将其构建为 Debug、Release 和 RelWithDebInfo。从 CMake 3.9.6(我认为?)开始,引入了属性 INTERPROCEDURAL_OPTIMIZATION,其中包括项目的 -flto。但是,我不想在为 Debug 编译时启用 -flto,因为它会减慢编译时间(并且根据我的经验,启用此功能后调试器的稳定性会降低)。
目前我在 CMake 中启用 -flto 的操作如下:
include(CheckIPOSupported)
check_ipo_supported(RESULT ipo_result OUTPUT ipo_err)
if (ipo_result)
message(STATUS "IPO is supported")
set_property(GLOBAL PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif ()
我想知道是否只有在启用 Release 时才包含此功能的选项。 此外,我在我的项目中使用了 Xcode 生成器,所以我想知道这个规则(-flto 仅用于调试配置)是否也可以应用于生成的 .xcodeproj?
【问题讨论】: