From e08830cbe5609645462190aa0c1a9e234353f38a Mon Sep 17 00:00:00 2001 From: Joerg Hofrichter Date: Tue, 23 Jun 2020 11:55:17 +0200 Subject: cmake: tests: Added option to use QEMU for running unittests This is useful when cross-compiling UHD for other architectures like arm or aarch64. --- host/CMakeLists.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'host/CMakeLists.txt') diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index a990585c6..0cee8582f 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -275,6 +275,35 @@ if(WIN32) add_definitions(-DNOMINMAX) #disables stupidity and enables std::min and std::max endif(WIN32) +######################################################################## +# Option to use QEMU for running unittests +# +# This is useful when cross-compiling UHD for other architectures like arm or +# aarch64 +# +# QEMU_EXECUTABLE must be set to the name of the QEMU executable. When using +# openembedded build environment, this should be set to "qemu-${TUNE_ARCH}" +# or "${WORKDIR}/recipe-sysroot-native/usr/bin/qemu-${TUNE_ARCH}" +# +# QEMU_SYSROOT must be set to the same sysroot of the target architecture that +# was used when compiling UHD. When using openembedded build environment, this +# should be set to "${WORKDIR}/recipe-sysroot" +######################################################################## +option(ENABLE_QEMU_UNITTESTS "Use QEMU for running unittests" OFF) +mark_as_advanced(ENABLE_QEMU_UNITTESTS) +if(ENABLE_QEMU_UNITTESTS) + message(STATUS "") + message(STATUS "Use QEMU for running unittests: ${ENABLE_QEMU_UNITTESTS}") + if("${QEMU_EXECUTABLE}" STREQUAL "") + message(FATAL_ERROR "The variable QEMU_EXECUTABLE is not set") + endif() + if("${QEMU_SYSROOT}" STREQUAL "") + message(FATAL_ERROR "The variable QEMU_SYSROOT is not set") + endif() + message(STATUS " QEMU executable: ${QEMU_EXECUTABLE}") + message(STATUS " QEMU sysroot: ${QEMU_SYSROOT}") +endif(ENABLE_QEMU_UNITTESTS) + ######################################################################## # Setup Boost ######################################################################## -- cgit v1.2.3