CMake的dynamic加载库的输出名称?
我正在尝试编写cmake规则来在linux上使用boost.python为python构builddynamic加载的库。 我想用'foo'作为python模块的名字。 所以,图书馆必须被称为foo.so 但默认情况下,cmake使用库命名的标准规则,所以如果我写 
 add_library(foo foo.cpp) 
 我会得到libfoo.so输出。 甚至set_target_properties(foo PROPERTIES OUTPUT_NAME "foobar")将创buildlibfoobar.so 。 
如何改变这种行为?
你可以用下面这行代替前缀:
 set_target_properties(foo PROPERTIES PREFIX "") 
前缀“lib”是unix / linux的惯例,被编译器广泛利用(例如,当你链接你写-lfoo时)。
我不知道你是否可以强制cmake创buildfoo.so而不是libfoo.so,但是也许你可以使用“libfoo”作为python模块。 另一个select是在cmake中创build安装目标,将libfoo.so重新命名为foo.so