让我描述一下我认为是一个足够常见的用例,它应该得到支持。考虑一个项目,该项目由一个库和一组使用该库的可执行文件组成。一个简单的方法是add_library,然后是一系列add_executable()target_link_lib()对。
这是很多样板编码。能够做类似set(PROJECT_LINK_LIBS,lib1 ......)的事情会很高兴,并让cmake删除额外的样板。
考虑到这一点,我意识到我想要一个与include_directories类似的link_libraries函数。我认为这个:
有这样的事吗?
如https://stackoverflow.com/a/50295894/129550所述,请求的link_libraries(example example2)
函数实际上现在是cmake的一部分。
这个答案可能已经过时了:
检查新的变量集合CMAKE_<LANG>_STANDARD_LIBRARIES
原始答案:现在看来存在一个CMAKE_STANDARD_LIBRARIES
变量,您可以根据需要附加库。但是,这个变量似乎期望到库的完整路径。
见here。