include_guard(GLOBAL) # Создание статической библиотеки из объектной библиотеки function(myx_cmake_add_static_library target) myx_cmake_canonical_string(${target} _ctarget) option(BUILD_${_ctarget}_STATIC "build static library ${_ctarget}" ON) if(NOT BUILD_${_ctarget}_STATIC) return() endif() get_target_property(__target_type ${target} TYPE) if(NOT __target_type STREQUAL OBJECT_LIBRARY) myx_cmake_message_error("MyxCMake: myx_cmake_add_static_library needs target of type OBJECT_LIBRARY") endif() get_target_property(__output_name ${target} OUTPUT_NAME) if(NOT __output_name) set(__output_name ${target}) endif() add_library(${target}-static STATIC $) # cmake-format: off set_target_properties(${target}-static PROPERTIES OUTPUT_NAME ${__output_name} ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) install(TARGETS ${target}-static COMPONENT static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) # cmake-format: on endfunction()