gpt4 book ai didi

cmake - 如何将 -j 选项添加到我的 ctest cmake 文件中?

转载 作者:行者123 更新时间:2023-12-04 00:39:44 26 4
gpt4 key购买 nike

我想在运行 ctest 时运行并行作业。我试过设置

set(CTEST_PARALLEL_LEVEL 8)

CTestCustom.cmake.in

但这并没有在我重新生成构建文件后更改命令行选项。

我在 Windows 上,使用 Visual Studio。

最佳答案

您无法更改在 Visual Studio 上构建 RUN_TESTS 时使用的命令行。代码中没有选项(参见 cmGlobalGenerator::CreateDefaultGlobalTargets() )。

我看到以下可能的方法:

  1. 在您的 Windows 中全局设置 CTEST_PARALLEL_LEVEL 环境变量(因此它只是您机器 CMake/CTest 配置的一部分)或为您的 Visual Studio 添加启动脚本。

  2. 用类似的东西创建你自己的目标

    add_custom_target(
    RUN_TESTS_J8
    COMMAND ${CMAKE_CTEST_COMMAND} -j 8 -C $<CONFIGURATION> --force-new-ctest-process
    WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
    )

    并且可能将它与其他预定义的目标组合在一起

    set_property(GLOBAL PROPERTY USE_FOLDERS ON)
    set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake")
    set_property(TARGET RUN_TESTS_J8 PROPERTY FOLDER "CMake")
  3. 将构建和运行组合为测试本身的 POST_BUILD 步骤

    add_custom_command(
    TARGET MyTest
    POST_BUILD
    COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION> -R "^MyTest$" --output-on-failures
    WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
    )

    然后它将是 - 作为正常构建的一部分 - 本身并行执行。

更多引用资料

关于cmake - 如何将 -j 选项添加到我的 ctest cmake 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33959104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com