如何为正在构建的每个端口添加一个编译器选项?

时间:2019-07-19 19:45:21

标签: vcpkg

是否可以向正在构建的每个vcpkg端口添加一个编译器选项?

尤其是我需要在Linux vcpkg实例中使用-fdata-section -ffunction-section -flto编译每个端口。

1 个答案:

答案 0 :(得分:0)

赞扬“ isanych”(请参阅​​this

您可以在自定义三元组文件中使用VCPKG_C_FLAGS * VCPKG_CXX_FLAGS * VCPKG_LINKER_FLAGS *变量。这是我在Linux上做LTO的方法:

set(VCPKG_CXX_FLAGS_RELEASE -flto)
set(VCPKG_C_FLAGS_RELEASE -flto)
set(VCPKG_LINKER_FLAGS_RELEASE -flto)

和在Windows上:

set(VCPKG_CXX_FLAGS_RELEASE "/GL /Gw /GS-")
set(VCPKG_C_FLAGS_RELEASE "/GL /Gw /GS-")
set(VCPKG_LINKER_FLAGS_RELEASE "/OPT:ICF=3 /LTCG")

存在一个问题#7159,其中多个标志都处于增强状态,并且修复了#7160

注意:到目前为止,VCPKG_LINKER_FLAGS_RELEASE在端口之间的使用还没有特别广泛。