Приветствую. Хочу прояснить - можно ли вообще и примерно как. Допустим, имет два проекта - main и sub
main
├── CMakeLists.txt
└── sub
└── CMakeLists.txt
main - мой, sub - чужой проект добавленный через git submodule add, например. sub потенциально может содержать любые артефакты - ho library, shared library, … . Могу ли я получить make install цель со следующими свойствами:
- Мне не нужно править ни одной строки в подпроекте, просто клонирую и делаю что-то в main для подключения в родительский проект.
- Подпроект sub устанавливается в поддиректорию главного проекта.
Для пример - выхлоп от main - исполняемый exe_bin, от sub - libsub.so. После make install полчается:
usr/
└── local
├── bin
│ └── exe_bin
└── libexec
└── main
└── sub
└── usr
└── local
└── lib
└── libsub.so
Т.е. идея в том, что брать на стороне какой-то проект и подключать его и устанавливать полностью локально для конкретного проекта, а не общесистемно.
Пока что крутил ExternalProject_Add(), но пока без успеха (может он вообще не умеет, а я парюсь). Можно ли это сделать? Как (желательно миниальный пример хотя бы с псевдокодом)?