小编Pau*_*ulR的帖子

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)

...
Run Code Online (Sandbox Code Playgroud)

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

当包含 CMakeLists.txt 作为子目录时,我可以做些什么来防止构建测试,或者是否有更好的方法来实现类似的结果?

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

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

c++ testing doctest cmake subdirectory

6
推荐指数
1
解决办法
1263
查看次数

vcpkg:回忆安装包后显示的 CMake 说明?

使用 vcpkg 安装软件包后,将显示帮助文本,例如...

The package fmt:x64-windows provides CMake targets:

    find_package(fmt CONFIG REQUIRED)
    target_link_libraries(main PRIVATE fmt::fmt fmt::fmt-header-only)
Run Code Online (Sandbox Code Playgroud)

...用于将它们与 CMake 一起使用所需的不同说明。如果您将来想回忆它而没有写下来,您从哪里获得这些信息?一些图书馆有比上述更多的指令。

c++ cmake vcpkg

5
推荐指数
1
解决办法
327
查看次数

标签 统计

c++ ×2

cmake ×2

doctest ×1

subdirectory ×1

testing ×1

vcpkg ×1