如何在CMakeLists.txt中转义CMake生成器

时间:2017-10-02 21:44:33

标签: android cmake escaping

我正在为Android编译taglib,我偶然发现了一个问题。我不知道如何在CMakeLists.txt中转义cmake -G参数。

CONFIGURE_COMMAND ${CMAKE_COMMAND}
                      ${CMAKE_CURRENT_SOURCE_DIR}/external/taglib-${TAGLIB_VERSION}/.
                      -DCMAKE_SYSTEM_NAME=Android
                      -DCMAKE_ANDROID_API=${ANDROID_NATIVE_API_LEVEL}
                      -DCMAKE_ANDROID_ARCH_ABI=${ANDROID_ABI}
                      -DCMAKE_ANDROID_NDK=${ANDROID_NDK}
                      -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK}/build/cmake/android.toolchain.cmake"
  How to escape? ->   -G"\"Unix Makefiles\""
                      -DCMAKE_MAKE_PROGRAM=${ANDROID_NDK}/prebuilt/windows-x86_64/bin/make.exe
                      -DBUILD_SHARED_LIBS=ON
                      -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_SOURCE_DIR}/build/taglib/install

-G"\"Unix Makefiles\""

如何在CMakeLists.txt中转义这个?

我收到了CMake错误:

enter image description here

编辑:似乎我逃脱了它,仍然无法正常工作?

enter image description here

1 个答案:

答案 0 :(得分:0)

这种格式有效(逃避空间):

-GUnix\ Makefiles