Невозможно изменить тип библиотеки после вызова add_library
.
Если в стороннем проекте используется add_library
без указания его типа, то создается библиотека типа default . То есть вы можете изменить тип библиотеки по умолчанию до включения стороннего проекта, и этот тип будет сохранен:
# Build static libraries by default
set(BUILD_SHARED_LIBS OFF)
# ...
# 'other_project' will build static libraries by default
add_subdirectory(other_project)