设置CLion的构建和二进制目录

6

我正在尝试在CLion项目中构建libwebsockets。在构建过程中,libwebsockets创建了一个头文件,其他文件需要用到它,并将其放在PROJECT_BINARY_DIR中。但是,CLion将所有内容构建在它为该项目创建的随机构建目录中,而头文件最终会出现在那个目录中。我尝试了以下操作:

  • 设置websockets_BINARY_DIR变量
  • 设置CMAKE_RUNTIME_OUTPUT_DIRECTORY变量
  • 设置CMAKE_LIBRARY_OUTPUT_DIRECTORY变量
  • 更改CMake缓存中的每个变量,使其指向不同于CLion随机目录的目录
  • 更改CLion偏好设置中的构建输出路径设置

然而这些都没有奏效,导致了我的问题:

  • 有没有一种方法可以告诉CLion在哪里进行构建(不仅仅是告诉它放置输出文件的位置,而是覆盖它选择的随机目录)?
  • 如果没有一种方法可以告诉CLion在哪里进行构建,是否有其他变量需要设置?

除了下面的答案外,请查看 https://dev59.com/Y18d5IYBdhLWcg3wch2i ,这基本上是相同的答案,不需要使用设置中的混淆链接。 - Bjorn
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://dev59.com/I18e5IYBdhLWcg3wVJXH#28200869

但在我的情况下(Clion 1.1),它并不起作用。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接