From 7567a8040aa42c842381e8eae846fa7eb6b9fe47 Mon Sep 17 00:00:00 2001 From: FyiurAmron Date: Mon, 17 Jun 2024 23:14:18 +0200 Subject: [PATCH] minor cleanup of MinGW-related scripts --- .github/workflows/build.yml | 13 +++-- cmake/build_win32.sh | 40 ------------- cmake/build_win64.sh | 3 - cmake/toolchains/MinGW-W64-32.cmake | 6 ++ cmake/toolchains/MinGW-W64-64.cmake | 9 +++ cmake/toolchains/Ubuntu-MinGW-W64-32.cmake | 2 - cmake/toolchains/Ubuntu-MinGW-W64-64.cmake | 4 -- .../toolchains/Ubuntu-MinGW-X-Trusty-32.cmake | 3 - .../toolchains/Ubuntu-MinGW-X-Trusty-64.cmake | 9 --- cmake/toolchains/common/MinGW-W64.cmake | 24 ++++++++ .../toolchains/common/Ubuntu-MinGW-W64.cmake | 17 ------ .../common/Ubuntu-MinGW-X-Trusty.cmake | 58 ------------------- cmake/toolchains/common/Win32.cmake | 6 -- cmake/toolchains/common/Win64.cmake | 7 --- cmake/toolchains/common/WinCrossCompile.cmake | 9 --- 15 files changed, 48 insertions(+), 162 deletions(-) delete mode 100755 cmake/build_win32.sh delete mode 100755 cmake/build_win64.sh create mode 100644 cmake/toolchains/MinGW-W64-32.cmake create mode 100644 cmake/toolchains/MinGW-W64-64.cmake delete mode 100644 cmake/toolchains/Ubuntu-MinGW-W64-32.cmake delete mode 100644 cmake/toolchains/Ubuntu-MinGW-W64-64.cmake delete mode 100644 cmake/toolchains/Ubuntu-MinGW-X-Trusty-32.cmake delete mode 100644 cmake/toolchains/Ubuntu-MinGW-X-Trusty-64.cmake create mode 100644 cmake/toolchains/common/MinGW-W64.cmake delete mode 100644 cmake/toolchains/common/Ubuntu-MinGW-W64.cmake delete mode 100644 cmake/toolchains/common/Ubuntu-MinGW-X-Trusty.cmake delete mode 100644 cmake/toolchains/common/Win32.cmake delete mode 100644 cmake/toolchains/common/Win64.cmake delete mode 100644 cmake/toolchains/common/WinCrossCompile.cmake diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b80d5df75b8..b13160b2f1f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,8 +37,10 @@ jobs: run: | ccache --zero-stats source /opt/qt5*/bin/qt5*-env.sh || true - mkdir build && cd build - cmake .. $CMAKE_OPTS -DCMAKE_INSTALL_PREFIX=./install + cmake -S . \ + -B build \ + -DCMAKE_INSTALL_PREFIX=./install \ + $CMAKE_OPTS - name: Build run: cmake --build build - name: Run tests @@ -194,8 +196,11 @@ jobs: - name: Configure run: | ccache --zero-stats - mkdir build && cd build - ../cmake/build_win${{ matrix.arch }}.sh + cmake -S . \ + -B build \ + -DCMAKE_INSTALL_PREFIX=./install \ + -DCMAKE_TOOLCHAIN_FILE="./cmake/toolchains/MinGW-W64-${{ matrix.arch }}.cmake" \ + $CMAKE_OPTS - name: Build run: cmake --build build - name: Package diff --git a/cmake/build_win32.sh b/cmake/build_win32.sh deleted file mode 100755 index bccda3a4802..00000000000 --- a/cmake/build_win32.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -# Accomodate both linux windows mingw locations -if [ -z "$ARCH" ]; then - ARCH=32 -fi - -MINGW=/mingw$ARCH - -if [ -z "$MSYSCON" ]; then - MINGW=/opt$MINGW - - DISTRO=$(lsb_release -si) - DISTRO_VERSION=$(lsb_release -sr) - - if [ "$DISTRO" != "Ubuntu" ]; then - echo "This script only supports Ubuntu" - exit 1 - fi - - if [ "$DISTRO_VERSION" == "14.04" ]; then - TOOLCHAIN="$DIR/toolchains/Ubuntu-MinGW-X-Trusty-$ARCH.cmake" - else - TOOLCHAIN="$DIR/toolchains/Ubuntu-MinGW-W64-$ARCH.cmake" - fi -else - TOOLCHAIN="$DIR/toolchains/MSYS-$ARCH.cmake" -fi - -export PATH=$MINGW/bin:$PATH -export CXXFLAGS="$CFLAGS" -if [ "$ARCH" == "32" ]; then - export CFLAGS="-march=pentium4 -mtune=generic -mpreferred-stack-boundary=5 -mfpmath=sse" -fi - -CMAKE_OPTS="-DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS" - -# shellcheck disable=SC2086 -cmake "$DIR/.." -DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN" $CMAKE_OPTS diff --git a/cmake/build_win64.sh b/cmake/build_win64.sh deleted file mode 100755 index 8dabe09f8f9..00000000000 --- a/cmake/build_win64.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -ARCH=64 "$DIR/build_win32.sh" diff --git a/cmake/toolchains/MinGW-W64-32.cmake b/cmake/toolchains/MinGW-W64-32.cmake new file mode 100644 index 00000000000..acbdef8dd5a --- /dev/null +++ b/cmake/toolchains/MinGW-W64-32.cmake @@ -0,0 +1,6 @@ + +set(WIN64 FALSE) + +set(CMAKE_SYSTEM_PROCESSOR i686) + +include(${CMAKE_CURRENT_LIST_DIR}/common/MinGW-W64.cmake) diff --git a/cmake/toolchains/MinGW-W64-64.cmake b/cmake/toolchains/MinGW-W64-64.cmake new file mode 100644 index 00000000000..b3cf59b4775 --- /dev/null +++ b/cmake/toolchains/MinGW-W64-64.cmake @@ -0,0 +1,9 @@ + +set(WIN64 TRUE) + +set(CMAKE_SYSTEM_PROCESSOR x86_64) +set(CMAKE_SYSTEM_PROCESSOR32 i686) + +set(CMAKE_TOOLCHAIN_FILE_32 "${CMAKE_CURRENT_LIST_DIR}/MinGW-W64-32.cmake") + +include(${CMAKE_CURRENT_LIST_DIR}/common/MinGW-W64.cmake) diff --git a/cmake/toolchains/Ubuntu-MinGW-W64-32.cmake b/cmake/toolchains/Ubuntu-MinGW-W64-32.cmake deleted file mode 100644 index 6f7ec6f23d5..00000000000 --- a/cmake/toolchains/Ubuntu-MinGW-W64-32.cmake +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Win32.cmake) -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Ubuntu-MinGW-W64.cmake) diff --git a/cmake/toolchains/Ubuntu-MinGW-W64-64.cmake b/cmake/toolchains/Ubuntu-MinGW-W64-64.cmake deleted file mode 100644 index a1b33ec6795..00000000000 --- a/cmake/toolchains/Ubuntu-MinGW-W64-64.cmake +++ /dev/null @@ -1,4 +0,0 @@ -SET(CMAKE_TOOLCHAIN_FILE_32 "${CMAKE_CURRENT_LIST_DIR}/Ubuntu-MinGW-W64-32.cmake") - -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Win64.cmake) -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Ubuntu-MinGW-W64.cmake) diff --git a/cmake/toolchains/Ubuntu-MinGW-X-Trusty-32.cmake b/cmake/toolchains/Ubuntu-MinGW-X-Trusty-32.cmake deleted file mode 100644 index 0103d35e72b..00000000000 --- a/cmake/toolchains/Ubuntu-MinGW-X-Trusty-32.cmake +++ /dev/null @@ -1,3 +0,0 @@ -SET(MINGW_PREFIX /opt/mingw32) - -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Ubuntu-MinGW-X-Trusty.cmake) diff --git a/cmake/toolchains/Ubuntu-MinGW-X-Trusty-64.cmake b/cmake/toolchains/Ubuntu-MinGW-X-Trusty-64.cmake deleted file mode 100644 index 0f448fef527..00000000000 --- a/cmake/toolchains/Ubuntu-MinGW-X-Trusty-64.cmake +++ /dev/null @@ -1,9 +0,0 @@ -SET(MINGW_PREFIX /opt/mingw64) -SET(MINGW_PREFIX32 /opt/mingw32) - -SET(WIN64 TRUE) - -SET(CMAKE_TOOLCHAIN_FILE_32 "${CMAKE_CURRENT_LIST_DIR}/Ubuntu-MinGW-X-Trusty-32.cmake") -SET(CMAKE_PREFIX_PATH_32 "${MINGW_PREFIX32}") - -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Ubuntu-MinGW-X-Trusty.cmake) diff --git a/cmake/toolchains/common/MinGW-W64.cmake b/cmake/toolchains/common/MinGW-W64.cmake new file mode 100644 index 00000000000..11b6a92d414 --- /dev/null +++ b/cmake/toolchains/common/MinGW-W64.cmake @@ -0,0 +1,24 @@ +# Toolchain for MinGW compiler + +set(CMAKE_SYSTEM_NAME Windows) +set(CMAKE_SYSTEM_VERSION 1) + +set(TOOLCHAIN_PREFIX ${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32) +set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) +set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) +set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres) + +set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX}) +set(ENV{PKG_CONFIG} /usr/bin/${TOOLCHAIN_PREFIX}-pkg-config) + +if(WIN64) + set(TOOLCHAIN_PREFIX32 ${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32) + set(CMAKE_C_COMPILER32 ${TOOLCHAIN_PREFIX32}-gcc) + set(CMAKE_CXX_COMPILER32 ${TOOLCHAIN_PREFIX32}-g++) +endif() + +# Search for programs in the build host directories +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# Search for libraries and headers in the target directories +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/toolchains/common/Ubuntu-MinGW-W64.cmake b/cmake/toolchains/common/Ubuntu-MinGW-W64.cmake deleted file mode 100644 index 2f78a441e7a..00000000000 --- a/cmake/toolchains/common/Ubuntu-MinGW-W64.cmake +++ /dev/null @@ -1,17 +0,0 @@ -# Toolchain for Ubuntu MinGw compiler shipped with the mingw-w64 and -# g++-mingw-w64 packages -SET(TOOLCHAIN_PREFIX ${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32) -set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) -set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++) -set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres) - -set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX}) -SET(ENV{PKG_CONFIG} /usr/bin/${TOOLCHAIN_PREFIX}-pkg-config) - -IF(WIN64) - SET(TOOLCHAIN_PREFIX32 ${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32) - SET(CMAKE_C_COMPILER32 ${TOOLCHAIN_PREFIX32}-gcc) - SET(CMAKE_CXX_COMPILER32 ${TOOLCHAIN_PREFIX32}-g++) -ENDIF() - -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/WinCrossCompile.cmake) diff --git a/cmake/toolchains/common/Ubuntu-MinGW-X-Trusty.cmake b/cmake/toolchains/common/Ubuntu-MinGW-X-Trusty.cmake deleted file mode 100644 index 686f4497f47..00000000000 --- a/cmake/toolchains/common/Ubuntu-MinGW-X-Trusty.cmake +++ /dev/null @@ -1,58 +0,0 @@ -IF(WIN64) - INCLUDE(${CMAKE_CURRENT_LIST_DIR}/Win64.cmake) -ELSE() - INCLUDE(${CMAKE_CURRENT_LIST_DIR}/Win32.cmake) -ENDIF() -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/WinCrossCompile.cmake) - -# The target environment -SET(CMAKE_FIND_ROOT_PATH ${MINGW_PREFIX}) -SET(CMAKE_INSTALL_PREFIX ${MINGW_PREFIX}) - -# Linux mingw requires explicitly defined tools to prevent clash with native system tools -SET(MINGW_TOOL_PREFIX ${MINGW_PREFIX}/bin/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-) - -# Specify the cross compiler -SET(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}gcc) -SET(CMAKE_CXX_COMPILER ${MINGW_TOOL_PREFIX}g++) -SET(CMAKE_RC_COMPILER ${MINGW_TOOL_PREFIX}windres) - -# Mingw tools -SET(STRIP ${MINGW_TOOL_PREFIX}strip) -SET(ENV{PKG_CONFIG} ${MINGW_TOOL_PREFIX}pkg-config) - -# For 32-bit vst support -IF(WIN64) - # Specify the 32-bit cross compiler - SET(MINGW_TOOL_PREFIX32 ${MINGW_PREFIX32}/bin/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32-) - SET(CMAKE_C_COMPILER32 ${MINGW_TOOL_PREFIX32}gcc) - SET(CMAKE_CXX_COMPILER32 ${MINGW_TOOL_PREFIX32}g++) -ENDIF() - -INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include) - -LINK_DIRECTORIES(${MINGW_PREFIX}/lib ${MINGW_PREFIX}/bin) - -# Qt tools -SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin) -SET(QT_QMAKE_EXECUTABLE ${QT_BINARY_DIR}/qmake) - -# Echo modified cmake vars to screen for debugging purposes -IF(NOT DEFINED ENV{MINGW_DEBUG_INFO}) - MESSAGE("") - MESSAGE("Custom cmake vars: (blank = system default)") - MESSAGE("-----------------------------------------") - MESSAGE("* CMAKE_C_COMPILER : ${CMAKE_C_COMPILER}") - MESSAGE("* CMAKE_CXX_COMPILER : ${CMAKE_CXX_COMPILER}") - MESSAGE("* CMAKE_RC_COMPILER : ${CMAKE_RC_COMPILER}") - MESSAGE("* ENV{PKG_CONFIG} : $ENV{PKG_CONFIG}") - MESSAGE("* MINGW_TOOL_PREFIX32 : ${MINGW_TOOL_PREFIX32}") - MESSAGE("* CMAKE_C_COMPILER32 : ${CMAKE_C_COMPILER32}") - MESSAGE("* CMAKE_CXX_COMPILER32 : ${CMAKE_CXX_COMPILER32}") - MESSAGE("* STRIP : ${STRIP}") - MESSAGE("* QT_BINARY_DIR : ${QT_BINARY_DIR}") - MESSAGE("* QT_QMAKE_EXECUTABLE : ${QT_QMAKE_EXECUTABLE}") - MESSAGE("") - # So that the debug info only appears once - SET(ENV{MINGW_DEBUG_INFO} SHOWN) -ENDIF() diff --git a/cmake/toolchains/common/Win32.cmake b/cmake/toolchains/common/Win32.cmake deleted file mode 100644 index bc20775d6c0..00000000000 --- a/cmake/toolchains/common/Win32.cmake +++ /dev/null @@ -1,6 +0,0 @@ -SET(CMAKE_SYSTEM_NAME Windows) -SET(CMAKE_SYSTEM_VERSION 1) - -SET(CMAKE_SYSTEM_PROCESSOR i686) - -SET(WIN64 FALSE) diff --git a/cmake/toolchains/common/Win64.cmake b/cmake/toolchains/common/Win64.cmake deleted file mode 100644 index 155a658f42b..00000000000 --- a/cmake/toolchains/common/Win64.cmake +++ /dev/null @@ -1,7 +0,0 @@ -SET(CMAKE_SYSTEM_NAME Windows) -SET(CMAKE_SYSTEM_VERSION 1) - -SET(CMAKE_SYSTEM_PROCESSOR x86_64) -SET(CMAKE_SYSTEM_PROCESSOR32 i686) - -SET(WIN64 TRUE) diff --git a/cmake/toolchains/common/WinCrossCompile.cmake b/cmake/toolchains/common/WinCrossCompile.cmake deleted file mode 100644 index a2d6ff2e929..00000000000 --- a/cmake/toolchains/common/WinCrossCompile.cmake +++ /dev/null @@ -1,9 +0,0 @@ -# Required by cmake if `uname -s` is inadaquate -SET(CMAKE_SYSTEM_NAME Windows) -SET(CMAKE_SYSTEM_VERSION 1) - -# Search for programs in the build host directories -SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# For libraries and headers in the target directories -SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) \ No newline at end of file