diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index db037e6f..a2872bde 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -217,10 +217,13 @@ tumbleweed/static-analysis: mingw64: image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD script: + - Xvfb :1 -screen 0 1024x768x16 -ac +extension GLX +render -noreset -nolisten tcp & + - export DISPLAY=:1 - mkdir -p obj && cd obj && mingw64-cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON - -DWITH_PCAP=ON -DWITH_TESTING=ON .. && make -j$(nproc) && - ctest --output-on-failure + -DWITH_PCAP=ON -DWITH_TESTING=ON .. && make -j$(nproc) + - export WINEPATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin + - ctest --output-on-failure tags: - shared except: @@ -236,10 +239,13 @@ mingw64: mingw32: image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$MINGW_BUILD script: + - Xvfb :1 -screen 0 1024x768x16 -ac +extension GLX +render -noreset -nolisten tcp & + - export DISPLAY=:1 - mkdir -p obj && cd obj && mingw32-cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON -DWITH_SFTP=ON -DWITH_SERVER=ON -DWITH_ZLIB=ON - -DWITH_PCAP=ON -DWITH_TESTING=ON .. && make -j$(nproc) && - ctest --output-on-failure + -DWITH_PCAP=ON -DWITH_TESTING=ON .. && make -j$(nproc) + - export WINEPATH=/usr/i686-w64-mingw32/sys-root/mingw/bin + - ctest --output-on-failure tags: - shared except: diff --git a/cmake/Modules/AddCMockaTest.cmake b/cmake/Modules/AddCMockaTest.cmake index 77325eeb..75318137 100644 --- a/cmake/Modules/AddCMockaTest.cmake +++ b/cmake/Modules/AddCMockaTest.cmake @@ -23,8 +23,16 @@ if(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) set(CMAKE_EXEC_LINKER_FLAGS_ADDRESSSANITIZER "-fsanitize=address" CACHE STRING "Address sanitizer executable linker flags") endif(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) +if (CMAKE_CROSSCOMPILING) + if (WIN32) + find_program(WINE_EXECUTABLE + NAMES wine) + set(TARGET_SYSTEM_EMULATOR ${WINE_EXECUTABLE}) + endif() +endif() + function (ADD_CMOCKA_TEST _testName _testSource) add_executable(${_testName} ${_testSource}) target_link_libraries(${_testName} ${ARGN}) - add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName}${CMAKE_EXECUTABLE_SUFFIX}) + add_test(${_testName} ${TARGET_SYSTEM_EMULATOR} ${CMAKE_CURRENT_BINARY_DIR}/${_testName}${CMAKE_EXECUTABLE_SUFFIX}) endfunction (ADD_CMOCKA_TEST)