我发现我目前使用的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文件并链接到它,包括
中的命令答案 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线