如何在构建时设置共享库soversion?

时间:2016-03-17 10:41:33

标签: cmake

这将在cmake-time设置版本:

set_target_properties(${THIS_LIB} PROPERTIES SOVERSION ${PROJECT_VERSION})

但是我使用从git中提取一些信息的脚本(它是脏的还是错误的分支等)。

例如,他们可以在构建时生成包含所有这些信息的version.cpp

add_custom_command(
    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version.cpp
    DEPENDS
        ${GIT_COMMIT_DIRTINESS_FILE}
    COMMAND ${CMAKE_COMMAND}
        -DSRC=${CMAKE_CURRENT_SOURCE_DIR}/version.cpp.in
        -DDST=${CMAKE_CURRENT_BINARY_DIR}/version.cpp
        -P ${CMAKE_SOURCE_DIR}/cmake/configure-file.cmake
)

因此,可执行文件现在具有有关源树状态的各种信息。

如何在SOVERSION上执行相同类型的操作,因此在包中lib会显示为libmy.so.0.0.1.SHA.~dirty

0 个答案:

没有答案