Настройка сборки CLion и бинарного каталога

Я пытаюсь создать libwebsockets внутри своего проекта в CLion. Во время сборки libwebsockets создает заголовочный файл, необходимый для других файлов, и помещает его в PROJECT_BINARY_DIR. CLion строит все внутри случайного каталога сборки, который он создает для проекта, и заголовочный файл попадает в этот каталог. Я пробовал:

  • Установка переменной websockets_BINARY_DIR
  • Установка переменной CMAKE_RUNTIME_OUTPUT_DIRECTORY
  • Установка переменной CMAKE_LIBRARY_OUTPUT_DIRECTORY
  • Изменение каждой переменной в кеше CMake так, чтобы она указывала в сторону от случайного каталога CLion.
  • Изменение параметра пути вывода сборки в настройках CLion

Ни одна из этих работ не приводит меня к моим вопросам:

  • Есть ли способ указать CLion, где собирать (не только куда поместить часть его вывода, но и как переопределить выбранный случайный каталог).
  • Если нет способа указать CLion, где строить, есть ли другая переменная, которую я должен установить?

person Huhwha    schedule 03.08.2015    source источник
comment
В дополнение к ответу ниже проверьте stackoverflow.com /questions/26819712/, что в значительной степени совпадает с ответом без запутанной ссылки для использования настроек.   -  person Bjorn    schedule 15.02.2016


Ответы (2)


Я не знаю, как установить каталог сборки.

Ниже приведены примеры того, как настроить каталог bin с помощью Clion.

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

или (отдельно для .exe, .dll, .lib):

set(dir ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${dir}/lib")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${dir}/lib")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${dir}/bin")

Также я добавил ссылку о том, как настроить каталог сборки: https://stackoverflow.com/a/28200869/3001953

Но в моем случае это не работает (Clion 1.1).

person Maks    schedule 27.08.2015

Вы также можете взглянуть на встроенные переменные пути Clion: https://www.jetbrains.com/help/clion/2019.2/absolute-path-variables.html

person Jordan    schedule 12.09.2019