Fix shared object versioning
This commit is contained in:
parent
3403dabec2
commit
caddbf663d
@ -12,6 +12,15 @@ project(exiv2 # use TWEAK to categorize the build
|
||||
LANGUAGES C CXX
|
||||
)
|
||||
|
||||
# Shared Object versioning (SemVer-like: must bump major on API breakage)
|
||||
if(PROJECT_VERSION_MAJOR EQUAL 0)
|
||||
# support legacy scheme (e.g. 0.27.x -> 27)
|
||||
set(EXIV2LIB_SOVERSION ${PROJECT_VERSION_MINOR})
|
||||
else()
|
||||
# restart from 30
|
||||
math(EXPR EXIV2LIB_SOVERSION "30 + (${PROJECT_VERSION_MAJOR} - 1)")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set (CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
|
||||
@ -160,7 +160,7 @@ endif()
|
||||
|
||||
set_target_properties( exiv2lib PROPERTIES
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION ${PROJECT_VERSION_MINOR}
|
||||
SOVERSION ${EXIV2LIB_SOVERSION}
|
||||
OUTPUT_NAME exiv2
|
||||
PDB_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user