# Создание статической и динамической библиотеки из одинаковых объектных файлов function(add_common_library LIBNAME SOURCES) add_library(${LIBNAME} OBJECT ${SOURCES}) target_include_directories(${LIBNAME} PUBLIC $ $ $) set_target_properties(${LIBNAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) add_library(${LIBNAME}_shared SHARED $) get_property(_ver GLOBAL PROPERTY VERSION_STR) get_property(_sover GLOBAL PROPERTY VERSION_MAJOR) set_target_properties(${LIBNAME}_shared PROPERTIES VERSION ${_ver} SOVERSION ${_sover} OUTPUT_NAME ${LIBNAME} LIBRARY_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}) add_library(${LIBNAME}_static STATIC $) set_target_properties(${LIBNAME}_static PROPERTIES OUTPUT_NAME ${LIBNAME} ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}) endfunction()