2014-11-08 4 views
24

У меня возникли проблемы с изменением каталога сборки через CLion. Я пробовал: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin"), но он, похоже, не меняется и остается неизменным (/home/adil/.clion10/system/cmake/generated/c05c962b/c05c962b/Debug/Project).
Я также пробовал обходной путь here, но это тоже не работает.CLion - Изменение каталога построения по умолчанию

У кого-нибудь есть решение этой проблемы?

+0

Кроме того, имея эту проблему с помощью сборки CL-138.2344.17 на Mac. –

+1

У меня тоже есть эта проблема, но решение ниже приемлемо. Изменение CMakeLists.txt - глупая идея, так как это файл с версией. Конфигурация для каждого пользователя, такая как каталог сборки, никогда не должна переходить в исходные источники и обратно вверх. – srking

+0

@srking о том, как использовать переменную окружения CMake для каждого пользователя при вызове cmake, например: 'cmake -DVARIABLE = value' – wiped

ответ

36

Вам нужно префикс вашего bin на путь к текущей директории вашего проекта проживает в Вы можете использовать ${CMAKE_CURRENT_SOURCE_DIR}

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin") 

Обязательно. добавьте это до, связанное с директивой add_executable в файле CMakeLists.txt.

+4

или 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "$ {CMAKE_CURRENT_SOURCE_DIR}/lib") 'в случае библиотеки –

3

Вы можете использовать set_target_properties:

set_target_properties(YOUR_PROJECT PROPERTIES RUNTIME_OUTPUT_DIRECTORY "YOUR_BUILD_DIRECTORY") 
4

протертые отвечают правильно, только я должен добавить, что вы должны поставить эту set директивы до add_executable директивы, и до set директивы, где исходные файлы определены для add_executable, если вы не делаете в таким образом, выход будет таким же, и ошибки не будут запущены.

+1

точно ... не может понять, почему они сбивают вас с толку ... вы спасли мой день! спасибо – NikosKeyz

+1

Это занижено, потому что это явно комментарий к другому ответу. Это следует добавить туда, а не как отдельный ответ. – Killah

+0

Я только что добавил квалификацию Мрдева к ответу @ wiped. –

2

Перейдите в Настройки -> CMake и укажите относительный или абсолютный проход, где вы хотите, чтобы ваши файлы сборки сохранялись в поле «Создать выходный путь». Например ./bin выход будет создавать файлы в YourProject/bin/Debug/yourExeFile.exe

enter image description here

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