【发布时间】:2014-02-17 20:29:58
【问题描述】:
我正在尝试使我的 cmake 项目自动编译,但是当我的路径包含空格时我遇到了一些困难。
这是我的命令行(Windows 命令提示符)
C:\Code\codetrainerplugins-build>type %CODETRAINER_PATH%\include\common\exportapi.h
#pragma once
... the file is found ...
这是我的 CMakeLists.txt 文件:
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
PROJECT (CodeTrainerPlugins)
MESSAGE("$ENV{CODETRAINER_PATH}")
FIND_PATH (CODETRAINER_FRAMEWORK_PATH
NAMES include/common/ExportApi.h
PATHS
ENV CODETRAINER_PATH
)
if (CODETRAINER_FRAMEWORK_PATH)
MESSAGE(STATUS "CodeTrainer Framework found at: ${CODETRAINER_FRAMEWORK_PATH}")
else()
MESSAGE(FATAL_ERROR "CodeTrainer Framework not found")
endif()
ADD_SUBDIRECTORY(function)
ADD_SUBDIRECTORY(test)
这是当 CODETRAINER_PATH 变量包含空格时的输出(见路径中的空格):
C:\Code\codetrainerplugins-build>echo %CODETRAINER_PATH%
"C:\Code Trainer"
C:\Code\codetrainerplugins-build>
C:\Code\codetrainerplugins-build>cmake ..\codetrainerplugins
-- Building for: Visual Studio 10
"C:\Code Trainer"
CMake Error at CMakeLists.txt:16 (MESSAGE):
CodeTrainer Framework not found
-- Configuring incomplete, errors occurred!
See also "C:/Code/codetrainerplugins-build/CMakeFiles/CMakeOutput.log".
C:\Code\codetrainerplugins-build>
但是当使用的路径没有空格时,一切正常(见下文):
C:\Code\codetrainerplugins-build>echo %CODETRAINER_PATH%
C:\CodeTrainer
C:\Code\codetrainerplugins-build>cmake ..\codetrainerplugins
C:\CodeTrainer
-- CodeTrainer Framework found at: C:/CodeTrainer
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Code/codetrainerplugins-build
C:\Code\codetrainerplugins-build>
你有解决这个问题的办法吗?
我正在为 Windows 使用 cmake 2.8.12。
谢谢, 尤利安
【问题讨论】: