【问题标题】:CMake/CTest integration with wine/qemuCMake/CTest 与 wine/qemu 的集成
【发布时间】:2016-03-13 09:37:46
【问题描述】:

我有什么:

我为不同平台开发原生统一插件,包括

  • iOS
  • 安卓
  • 窗户
  • OSX

我使用cmake 作为构建系统,ctest 用于单元测试

我的构建环境 - osx,所以在 osx 上运行单元测试不是问题。

我还知道,为了测试 Android 和 Windows,我可以相应地使用 qemuwine

问题:

  • 我只是想知道cmake/ctest 提供任何变量来指定一些模拟器,如wineqemu?还是我应该为此编写一些自定义脚本?

  • 如何在 iOS(设备或模拟器)上运行本机单元测试? qemu可以吗?

【问题讨论】:

    标签: c++ cmake qemu wine ctest


    【解决方案1】:

    查看CMAKE_CROSSCOMPILING_EMULATOR。最好将其设置在您的工具链文件中。

    【讨论】:

      【解决方案2】:

      我已经为wine编写了自己的解决方案

      WineCTestWrapper.cmake:

      macro (add_wine_test_wrapper_script TEST)
          set(TESTNAME ${TEST})
          configure_file (
              ${PROJECT_SOURCE_DIR}/thirdparty/cmake/modules/WineCTestWrapper.sh.in
              ${CMAKE_CURRENT_BINARY_DIR}/${TESTNAME} @ONLY
          )
      endmacro ()
      

      WineCTestWrapper.sh.in:

      #!/bin/bash
      # simple wrapper for windows PE-executable format
      
      wine @TESTNAME@.exe
      

      使用方法:

      include(WineCTestWrapper)
      
      ...
      
      find_program(WINE_FOUND wine)
      add_test(some_test some_test)
      if(WINE_FOUND)
          add_wine_test_wrapper_script(some_test)
      endif()
      

      注意默认MXE创建带有.exe后缀的可执行文件,这个解决方案使用这个'功能'

      更新

      另一种可能的解决方案https://cmake.org/pipermail/cmake/2008-August/023534.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-26
        • 2020-10-13
        • 1970-01-01
        • 2021-11-09
        • 2012-07-28
        • 2015-07-06
        • 2021-01-31
        相关资源
        最近更新 更多