2014-07-11 59 views
0

如何解決構建路徑包含空間時構建項目的問題?如果構建路徑包含空格,CMAKE_BINARY_DIR未正確擴展

變量設置是這樣的:

set(CMAKE_BINARY_DIR @[email protected])

並且使用了大量專爲生成生成文件

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

看來它並沒有逃脫的空間字符(例如「〜/ My Project /」)。

+0

是否在'configure_file()'處理的文件中? – Angew

+0

@Angew:是的。 –

+0

然後將其添加到問題中。 – Angew

回答

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 "@[email protected]")