CMakeCache.txt中“一般”一词的意义?

时间:2017-09-12 02:11:02

标签: cmake

我在其中一个CMakeCache.txt中遇到了以下语句。 SomelibraryName_LIB_DEPENDS:STATIC=general;gcc_s;general;pthread;general;rt;general;/usr/lib/x86_64-linux-gnu/libunwind.so;general;dl;general;uuid;general; 为什么这里需要将军?即使这里没有提到, SomelibraryName 也依赖于其他库,例如 libc,libstdc ++ libm 。一般是指这些额外的库吗?

1 个答案:

答案 0 :(得分:0)

免责声明:我对CMake内部知识一无所知。

我的有根据的猜测是,它与target_link_libraries(<target> ... <item>...)文档中的“常规”相同:

  

一个调试,优化或常规关键字,紧随其后的是另一个<item>。关键字之后的项目将仅用于相应的构建配置。 debug 关键字对应于Debug配置(...)。 优化关键字与所有其他配置相对应。 常规关键字对应于所有配置,并且完全是可选的。

即“常规”是跟随它的库的属性,而不是一些构建工件。
在下面的示例中,根据构建类型,将链接不同版本的some_lib,但是无论构建类型如何,都将链接相同版本的another_lib1another_lib2

target_link_libraries(my_target
    debug some_lib_DEBUG_VER
    optimized some_lib
    general another_lib1
    another_lib2
)