From: Etienne Dechamps Date: Sun, 18 Oct 2020 09:09:40 +0000 (+0200) Subject: Add a GitHub action for cross-compiling to MinGW via CMake. X-Git-Tag: v19.7.0~102 X-Git-Url: https://andrewgundersen.net/repos?a=commitdiff_plain;h=5bc01421c830f0785d5634acfc53ee0613bdb28e;p=portaudio Add a GitHub action for cross-compiling to MinGW via CMake. --- diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 10ecb69..ea0f17b 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -17,3 +17,16 @@ jobs: run: ./configure - name: make run: make + + build-cmake-mingw: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: apt + run: sudo apt-get install mingw-w64 + - name: cmake + run: cmake -DCMAKE_TOOLCHAIN_FILE=i686-w64-mingw32.cmake . + - name: make + run: make diff --git a/i686-w64-mingw32.cmake b/i686-w64-mingw32.cmake new file mode 100644 index 0000000..c3331b6 --- /dev/null +++ b/i686-w64-mingw32.cmake @@ -0,0 +1,17 @@ +# CMake Toolchain file for cross-compiling PortAudio to i686-w64-mingw32 +# Inspired from: https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/cross_compiling/Mingw +# Example usage: $ cmake -DCMAKE_TOOLCHAIN_FILE=i686-w64-mingw32.cmake . +# i686-w64-mingw32 needs to be installed for this to work. On Debian-based +# distributions the package is typically named `mingw-w64`. + +SET(CMAKE_SYSTEM_NAME Windows) + +SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc) +SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++) +SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres) + +SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32) + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)