是否可以向正在构建的每个vcpkg端口添加一个编译器选项?
尤其是我需要在Linux vcpkg实例中使用-fdata-section -ffunction-section -flto
编译每个端口。
答案 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
在端口之间的使用还没有特别广泛。