从`make`中排除目标,但在CMake中包含`make all`

时间:2018-01-05 03:17:38

标签: cmake

我知道CMake import re if re.match('\[\d+\]', file_name): print('File contains numbers in square brackets') else: print('File does not contain numbers in square brackets 允许我从EXCLUDE_FROM_ALLmake中排除目标。

如果我只希望从默认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 allaaa

1 个答案:

答案 0 :(得分:1)

在Unix Makefile文件生成器中使用CMake时,您将获得具有默认目标all的make文件。
当您运行make <target>时,<target>将获得构建。如果省略该参数,则默认目标为build。添加all并不意味着所有目标都已构建,但目标名为all 要回答您的问题:由于(&#34;&#34;和&#34; all&#34;)都是相同的目标,您无法将构建添加到一个目标,而不能添加到另一个目标。

顺便说一下,all应该包含的内容没有明确的定义,参见What does "all" stand for in a makefile?