我有很多类似的错误警告信息,如下所示:
CMake Warning (dev) at cmake/common.cmake:5 (source_group):
Syntax error in cmake code at
C:/yumen/wxgisgdal-read-only/cmake/common.cmake:5
when parsing string
Header Files\\ogr\ogrsf_frmts
Invalid escape sequence \o
Run Code Online (Sandbox Code Playgroud)
文件"C:/yumen/wxgisgdal-read-only/cmake/common.cmake"是这样的:
#add data
macro(add_files_macro FPATH FGROUP)
file(GLOB GDAL_AHHEADERS ${FPATH}/*.h ${FPATH}/*.hpp)
set(GDAL_HHEADERS ${GDAL_HHEADERS} ${GDAL_AHHEADERS})
source_group("Header Files\\${FGROUP}" FILES ${GDAL_AHHEADERS})
file(GLOB GDAL_ACSOURCES ${FPATH}/*.cpp ${FPATH}/*.cc ${FPATH}/*.c)
set(GDAL_CSOURCES ${GDAL_CSOURCES} ${GDAL_ACSOURCES})
source_group("Source Files\\${FGROUP}" FILES ${GDAL_ACSOURCES})
endmacro()
Run Code Online (Sandbox Code Playgroud)
下面是cmake错误信息
gdal version=[1.9.0]
GDAL lib name ... wxgisgdal19
c++ compiler ... cl
CMake Error at CMakeLists.txt:92 (option):
option called with incorrect number of arguments: BUILD_RELEASE_DEBUG_DIRS
Set OFF …Run Code Online (Sandbox Code Playgroud) 有没有一种强大的方法来规范化CMake中的路径?
例:
# Let's assume that an environment variable MY_ROOT_DIR is set
# that points to some directory.
set(MYFILE "$ENV{MY_ROOT_DIR}/somefile.txt")
message(${MYFILE})
# This will result for example in
# Win: C:\path\to\my\root\dir/somefile.txt
# Unix based: /path/to/my/root/dir/somefile.txt
Run Code Online (Sandbox Code Playgroud)
在此示例中,在将MY_ROOT_DIR其用作路径组件之前,需要对其进行规范化(即用斜杠替换反斜杠).你会如何在CMake中做到这一点?
CMake(或工具链下方的工具)可以处理具有混合分隔符(/或\)的路径,或者可以不处理.CMake /用作标准分隔符.CMake为具有错误路径分隔符的路径生成的典型警告\可能类似于:
CMake Warning (dev) at cmake_install.cmake:5 (set):
Syntax error in cmake code at
C:/path/to/my/root/build/cmake_install.cmake:5
when parsing string
C:\path\to\my\root/somefile.txt
Invalid escape sequence \p
Policy CMP0010 is not set: Bad variable reference syntax is an error. …Run Code Online (Sandbox Code Playgroud) cmake ×2