Browse Source

Some fixes, add windows CI job

Johannes Kreutz 2 years ago
parent
commit
b64a3830ae
3 changed files with 30 additions and 2 deletions
  1. 18 0
      .gitlab-ci.yml
  2. 5 1
      trackpoint-app/thirdparty/qt.sh
  3. 7 1
      trackpoint-app/toolchain-mingw-w64.cmake

+ 18 - 0
.gitlab-ci.yml

@@ -18,3 +18,21 @@ build_release_linux:
     expire_in: 2 weeks
     paths:
       - trackpoint-app/build/TrackpointApp
+
+build_release_windows:
+  image: ubuntu:hirsute
+  stage: release
+  when: manual
+  before_script:
+    - apt-get update && apt-get install gcc-mingw-w64 wget cmake
+    - cd trackpoint-app
+    - ./build-dependencies-first.sh win-cross
+    - mkdir build
+  script:
+    - cd build
+    - cmake ..
+    - cmake --build . --parallel
+  artifacts:
+    expire_in: 2 weeks
+    paths:
+      - trackpoint-app/build/TrackpointApp.exe

+ 5 - 1
trackpoint-app/thirdparty/qt.sh

@@ -11,7 +11,7 @@ do
     OPTIONS+="-DBUILD_SHARED_LIBS=OFF "
   fi
   if [ $var == "win-cross" ]; then
-    OPTIONS+="-DCMAKE_TOOLCHAIN_FILE=../toolchain-mingw-w64.cmake "
+    OPTIONS+="-DCMAKE_TOOLCHAIN_FILE=../../../toolchain-mingw-w64.cmake -DBUILD_qtwayland=OFF "
   fi
 done
 
@@ -38,6 +38,10 @@ if [ $MACHINE == "Linux" ]; then
   OPTIONS+="-DINPUT_xcb=yes "
 fi
 
+if [ $MACHINE == "Mac" ]; then
+  OPTIONS+="-DBUILD_qtwayland=OFF "
+fi
+
 URL="https://download.qt.io/official_releases/qt/$QT_MAJOR.$QT_MINOR/$QT_MAJOR.$QT_MINOR.$QT_BUGFIX/single/qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX.tar.xz"
 
 mkdir -p "$BASEDIR"

+ 7 - 1
trackpoint-app/toolchain-mingw-w64.cmake

@@ -1,12 +1,15 @@
 set(CMAKE_SYSTEM_NAME Windows)
+set(CMAKE_SYSTEM_VERSION 1)
+set(CMAKE_SYSTEM_PROCESSOR x86_64)
 set(TOOLCHAIN_PREFIX x86_64-w64-mingw32)
 
 # cross compilers to use for C and C++
 set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
 set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
+set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
 
 # target environment on the build host system
-set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX} /usr/lib/gcc/${TOOLCHAIN_PREFIX})
+set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX})
 
 
 # modify default behavior of FIND_XXX() commands to
@@ -15,3 +18,6 @@ set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX} /usr/lib/gcc/${TOOLCHAIN_PREFI
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+set(CMAKE_EXE_LINKER_FLAGS_INIT "-static-libgcc -static-libstdc++")
+set(CMAKE_CROSS_COMPILING TRUE)