如何防止Cmake在EXECUTABLE_OUTPUT_PATH下创建Debug / Release文件夹?

时间:2017-07-28 08:27:03

标签: cmake

我将EXECUTABLE_OUTPUT_PATH设置为${CMAKE_BINARY_DIR}/bin,但可执行文件是在${CMAKE_BINARY_DIR}/bin/Debug${CMAKE_BINARY_DIR}/bin/Release中创建的。

如何在没有Debug / Release文件夹的情况下将所有输出放在${CMAKE_BINARY_DIR}/bin下?

3 个答案:

答案 0 :(得分:1)

将变量CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG设置为将使用的目录" 原样"用于Debug构建。同样,对于Release版本,使用了变量 CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE

虽然您可以将这两个变量都设置为相同的值,但请注意,为发布版本创建的可执行文件将覆盖用于调试版本,这对于CMake来说并不自然。

答案 1 :(得分:0)

我假设您使用的是Visual Studio或XCode。因此,您可能希望设置RUNTIME_OUTPUT_DIRECTORY

  

用于构建RUNTIME目标文件的输出目录。

     

此属性指定应在其中构建运行时目标文件的目录。属性值可以使用生成器表达式。除非使用了生成器表达式,否则多配置生成器(VS,Xcode)会将每个配置子目录附加到指定的目录。

     

如果在创建目标时设置了该属性,则该属性由变量CMAKE_RUNTIME_OUTPUT_DIRECTORY的值初始化。

     

另请参阅RUNTIME_OUTPUT_DIRECTORY_< CONFIG>目标财产。

答案 2 :(得分:0)

CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE 所有字母都必须大写,我写成 CMAKE_RUNTIME_OUTPUT_DIRECTORY_Release 但它没有用。我太蠢了