我們試圖使用Linux,Solaris等使用的共享庫命名約定,在Mac OS X上使用CMake構建共享庫,即libfoo.so.1
而不是libfoo.1.dylib
。這適用於內部部署,我們擁有現有的Linux部署,並且希望在其之後建模Mac OS X部署,以便不必修改其他工具。CMake:覆蓋Mac OS X libfoo.1.dylib命名約定爲libfoo.so.1
我能夠改變.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的源代碼進行了搜索,無法找到此代碼的設置位置。