Очевидно, что вы используете генератор одиночной конфигурации - это означает, что вы не можете иметь более одной конкретной конфигурации сборки в одном каталоге сборки. На самом деле проблема существует даже для мультиконфигурационных генераторов (по крайней мере, для CMake <3.16). </p>
Чтобы создать пакет, нужно запустить CMake, который генерирует файлы сборки, затем построить проект, и, наконец, может сделать пакет (например, w / make package
). Последнее действие запускает CPack, который выполняет make install DESTDIR=<some-temporary-dir>
, а затем cpack
просто сжимает каталог в архив. Таким образом, имея каталог сборки с единственной конфигурацией , невозможно иметь архив с несколькими из них.
Чтобы сделать это возможным, вы должны запустить CMake 4 раза, выполняя установку в одну и ту же установку. местоположение, а затем упаковать этот каталог в пакет. Это можно сделать с помощью CMake + CPack, но ИМХО это проще сделать с помощью тривиального сценария оболочки:)