CMake output name for dynamic-loaded library?

Anton Kazennikov picture Anton Kazennikov · Oct 14, 2009 · Viewed 10.2k times · Source

I'm trying to write cmake rules to build dynamic-loaded library for python using boost.python on linux. I'd like to use 'foo' for python module name. So, the library must be called foo.so. But by default, cmake uses standard rules for library naming, so if I write

add_library(foo foo.cpp)

I will get libfoo.so on output. Even set_target_properties(foo PROPERTIES OUTPUT_NAME "foobar") will create libfoobar.so.

How to change this behavior?

Answer

richq picture richq · Oct 14, 2009

You can unset the prefix with this line:

set_target_properties(foo PROPERTIES PREFIX "")