Я хочу создать статическую или в какой-то момент общую библиотеку инфраструктуры X
, которая объединяет другие платформы p, q, r
в виде подмодулей git 1, 2, 3
и предоставляет простой в использовании API независимо от базовой структуры подмодулей.использовался.
Мой вопрос заключается в том, как мне создать такую библиотеку, которая сохранит общий API X
и в то же время позволит использовать подмодули git.Например, если gitsubmodule1
предоставляет mpeg conversion
через общий API каркаса X
и так далее, как такая библиотека может быть создана?
Также будет хорошо работать минимальный add_subdirectory()
для CMakeLists.txt
приsrc
и api
, поскольку они являются просто вложенными каталогами?
Просто ищите минимальный пример установки cmake recipe для такого сценария.Спасибо!
PS Не уверен, хорошо ли это объясняется.Для уточнения, пожалуйста, прокомментируйте ниже.
Примечание: Субмодули git сами по себе являются довольно большими кодами.
root/
├── CMakeLists.txt
├── gitsubmodule1
├── gitsubmodule2
├── gitsubmodule3
└── src
├── CMakeLists.txt
└── api
├── CMakeLists.txt
├── cpp
│ ├── 1_src.cpp
│ ├── 1_src.hpp
│ ├── 2_src.cpp
│ ├── 2_src.hpp
│ ├── 3_src.cpp
│ ├── 3_src.hpp
│ └── CMakeLists.txt
└── java
├── 1.java
├── 2.java
└── 3.java
...