CPACK_SET_DESTDIR
Логический переключатель, позволяющий CPack использовать механизм DESTDIR при упаковке.
DESTDIR означает DESTination DIRectory. Он часто используется пользователями makefile для установки программного обеспечения в нестандартное расположение. Это базовый механизм перемещения, который не следует использовать в Windows (см. CMAKE_INSTALL_PREFIX документацию). Обычно он вызывается так:
make DESTDIR=/home/john install
что установит рассматриваемое программное обеспечение с использованием префикса установки, например /usr/local с добавлением DESTDIR значения, что в итоге даёт /home/john/usr/local. При подготовке пакета CPack сначала устанавливает пакеты в локальный (в дереве сборки) каталог, используя тот же DESTDIR механизм. Тем не менее, если CPACK_SET_DESTDIR задано, то CPack установит DESTDIR перед локальной установкой. Наиболее заметное различие заключается в том, что без CPACK_SET_DESTDIR, CPack использует CPACK_PACKAGING_INSTALL_PREFIX в качестве префикса, тогда как с установленным CPACK_SET_DESTDIR, CPack будет использовать CMAKE_INSTALL_PREFIX в качестве префикса.
Ручная установка CPACK_SET_DESTDIR может помочь (или просто быть необходимой), если некоторые правила установки используют абсолютные DESTINATION (см. команду CMake install()). Однако, начиная с CPack/CMake 2.8.3, установщики RPM и DEB пытаются обрабатывать DESTDIR автоматически, поэтому пользователю редко требуется его задавать.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/variable/CPACK_SET_DESTDIR.html