]> Repos - portaudio/commitdiff
Add a GitHub action for cross-compiling to MinGW via CMake.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 18 Oct 2020 09:09:40 +0000 (11:09 +0200)
committerRoss Bencina <rossb@audiomulch.com>
Thu, 22 Oct 2020 00:40:11 +0000 (11:40 +1100)
.github/workflows/c-cpp.yml
i686-w64-mingw32.cmake [new file with mode: 0644]

index 10ecb69da048a13226130c667da394493db4e5e1..ea0f17b0cf257728c9f63beb02f3bfa4d7ccb7a9 100644 (file)
@@ -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 (file)
index 0000000..c3331b6
--- /dev/null
@@ -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)