То, что вы спрашиваете, является наиболее частым вариантом использования CMake.
Чтобы весь процесс сборки происходил в произвольном каталоге, вы должны запустить cmake /path/to/your/project
из этого каталога (или использовать cmake-gui).
Ваш исходный каталог не будет затронут, пока вы явно не скажете CMake выводить туда некоторые файлы.
Что касается пункта 2:
Вы должны поместить install()
вызовы в свои списки CMakeLists.txt (см. документацию по install()
) и установите CMAKE_INSTALL_PREFIX в каталог, куда вы хотите скопировать файлы.После этого вы можете запустить make install
или cmake -P cmake_install.cmake
из каталога сборки, чтобы установить эти файлы.