将库链接到cmake项目中的所有目标

问题描述 投票:3回答:2

让我描述一下我认为是一个足够常见的用例,它应该得到支持。考虑一个项目,该项目由一个库和一组使用该库的可执行文件组成。一个简单的方法是add_library,然后是一系列add_executable()target_link_lib()对。

这是很多样板编码。能够做类似set(PROJECT_LINK_LIBS,lib1 ......)的事情会很高兴,并让cmake删除额外的样板。

考虑到这一点,我意识到我想要一个与include_directories类似的link_libraries函数。我认为这个:

  1. 在很多情况下会很有用。
  2. 会导致干燥器CMakeLists。
  3. 鼓励更好的代码组织 - 以一种所有可执行文件具有相同依赖性的方式组织文件夹,代码和可执行文件是一种自然的动机 - 当然是一种简洁的做法。

有这样的事吗?

cmake
2个回答
2
投票

https://stackoverflow.com/a/50295894/129550所述,请求的link_libraries(example example2)函数实际上现在是cmake的一部分。


2
投票

这个答案可能已经过时了: 检查新的变量集合CMAKE_<LANG>_STANDARD_LIBRARIES

原始答案:现在看来存在一个CMAKE_STANDARD_LIBRARIES变量,您可以根据需要附加库。但是,这个变量似乎期望到库的完整路径。

here

© www.soinside.com 2019 - 2024. All rights reserved.