我需要向项目中的目标添加一个包含双引号和空格的编译器选项。我使用target_compile_options
添加一个选项。
当我在命令行中添加选项时,CMake使用"
转义\
并添加了额外的"
(我想第二个是由于空白),因此破坏汇编。
CMakeLists.txt命令:
target_compile_options(myTarget -Woption="PARAM VALUE" -otherOption)
输出:
compiler.exe "-Woption=\"PARAM VALUE\"" -otherOption -o myTarget.o -c myTarget.ext
所需的输出:
compiler.exe -Woption="PARAM VALUE" -otherOption -o myTarget.o -c myTarget.ext
我认为我有两个问题。一种是转义双引号,另一种是转义空格。
是否可以在编译器选项中添加包含双引号和空格的选项?如果可以的话,有人可以为我指出正确的方法吗?
我使用交叉编译器,因此我使示例通用,但是如果它起了作用,这就是编译目标的方式:
set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> <FLAGS> <INCLUDES> -o <OBJECT> -c <SOURCE>")
cmake版本3.12
构建平台:Windows