在CMake命令行中添加注释以绕过不必要的参数

时间:2015-08-03 18:33:39

标签: c++ visual-studio-2013 makefile cmake

我发现我目前使用的CMake工具存在问题,我正在寻找解决方法,

我使用的工具是VisualGDB,问题是它执行的CMake命令会附加一些不需要的信息。

它有一个向cmake命令添加参数的选项,但是它将这些参数放在命令的开头而不是结尾。

有关更详细的说明和错误报告,请参阅此帖子 https://sysprogs.com/w/forums/topic/bug-submission-possible-feature-improvement/#post-6786

这个问题与该帖子无关,但是, 所有我正在寻找一种方法将我的命令输入到cmake命令行并注释掉该工具提供的命令。

例如,对于我要输入的参数:

 -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE="../armtoolchain-vs.cmake" -DCMAKE_MAKE_PROGRAM="C:/SysGCC/raspberry/bin/make.exe" ../source #

 -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE="../armtoolchain-vs.cmake" -DCMAKE_MAKE_PROGRAM="C:/SysGCC/raspberry/bin/make.exe" ../source REM

所以最后的命令是:

Run "C:\Program Files (x86)\CMake\bin\cmake.exe  -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE="../armtoolchain-vs.cmake" -DCMAKE_MAKE_PROGRAM="C:/SysGCC/raspberry/bin/make.exe" ../source # -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_COLOR_MAKEFILE=OFF .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE=toolchain-Debug.cmake -DCMAKE_MAKE_PROGRAM="C:/SysGCC/raspberry/bin/make.exe"" in directory "D:\svn\Project\source/../vs_arm_debug/" on local computer

在#或REM参数的情况下,要忽略命令行的其余部分。

然而,当我使用其中任何一个时,它似乎不起作用,这是我得到的错误:

EXEC : CMake error : The source directory "D:/svn/Project" does not appear to contain CMakeLists.txt.

为了解释,该命令后退一步..并尝试在根项目目录中查找CMakeLists,而不是在源目录中查找

即使我只使用REM或#作为参数,te程序仍然会向我显示相同的错误,意味着它不会忽略#或REM之后的那些oterh参数。

我的问题是,我可以在参数行中注入什么来使cmake忽略以下参数?

cmake行是VS的构建脚本的一部分,如果它没有成功,他的项目不会构建。所以不幸的是,我必须使用这个工具,我无法独立运行cmake。

我或许可以创建一个came.bat文件并链接到它,包括

中的命令

1 个答案:

答案 0 :(得分:0)

答案是在与cmake.exe相同的目录中创建一个Cmake.bin文件,然后输入:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_COLOR_MAKEFILE=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE="../armtoolchain-vs.cmake" -DCMAKE_MAKE_PROGRAM="C:/SysGCC/raspberry/bin/make.exe" ../source
echo 

这会使不需要的参数进入回波线而不是cmake线