如果构建路径包含空格,则CMAKE_BINARY_DIR未正确展开

时间:2014-07-11 07:38:32

标签: build cmake

如果构建路径包含空格,我如何解决构建项目的问题?

变量设置如下:

set(CMAKE_BINARY_DIR @CMAKE_BINARY_DIR@)

并且正在被特别用于生成构建文件

file(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/tcl_version.tcl")

似乎它没有逃脱空间角色(例如“〜/ My Project /").

1 个答案:

答案 0 :(得分:1)

configure_file()(正如您在评论中提及的那样,它所涉及的)与C预处理器的工作方式有点类似,因为它的文本替换。因此,如果CMAKE_BINARY_DIR等于,例如C:/Program Files,然后配置的文件将如下所示:

set(CMAKE_BINARY_DIR C:/Program Files)

我相信很明显会将CMAKE_BINARY_DIR设置为2元素列表。在普通的CMake文件中,您可以添加引号;对于正在配置的源文件也是如此:

set(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")