我们正在尝试使用 Linux、Solaris 等使用的共享库命名约定在 Mac OS X 上使用 CMake 构建共享库,也就是说,libfoo.so.1
而不是libfoo.1.dylib
. 这是一个内部部署,我们有一个现有的 Linux 部署,并希望在它之后对 Mac OS X 部署建模,这样就不必修改其他工具。
我可以.so
改用.dylib
set_target_properties(OpenImageIO
PROPERTIES
SUFFIX .so)
但是,我无法正确订购。试
set_target_properties(OpenImageIO
PROPERTIES
OUTPUT_NAME libOpenImageIO.so.${SOVERSION})
最终build/macosx/libOpenImageIO/liblibOpenImageIO.so.32.1.2.0.so
表明这OUTPUT_NAME
仅适用于共享库的基本部分,CMake 将始终颠倒 SUFFIX 和 VERSION 的顺序。
我搜索了 CMake 的源代码,但找不到该代码的设置位置。