我知道CMake的EXCLUDE_FROM_ALL
允许我从make
和make all
中排除目标。
如果我只想从默认make
中排除目标,但将其包含在make all
中,该怎么办?
例:
add_executable(aaa ${AAA_SOURCE})
add_executable(bbb EXCLUDE_FROM_ALL ${BBB_SOURCE})
结果:
make
仅构建aaa
make all
仅构建aaa
我想要什么:
make
仅构建aaa
make all
构建aaa
和bbb
当将CMake与Unix Makefiles Generator一起使用时,您将获得具有默认目标all
的make文件。
当你运行make <target>
时,<target>
会得到构建。如果省略参数,则默认目标是生成。添加all
并不意味着构建所有目标,而是将目标称为 all
。
要回答您的问题:由于 (" 和 " all
"( 是同一个目标,因此不能将构建添加到一个目标,而不能添加到另一个目标。
顺便说一下,没有明确的定义all
应该包括什么,参见 makefile 中的"all"代表什么?