从“make”中排除目标,但包含在CMake的“makeall”中



我知道CMake的EXCLUDE_FROM_ALL允许我从makemake 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构建aaabbb

当将CMake与Unix Makefiles Generator一起使用时,您将获得具有默认目标all的make文件。
当你运行make <target> 时,<target>会得到构建。如果省略参数,则默认目标是生成。添加all并不意味着构建所有目标,而是将目标称为 all
要回答您的问题:由于 (" 和 " all"( 是同一个目标,因此不能将构建添加到一个目标,而不能添加到另一个目标。

顺便说一下,没有明确的定义all应该包括什么,参见 makefile 中的"all"代表什么?

最新更新