6

我正在尝试在 CLion 的项目中构建 libwebsockets。在构建过程中,libwebsockets 会创建一个其他文件需要的头文件并将其放在 PROJECT_BINARY_DIR 中。CLion 在它为项目创建的随机构建目录中构建所有内容,并且头文件最终位于该目录中。我试过了:

  • 设置 websockets_BINARY_DIR 变量
  • 设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY 变量
  • 设置 CMAKE_LIBRARY_OUTPUT_DIRECTORY 变量
  • 将 CMake 缓存中的每个变量更改为远离 CLion 的随机目录
  • 更改 CLion 首选项中的构建输出路径设置

这些都不起作用,这让我想到了我的问题:

  • 有没有办法告诉 CLion 在哪里构建(不仅仅是在哪里放置它的一些输出,而是如何覆盖它选择的随机目录)。
  • 如果没有办法告诉 CLion 在哪里构建,我应该设置另一个变量吗?
4

2 回答 2

9

我不知道如何设置构建目录。

下面是如何使用 Clion 设置 bin 目录的示例

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)。

于 2015-08-27T13:42:50.390 回答
0

您还可以查看 Clion 内置路径变量:https ://www.jetbrains.com/help/clion/2019.2/absolute-path-variables.html

于 2019-09-12T15:27:38.703 回答