cmake - 为什么 CMake custom_target 运行两次?
问题描述
在构建测试目标后,我有自定义目标来运行我的测试
add_executable( my_unit_test
${SRC}
)
在运行测试之前,我修补了精灵
add_custom_command(
TARGET my_unit_test POST_BUILD
COMMENT "=================== PATCH UNIT TEST ELF ==================="
COMMAND patchelf --set-interpreter /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 my_unit_test
VERBATIM
)
这是运行测试的目标
add_test(
NAME UT
COMMAND ${CMAKE_CURRENT_BINARY_DIR}/my_unit_test
)
add_custom_target( run_ut_tests ALL
DEPENDS my_unit_test
)
add_custom_command( TARGET run_ut_tests POST_BUILD
COMMENT "=================== RUN UNIT TESTS ==================="
COMMAND ctest ARGS --output-on-failure
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
问题是测试运行了两次。这里有什么错误?
解决方案
推荐阅读
- java - 不兼容的 Spring Boot 版本导致应用程序无法启动。我们如何识别 pom 中包含的错误版本
- swift - 在按钮单击大纲视图上创建新的列单元格
- linux - 有没有办法使用 Wireshark 或 Tcpdump 检查套接字优先级?
- python - 如何使用 gensim KeyedVectors 减去和添加向量?
- tcp - TCP上的注册消息
- javascript - 使用样式参数的样式组件与功能组件
- linux - 从 Linux 命令行仅生成 SHA-256 哈希
- selenium - ChromeDriverService 和 Azure DevOps 代理
- ios - 通过 CocoaPods 添加 AudioKit 后的链接错误
- mysql - 在 SQL 过程中执行,限制为 i