Где находится CMake SOURCE DIR?

эта переменная всегда устанавливается в директорию, содержащую CMakeLists.txt файл, который я запускаю cmake on?

например, если я хочу запустить cmake на CMakeLists.txt файл, который существует в каталоге выше моего текущего каталога, я бы пошел:cmake ...

в этом случае, что мой CMAKE_SOURCE_DIR установлен?

1 ответов


предполагая, что у вас есть 2 папки src и build здесь src содержит ваши проекты и build это пустая папка, которую вы только что создали, чтобы вы могли развернуть свою сборку вне дерева: CMAKE_SOURCE_DIR - это путь к src здесь CMAKE_BINARY_DIR указывает на build.

обратите внимание, что если вы выполняете сборку в дереве, 2 записи кэша получают одно и то же значение.

ссылки: CMake Полезные Переменные .


редактировать

дополнительные пояснения

<some location>/src/CMakeLists.txt ( so *src* is the root of your project )
<some location>/build

если вы делаете что-то вроде

cd <some location>/build
cmake <some location>/src

вы делаете из дерева строить, где CMAKE_SOURCE_DIR и CMAKE_BINARY_DIR получить различные значения