设置链路顺序和LINK_INTERFACE_MULTIPLICITY

CMake link order and LINK_INTERFACE_MULTIPLICITY

本文关键字:INTERFACE MULTIPLICITY LINK 链路 顺序 设置      更新时间:2023-10-16

我正在尝试将静态库与协作cmake项目中的测试用例联系起来。我的理解是,我可以使用link_interface_multiplicity选项来解决库有时按错误顺序列出的问题。正确的做法是什么?

您可以使用set_target_properties命令。例如,如果您有两个CMake目标,MyLibAMyLibB(通过add_library调用添加),那么您可以通过以下操作将它们的LINK_INTERFACE_MULTIPLICITY值设置为3:

set_target_properties(MyLibA MyLibB PROPERTIES LINK_INTERFACE_MULTIPLICITY 3)

注意,CMake命令、函数和宏是不区分大小写的,而变量区分大小写的。所以你应该总是使用LINK_INTERFACE_MULTIPLICITY, LINK_INTERFACE_MULTIPLICITY_DEBUG, LINK_INTERFACE_MULTIPLICITY_RELEASE等,而不是link_interface_multiplicity