CMake:防止在子目录库项目中构建测试可执行文件目标

保尔

我已经编写了一个使用doctest的小型库。在CMakeLists.txt中,我有:

...

add_library(my_lib STATIC ${SRCS} $<TARGET_OBJECTS:common_files>)
add_executable(tests ${SRCS} $<TARGET_OBJECTS:common_files>)
target_compile_definitions(my_lib PRIVATE -DDOCTEST_CONFIG_DISABLE)

...

通过时在项目中使用add_subdirectory库时,仅在需要库时才构建库和测试可执行文件。

当将CMakeLists.txt包含在子目录中时,我该怎么做以防止构建测试,或者有没有更好的方法来获得类似的结果?

我正在使用Ninja来构建项目。

我可以ninja -t targets通过命令行检查目标并仅构建所需的目标,但是我可以使CMake从all目标中排除子目录中的测试吗?

前贡献者

如果我对您的理解正确,那么这正是CMake属性EXCLUDE_FROM_ALL的功能。它可以用作目标属性(如果要仅排除该目标),也可以用作目录属性以排除子目录中的所有目标。要为目标设置此属性:

set_target_properties(tests PROPERTIES EXCLUDE_FROM_ALL True)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Java项目构建为可执行文件

来自分类Dev

CMake:使用静态库在一个项目中构建多个可执行文件

来自分类Dev

从相同的源代码创建单独的目标文件,并使用CMake链接到可执行文件

来自分类Dev

在C#.NET项目中使用(ffmpeg)可执行文件

来自分类Dev

CLion和CMake:仅构建没有可执行文件的库?

来自分类Dev

XCTest:无法找到捆绑包“目标测试”,因为找不到其可执行文件

来自分类Dev

CMake-如何创建可执行文件,但不添加到“所有”目标?

来自分类Dev

CMake-如何为目标可执行文件设置多个编译定义?

来自分类Dev

CMake OpenCV 3.0.0以及在Ubuntu中构建可执行文件和库

来自分类Dev

CMake:是否可以仅从静态库而不从源构建可执行文件?

来自分类Dev

如何在cmake中将预构建的目标文件添加到可执行文件

来自分类Dev

在TFS上构建要复制Node.js测试项目中的可执行文件

来自分类Dev

指示堆栈构建可执行文件的目标目录

来自分类Dev

如何生成可执行文件列表作为单独的cmake目标

来自分类Dev

将Java项目构建为可执行文件

来自分类Dev

CMake:使用静态库在一个项目中构建多个可执行文件

来自分类Dev

从相同的源代码创建单独的目标文件,并使用CMake链接到可执行文件

来自分类Dev

使用LaunchAppAndWait在Installshield MSI项目中以管理员身份运行可执行文件

来自分类Dev

CMake:将不同的OpenCV库链接到同一项目的不同可执行文件

来自分类Dev

如何列出Linux中的所有可执行文件(目录,子目录,$ PATH)?

来自分类Dev

有什么方法可以使bash搜索子目录以找到可执行文件吗?

来自分类Dev

在目录的子目录中编译几个程序,并使用makefile将可执行文件放置在不同的目录中

来自分类Dev

如何使用CMake将测试可执行文件放入单独的文件夹中?

来自分类Dev

CMake:如何为测试子目录项目重用目标文件?

来自分类Dev

CMake:将静态库从子目录链接到另一个子目录中的可执行文件

来自分类Dev

Cmake 项目中不存在 Qt 可执行文件

来自分类Dev

cmake 在添加的可执行文件中使用库目标

来自分类Dev

如何使可执行文件独立于项目目录

来自分类Dev

WIX:可执行文件在子目录中找不到 dll

Related 相关文章

  1. 1

    将Java项目构建为可执行文件

  2. 2

    CMake:使用静态库在一个项目中构建多个可执行文件

  3. 3

    从相同的源代码创建单独的目标文件,并使用CMake链接到可执行文件

  4. 4

    在C#.NET项目中使用(ffmpeg)可执行文件

  5. 5

    CLion和CMake:仅构建没有可执行文件的库?

  6. 6

    XCTest:无法找到捆绑包“目标测试”,因为找不到其可执行文件

  7. 7

    CMake-如何创建可执行文件,但不添加到“所有”目标?

  8. 8

    CMake-如何为目标可执行文件设置多个编译定义?

  9. 9

    CMake OpenCV 3.0.0以及在Ubuntu中构建可执行文件和库

  10. 10

    CMake:是否可以仅从静态库而不从源构建可执行文件?

  11. 11

    如何在cmake中将预构建的目标文件添加到可执行文件

  12. 12

    在TFS上构建要复制Node.js测试项目中的可执行文件

  13. 13

    指示堆栈构建可执行文件的目标目录

  14. 14

    如何生成可执行文件列表作为单独的cmake目标

  15. 15

    将Java项目构建为可执行文件

  16. 16

    CMake:使用静态库在一个项目中构建多个可执行文件

  17. 17

    从相同的源代码创建单独的目标文件,并使用CMake链接到可执行文件

  18. 18

    使用LaunchAppAndWait在Installshield MSI项目中以管理员身份运行可执行文件

  19. 19

    CMake:将不同的OpenCV库链接到同一项目的不同可执行文件

  20. 20

    如何列出Linux中的所有可执行文件(目录,子目录,$ PATH)?

  21. 21

    有什么方法可以使bash搜索子目录以找到可执行文件吗?

  22. 22

    在目录的子目录中编译几个程序,并使用makefile将可执行文件放置在不同的目录中

  23. 23

    如何使用CMake将测试可执行文件放入单独的文件夹中?

  24. 24

    CMake:如何为测试子目录项目重用目标文件?

  25. 25

    CMake:将静态库从子目录链接到另一个子目录中的可执行文件

  26. 26

    Cmake 项目中不存在 Qt 可执行文件

  27. 27

    cmake 在添加的可执行文件中使用库目标

  28. 28

    如何使可执行文件独立于项目目录

  29. 29

    WIX:可执行文件在子目录中找不到 dll

热门标签

归档