我有一个基于 CMake 的 C++ 项目,我需要将它集成到 CI/CD 管道中。管道有两个步骤,一个用于构建,另一个用于测试。在 Docker 容器中创建这个环境就像一个魅力,但会产生一个 2GB 的容器。所以我正在尝试实现一个多阶段的 Docker 构建,我将可执行文件复制到一个 Alpine 基础映像中。除了 cmake/ctest 功能外,所有这些都有效。我想公开将执行 CMake 生成目标的命令“make test”。
这是 CMake 为运行 ctest 创建的目标。
# Targets provided globally by CMake.
# Special rule for the target test
test:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..."
/usr/bin/ctest --force-new-ctest-process $(ARGS)
.PHONY : test
我无法弄清楚的问题是 ctest 从哪里获取测试配置。当我发出
ctest -N
在容器中它没有显示任何测试。
在 CMake 上寻找 SME 来教育我这应该如何工作。