0

是)我有的:

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

  • iOS
  • 安卓
  • 视窗
  • 操作系统

cmake用作构建系统和ctest单元测试

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

我也知道,为了测试 Android 和 Windows,我可以qemu相应地使用wine

问题:

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

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

4

2 回答 2

3

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

于 2018-11-30T12:01:44.673 回答
1

我已经写了我自己的解决方案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

于 2016-04-08T12:25:04.040 回答