将链接库添加到CMake项目中的所有目标。

6
让我描述一下我认为足够常见的用例,应该得到支持。考虑一个由库和使用该库的一组可执行文件组成的项目。一种直接的方法是添加add_library,然后是一系列的add_executable() target_link_lib()对。这是很多样板代码。希望能够做类似于set(PROJECT_LINK_LIBS, lib1 ...)的事情,并让cmake删除额外的样板代码。
进一步思考后,我意识到我想要一个类似于include_directories的link_libraries函数。我会认为:
1. 在很多情况下会很有用。 2. 会使 CMakeLists 更加简洁。 3. 会鼓励更好的代码组织 - 自然而然地有一个动机去组织文件夹、代码和可执行文件,使所有可执行文件具有相同的依赖关系 - 这肯定是一个干净的实践。
是否有类似的东西?

2
没有内置的方法可以移除这个。但是你可以开发自己的CMake宏和函数来移除一些样板代码。 - drescherjm
可能是cmake:将库添加到所有目标的重复问题。 - fuzzyTew
2个回答

7

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接