C:\blah\duh\bin\Android>"C:\Program Files (x86)\CMake\bin\cmake.exe" --build . --target SysTest --use-stderr -- -j 8
我有以上CMake构建命令。我明白了 - 建造。将从当前目录中的Makefile构建。但是选项-target SysTest和-j 8有什么作用呢?这是--build的CMake文档,但我承认我不理解--target的使用。
--build <dir>
Build a CMake-generated project binary tree.
This abstracts a native build tool’s command-line interface with the following options:
<dir> = Project binary directory to be built.
--target <tgt> = Build <tgt> instead of default targets.
--config <cfg> = For multi-configuration tools, choose <cfg>.
--clean-first = Build target 'clean' first, then build.
(To clean only, use --target 'clean'.)
--use-stderr = Ignored. Behavior is default in CMake >= 3.0.
-- = Pass remaining options to the native tool.
答案 0 :(得分:11)
如果我有
add_executable(hello hello.cpp)
add_executable(goodbye goodbye.cpp)
然后CMake为每个可执行文件创建“构建目标”。它还创建了其他构建目标,例如构建所有内容的“所有”构建目标。
默认情况下,如果未指定目标,则执行'all'目标,这意味着构建了hello和goodbye。
如果您只想构建其中一个目标,则可以指定要构建的目标。