2014-01-19 3 views
1

Я работаю над своим первым проектом, используя cmake, и по большей части он прошел хорошо, но я столкнулся с одной проблемой, которую я не могу понять.Исправлена ​​директория вывода cmake

Предположим, у меня есть файл CMakeLists.txt, расположенный по адресу ~/project/build. Я хотел бы, чтобы выход из cmake (а не двоичные файлы, но файлы makefile/configuration) не зависел от того, откуда я запускаю cmake.

В качестве примера, если мой терминал находится в каталоге ~/project/build, вызов cmake ~/project/build создает файл makefile и все остальное в каталоге ~/project/build. Это то поведение, которое я бы хотел. Если я вызываю cmake ~/project/build из любого другого места, он создает make-файл и все остальное в любой директории, на которую ссылается терминал.

Можно ли заставить cmake генерировать свой файл makefile и связанные с ним файлы в той же папке, что и файл CMakeLists.txt? Я просмотрел документацию, и у меня не возникло проблем с выяснением того, как изменить двоичные выходные каталоги, но я не могу найти никакого упоминания о том, что я пытаюсь сделать.

Я понимаю, что это довольно небольшое раздражение (это не так сложно переместить в мою папку для сборки, прежде чем строить проект), но мне просто интересно, возможно ли это, и если есть какая-то причина, это не рекомендуется.

+1

Вы не должны иметь' CMakeLists.txt', расположенный в директории сборки. – Antonio

ответ

3

Вы должны использовать 2 команды для этого

1) CMake -B «Dest путь (Любой путь, в котором и хотите, чтобы генерировать выходные файлы)» -H "Исходный путь (корень CMakeLists.txt путь) "

2) CMake --build "Dest путь"

Смежные вопросы