Что я имею:
Я разрабатываю нативный плагин Unity для разных платформ, включая
я использую cmake
как система сборки и ctest
для юнит-тестов
Моя среда сборки — osx
, так что это не проблема для запуска модульных тестов на OSX.
Также я знаю, что для тестирования Android и Windows я могу использовать qemu
а также wine
соответственно.
Вопросы:
мне просто интересно cmake/ctest
предоставить любые переменные для указания некоторых эмуляторов, таких как wine
или же qemu
? Или я должен написать несколько пользовательских сценариев для этого?
Как запустить собственные модульные тесты на iOS (устройстве или эмуляторе)? Это возможно с qemu
?
Проверять, выписываться CMAKE_CROSSCOMPILING_EMULATOR. Лучше всего установить его в свой набор инструментов.
Я написал свое собственное решение для 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