add symbol versioning

closes #40
This commit is contained in:
Andrew Kelley 2015-11-18 14:29:31 -07:00
parent ad6ba6bf34
commit 66c7d1b1ac
2 changed files with 10 additions and 1 deletions

View file

@ -212,14 +212,20 @@ configure_file(
"${CMAKE_SOURCE_DIR}/doc/doxygen.conf.in"
${DOXYGEN_CONF_FILE}
)
set(LINK_VERSION_SCRIPT "${CMAKE_BINARY_DIR}/link_version_script")
configure_file(
"${CMAKE_SOURCE_DIR}/src/link_version_script.in"
${LINK_VERSION_SCRIPT}
)
add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES})
add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES} ${LINK_VERSION_SCRIPT})
set_target_properties(libsoundio_shared PROPERTIES
OUTPUT_NAME soundio
SOVERSION ${LIBSOUNDIO_VERSION_MAJOR}
VERSION ${LIBSOUNDIO_VERSION}
COMPILE_FLAGS ${LIB_CFLAGS}
LINKER_LANGUAGE C
LINK_FLAGS "-Wl,--version-script='${LINK_VERSION_SCRIPT}'"
)
target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})

View file

@ -0,0 +1,3 @@
LIBSOUNDIO_@LIBSOUNDIO_VERSION_MAJOR@ {
global: *;
};