如何为正在构建的每个端口添加编译器选项?
How to add a compiler option to every port being built?
有没有办法为正在构建的每个 vcpkg 端口添加编译器选项?
特别是我需要在我的 Linux vcpkg 实例中使用 -fdata-section -ffunction-section -flto
编译每个端口。
感谢 "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 with multiple flags in boost, with fix #7160。
注意:截至目前 VCPKG_LINKER_FLAGS_RELEASE
并未在端口中广泛使用。
有没有办法为正在构建的每个 vcpkg 端口添加编译器选项?
特别是我需要在我的 Linux vcpkg 实例中使用 -fdata-section -ffunction-section -flto
编译每个端口。
感谢 "isanych"(参见 this):
您可以在自定义三元组文件中使用 VCPKG_C_FLAGS* VCPKG_CXX_FLAGS* VCPKG_LINKER_FLAGS* 变量。下面是我如何在 linux:
上执行 ltoset(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 with multiple flags in boost, with fix #7160。
注意:截至目前 VCPKG_LINKER_FLAGS_RELEASE
并未在端口中广泛使用。