со следующей структурой проектаCMake строить подкаталоги библиотеки в качестве статических
CMakeLists.txt
libs\CMakeLists.txt
У меня есть следующий случай использования: CMakeLists.txt описывает процесс сборки библиотеки MyLib. В файле libs \ CMakeLists.txt описывается процесс сборки библиотек, используемых MyLib. Он используется главным проектом с помощью add_subdirectory().
я могу контролировать, если MyLib будет общей или статической библиотеки с:
cmake -DBUILD_SHARED=TRUE|FALSE
Все ЛИЭС используемые MyLib должны быть связаны статически (MyLib должен быть «автономным» библиотека). Но я не хочу, чтобы сделать их статическими явно в LIBS \ CMakeLists.txt
using add_library(... STATIC ...)
, как они могут быть использованы в другом проекте в качестве общих из них.
Могу ли я контролировать, как будет создан мой add_subdirectory (проект)?
Это правильно. Кроме того, вы можете решить эту проблему, не вводя новую переменную, изменяя и восстанавливая BUILD_SHARED_LIBS на лету. –