繁体   English   中英

cmake命令行选项

[英]cmake command line option

我是VS开发和Cmake的新手。 我使用CMake-GUI生成可视化工作室解决方案,并能够成功构建它。

但是,我们的代码现在已经达到了我们最终可以构建和链接到二进制文件的阶段。 有多个人检查代码,我们想做一个夜间构建,所以我想为此编写一个批处理文件。

但是,我试图从命令行调用cmake并遇到问题。

在cmake-gui中,为了配置,我提供了两个值我的源代码路径Path,其中将生成二进制文件

但是,当我尝试运行相同的over命令行时(使用以下命令)

cmake -G "NMake Makefiles" -D CMAKE_SOURCE_DIR="D:\source_code" -D CMAKE_BINARY_DIR="D:\source_code\build\gen\host"

CMake抛出一个错误:源目录“D:\\”是一个文件而不是一个目录。

我没有任何运气也试过以下变化

cmake -G "NMake Makefiles" -D PROJECT_SOURCE_DIR="D:\source_code" -D PROJECT_BINARY_DIR="D:\source_code\build\gen

有人可以指导我正确的语法。

提前致谢

您不应尝试在命令行上设置任何这些变量。 它们在第一次读取CMakeLists.txt时由CMake自动设置。

相反,您应该从二进制目录中运行 CMake命令,并将路径传递给包含顶级CMakeLists.txt的目录。 所以类似于:

cd D:\source_code\build\gen\host
cmake -G"NMake Makefiles" D:\source_code

顺便说一句,CMake的命令行解析不是很好(例如看到这个答案 )。 我建议避免在-D参数后留空格。

试试这个

删除-D和参数之间的空格

 cmake -G "NMake Makefiles" -DCMAKE_SOURCE_DIR="D:\source_code" -DCMAKE_BINARY_DIR="D:\source_code\build\gen\host"

在我的项目中,我们使用了CMake-GUI。 但我创建了一个shell脚本文件,以避免重复填写条目。

样本要点如下。

cd <DIRECTORY_TO_BUILD> && <CMAKE-INSTALLATION-PATH>/bin/cmake.exe --build= "<BUILDSOURCE-PATH> -DQt5Widgets_DIR:PATH=C:/Qt/5.12.0/msvc2017/lib/cmake/Qt5Widgets

我已经开始使用cd了,脚本将创建运行脚本的构建文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM