Интеграция CMake / CTest с Wine / QEMU

Что я имею:

Я разрабатываю нативный плагин Unity для разных платформ, включая

  • IOS
  • Android
  • Windows
  • OSX

я использую cmake как система сборки и ctest для юнит-тестов

Моя среда сборки — osx, так что это не проблема для запуска модульных тестов на OSX.

Также я знаю, что для тестирования Android и Windows я могу использовать qemu а также wine соответственно.

Вопросы:

  • мне просто интересно cmake/ctest предоставить любые переменные для указания некоторых эмуляторов, таких как wine или же qemu? Или я должен написать несколько пользовательских сценариев для этого?

  • Как запустить собственные модульные тесты на iOS (устройстве или эмуляторе)? Это возможно с qemu?

0

Решение

Проверять, выписываться CMAKE_CROSSCOMPILING_EMULATOR. Лучше всего установить его в свой набор инструментов.

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 @[email protected]

Как это использовать:

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 postfix, и это решение использует эту «функцию»

Обновить

Еще один возможный вариант https://cmake.org/pipermail/cmake/2008-August/023534.html

1

По вопросам рекламы [email protected]