From 6d100d1bbaddf15a4de23eef2bf784556b87fd87 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Sun, 12 May 2024 01:35:10 -0400 Subject: [PATCH] Remove support for msys2 (#7251) --- CMakeLists.txt | 10 -- cmake/modules/BuildPlugin.cmake | 4 - cmake/modules/DetectMachine.cmake | 5 - cmake/msys/extract_debs.sh | 19 --- cmake/msys/fetch_ppa.sh | 53 ------- cmake/msys/msys_helper.sh | 226 ----------------------------- cmake/nsis/CMakeLists.txt | 19 --- cmake/toolchains/MSYS-32.cmake | 4 - cmake/toolchains/MSYS-64.cmake | 5 - cmake/toolchains/common/MSYS.cmake | 22 --- src/CMakeLists.txt | 8 +- 11 files changed, 1 insertion(+), 374 deletions(-) delete mode 100644 cmake/msys/extract_debs.sh delete mode 100644 cmake/msys/fetch_ppa.sh delete mode 100644 cmake/msys/msys_helper.sh delete mode 100644 cmake/toolchains/MSYS-32.cmake delete mode 100644 cmake/toolchains/MSYS-64.cmake delete mode 100644 cmake/toolchains/common/MSYS.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 48d1904f0..2e0158e75 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,16 +145,6 @@ ELSE(LMMS_BUILD_WIN32) SET(STATUS_WINMM "") ENDIF(LMMS_BUILD_WIN32) - -# TODO: Fix linking issues with msys debug builds -IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug") - SET(WANT_GIG OFF) - SET(WANT_STK OFF) - SET(WANT_SWH OFF) - SET(STATUS_GIG "not built as requested") - SET(STATUS_STK "not built as requested") -ENDIF() - SET(CMAKE_CXX_STANDARD_REQUIRED ON) CHECK_INCLUDE_FILES(pthread.h LMMS_HAVE_PTHREAD_H) diff --git a/cmake/modules/BuildPlugin.cmake b/cmake/modules/BuildPlugin.cmake index 111bdf36b..aaccd3c4b 100644 --- a/cmake/modules/BuildPlugin.cmake +++ b/cmake/modules/BuildPlugin.cmake @@ -44,10 +44,6 @@ MACRO(BUILD_PLUGIN PLUGIN_NAME) LINK_DIRECTORIES("${CMAKE_BINARY_DIR}" "${CMAKE_SOURCE_DIR}") LINK_LIBRARIES(${QT_LIBRARIES}) ENDIF(LMMS_BUILD_WIN32) - IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug") - # Override Qt debug libraries with release versions - SET(QT_LIBRARIES "${QT_OVERRIDE_LIBRARIES}") - ENDIF() IF (NOT PLUGIN_LINK) SET(PLUGIN_LINK "MODULE") diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake index 65bc6d2b7..b9aa4c8c6 100644 --- a/cmake/modules/DetectMachine.cmake +++ b/cmake/modules/DetectMachine.cmake @@ -12,11 +12,6 @@ ELSE() SET(LMMS_BUILD_LINUX 1) ENDIF(WIN32) -# LMMS_BUILD_MSYS also set in build_winXX.sh -IF(LMMS_BUILD_WIN32 AND CMAKE_COMPILER_IS_GNUCXX AND DEFINED ENV{MSYSCON}) - SET(LMMS_BUILD_MSYS TRUE) -ENDIF() - MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}") SET(LMMS_HOST_X86 FALSE) SET(LMMS_HOST_X86_64 FALSE) diff --git a/cmake/msys/extract_debs.sh b/cmake/msys/extract_debs.sh deleted file mode 100644 index 939912bb2..000000000 --- a/cmake/msys/extract_debs.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -set -e - -ppa_dir=./ppa/ - -pushd $ppa_dir - -for f in *.deb; do - echo "Extracting $f..." - ar xv "$f" - rm debian-binary - rm control.tar.* - tar xf data.tar.* --exclude=*mingw*/bin/fluid - rm data.tar.* -done - -popd - -echo "Your extracted files should be located in $ppa_dir" diff --git a/cmake/msys/fetch_ppa.sh b/cmake/msys/fetch_ppa.sh deleted file mode 100644 index ba8697c81..000000000 --- a/cmake/msys/fetch_ppa.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -# Trusty=14.04, Precise=12.04 -PPA_DISTRO=trusty - -# Architecture=i386, amd64 -PPA_ARCH=amd64 - -# These shouldn't change -PPA_HOST=http://ppa.launchpad.net -PPA_USER=tobydox -PPA_PROJECT=mingw-x-trusty -PPA_ROOT=$PPA_HOST/$PPA_USER/$PPA_PROJECT/ubuntu - -PPA_URL=$PPA_ROOT/dists/$PPA_DISTRO/main/binary-$PPA_ARCH/Packages.gz - -ppa_dir=./ppa/ - -temp_file=/tmp/ppa_listing_$$ -temp_temp_file=/tmp/ppa_listing_temp_$$ - -skip_files="binutils openssl flac libgig libogg libvorbis x-bootstrap zlib" -skip_files="$skip_files x-runtime gcc qt_4 qt5 x-stk pkgconfig" -skip_files="$skip_files glib2 libpng" - -echo "Connecting to $PPA_URL to get list of packages..." -wget -qO- $PPA_URL | gzip -d -c | grep "Filename:" > $temp_file - -for j in $skip_files ; do - grep -v "$j" $temp_file > $temp_temp_file - mv $temp_temp_file $temp_file -done - -line_count=$(wc -l $temp_file |awk '{print $1}') - -echo "Found $line_count packages for download..." - -echo "Downloading packages. They will be saved to $ppa_dir" - -mkdir $ppa_dir - -while read -r j -do - echo "Downloading $j..." - echo "$PPA_ROOT/$j" - wget -qO "$ppa_dir$(basename "$j")" "$(echo "$PPA_ROOT/$j" | sed 's/\/Filename: /\//gi')" -done < $temp_file - - -echo "Cleaning up temporary files..." -rm -rf $temp_file - -echo "Packages have been saved to $ppa_dir. Please run extract_debs.sh" diff --git a/cmake/msys/msys_helper.sh b/cmake/msys/msys_helper.sh deleted file mode 100644 index a6a7e6aae..000000000 --- a/cmake/msys/msys_helper.sh +++ /dev/null @@ -1,226 +0,0 @@ -#!/bin/bash - -set -eu - -# Git repo information -fork="lmms" # i.e. "lmms" or "tobydox" -branch="master" # i.e. "master" or "stable-1.2" - -# Console colors -red="\\x1B[1;31m" -green="\\x1B[1;32m" -yellow="\\x1B[1;33m" -plain="\\x1B[0m" - -function info() { echo -e "\n${green}$1${plain}"; } -function warn() { echo -e "\n${yellow}$1${plain}"; } -function err() { echo -e "\n${red}$1${plain}"; exit 1;} - -info "Checking for mingw environment" -if ! env | grep MINGW; then - err " - Failed. Please relaunch using MinGW shell" -fi - -info "Preparing the git directory..." -mkdir "$HOME/.git" || true -touch "$HOME/.git/config" > /dev/null 2>&1 -git config --global http.sslverify false - -info "Cloning the repository..." -if [ -d ./lmms ]; then - warn " - Skipping, ./lmms already exists" -else - git clone -b $branch https://github.com/$fork/lmms.git -fi - -info "Fetching ppa using cmake/msys/fetch_ppas.sh..." -if [ -d "$HOME/ppa" ]; then - warn " - Skipping, $HOME/ppa already exists" -else - lmms/cmake/msys/fetch_ppa.sh -fi - -info "Extracting debs to $HOME/ppa/opt/, etc..." -if [ -d "$HOME/ppa/opt" ]; then - warn " - Skipping, $HOME/ppa/opt already exists" -else - lmms/cmake/msys/extract_debs.sh -fi - -info "Preparing library merge, making all qt headers writable..." -chmod u+w /mingw64/include/qt4 -R -chmod u+w /mingw32/include/qt4 -R - -info "Merging mingw headers and libraries from ppa over existing system libraries..." -if ! find /mingw64 | grep sndfile.h; then - command cp -r "$HOME/ppa/opt/mingw"* / -else - warn " - Skipping, sndfile.h has already been merged" -fi - -fltkver="1.3.3" -oggver="1.3.2" -vorbisver="1.3.5" -flacver="1.3.2" -gigver="4.0.0" -stkver="4.5.1" - -mingw_root="/$(echo "$MSYSTEM"|tr '[:upper:]' '[:lower:]')" - -info "Downloading and building fltk $fltkver" -if ! command -v fluid; then - wget http://fltk.org/pub/fltk/$fltkver/fltk-$fltkver-source.tar.gz -O "$HOME/fltk-source.tar.gz" - tar zxf "$HOME/fltk-source.tar.gz" -C "$HOME/" - pushd "$HOME/fltk-$fltkver" - - info " - Compiling fltk $fltkver..." - ./configure --prefix="$mingw_root" --enable-shared - make - - info " - Installing fltk..." - make install - -# ln -s $mingw_root/usr/local/bin/fluid.exe $mingw_root/bin/fluid.exe - popd -else - warn " - Skipping, fluid binary already exists" -fi - -info "Downloading and building libogg $oggver" -if [ ! -e "$mingw_root/lib/libogg.dll.a" ]; then - wget http://downloads.xiph.org/releases/ogg/libogg-$oggver.tar.xz -O "$HOME/libogg-source.tar.xz" - tar xf "$HOME/libogg-source.tar.xz" -C "$HOME/" - pushd "$HOME/libogg-$oggver" - - info " - Compiling libogg $oggver..." - ./configure --prefix="$mingw_root" - make - - info " - Installing libogg..." - make install - # for some reason libgig needs this - ./configure --prefix="/opt$mingw_root" - make - - info " - Installing libogg..." - make install - - popd -else - warn " - Skipping, libogg binary already exists" -fi - -info "Downloading and building libvorbis $vorbisver" -if [ ! -e "$mingw_root/lib/libvorbis.dll.a" ]; then - wget http://downloads.xiph.org/releases/vorbis/libvorbis-$vorbisver.tar.xz -O "$HOME/libvorbis-source.tar.xz" - tar xf "$HOME/libvorbis-source.tar.xz" -C "$HOME/" - pushd "$HOME/libvorbis-$vorbisver" - - info " - Compiling libvorbis $vorbisver..." - ./configure --prefix="$mingw_root" - make - - info " - Installing libvorbis..." - make install - - # for some reason libgig needs this - ./configure --prefix="/opt$mingw_root" - make - info " - Installing libvorbis..." - make install - - popd -else - warn " - Skipping, libvorbis binary already exists" -fi - -info "Downloading and building flac $flacver" - -if [ ! -e "$mingw_root/lib/libFLAC.dll.a" ]; then - - wget http://downloads.xiph.org/releases/flac/flac-$flacver.tar.xz -O "$HOME/flac-source.tar.xz" - tar xf "$HOME/flac-source.tar.xz" -C "$HOME/" - pushd "$HOME/flac-$flacver" - - info " - Compiling flac $flacver..." - ./configure --prefix="$mingw_root" - make - - info " - Installing flac..." - make install - - # for some reason libgig needs this - ./configure --prefix="/opt$mingw_root" - make - - info " - Installing flac..." - make install - - popd -else - warn " - Skipping, libvorbis flac already exists" -fi - -info "Downloading and building libgig $gigver" - -if [ ! -e "$mingw_root/lib/libgig/libgig.dll.a" ]; then - wget http://download.linuxsampler.org/packages/libgig-$gigver.tar.bz2 -O "$HOME/gig-source.tar.xz" - tar xf "$HOME/gig-source.tar.xz" -C "$HOME/" - pushd "$HOME/libgig-$gigver" - - info " - Compiling libgig $gigver..." - ./configure --prefix="$mingw_root" - make - - info " - Installing libgig..." - make install - - mv "$mingw_root/lib/bin/libakai-0.dll" "$mingw_root/bin" - mv "$mingw_root/lib/bin/libgig-7.dll" "$mingw_root/bin" - - popd -else - warn " - Skipping, libgig binary already exists" -fi - -info "Downloading and building stk $stkver" - -if [ ! -e "$mingw_root/lib/libstk.dll" ]; then - wget http://ccrma.stanford.edu/software/stk/release/stk-$stkver.tar.gz -O "$HOME/stk-source.tar.xz" - tar xf "$HOME/stk-source.tar.xz" -C "$HOME/" - pushd "$HOME/stk-$stkver" - - info " - Compiling stk $stkver..." - ./configure --prefix="$mingw_root" - make - - info " - Installing stk..." - make install - - mv "$mingw_root/lib/libstk.so" "$mingw_root/lib/libstk.dll" - mv "$mingw_root/lib/libstk-$stkver.so" "$mingw_root/lib/libstk-$stkver.dll" - - popd -else - warn " - Skipping, stk binary already exists" -fi - -# make a symlink to make cmake happy -if [ "$mingw_root" = "/mingw64" ]; then - if [ ! -e /opt/mingw64/bin/x86_64-w64-mingw32-pkg-config ]; then - ln -s /usr/bin/pkg-config /opt/mingw64/bin/x86_64-w64-mingw32-pkg-config - fi -elif [ "$mingw_root" = "/mingw32" ]; then - if [ ! -e /opt/mingw32/bin/i686-w64-mingw32-pkg-config ]; then - ln -s /usr/bin/pkg-config /opt/mingw32/bin/i686-w64-mingw32-pkg-config - fi -fi - -info "Cleaning up..." -rm -rf "$HOME/fltk-$fltkver" -rm -rf "$HOME/libogg-$oggver" -rm -rf "$HOME/libvorbis-$vorbisver" -rm -rf "$HOME/flac-$flacver" -rm -rf "$HOME/libgig-$gigver" -rm -rf "$HOME/stk-$stkver" -info "Done." diff --git a/cmake/nsis/CMakeLists.txt b/cmake/nsis/CMakeLists.txt index ee1bd45c3..ba41b085f 100644 --- a/cmake/nsis/CMakeLists.txt +++ b/cmake/nsis/CMakeLists.txt @@ -44,25 +44,6 @@ IF(WIN64) ") ENDIF() -# Fix windows paths for msys -IF(LMMS_BUILD_MSYS) - STRING(REPLACE "/" "\\\\" CPACK_PACKAGE_ICON "${CPACK_PACKAGE_ICON}") - STRING(REPLACE "/" "\\\\" CPACK_NSIS_MUI_ICON "${CPACK_NSIS_MUI_ICON}") - STRING(REPLACE "/" "\\\\" CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}") - STRING(REPLACE "/" "\\\\" CMAKE_BINARY_DIR_FIX "${CMAKE_BINARY_DIR}") - - # FIXME: there's no easy way to fix $INST_DIR, so we'll redefine it manually - IF(WIN64) - SET(NSIS_ARCH "win64") - ELSE() - SET(NSIS_ARCH "win32") - ENDIF() - SET(CPACK_NSIS_DEFINES " - ${CPACK_NSIS_DEFINES} - !define /redef INST_DIR ${CMAKE_BINARY_DIR_FIX}\\\\_CPack_Packages\\\\${NSIS_ARCH}\\\\NSIS\\\\${CPACK_PACKAGE_FILE_NAME} - ") -ENDIF() - # Setup missing parent scopes SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}" PARENT_SCOPE) SET(CPACK_NSIS_DEFINES "${CPACK_NSIS_DEFINES}" PARENT_SCOPE) diff --git a/cmake/toolchains/MSYS-32.cmake b/cmake/toolchains/MSYS-32.cmake deleted file mode 100644 index 698dd5437..000000000 --- a/cmake/toolchains/MSYS-32.cmake +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/MSYS.cmake) -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Win32.cmake) - -SET(MINGW_PREFIX /mingw32) \ No newline at end of file diff --git a/cmake/toolchains/MSYS-64.cmake b/cmake/toolchains/MSYS-64.cmake deleted file mode 100644 index 8becd51b3..000000000 --- a/cmake/toolchains/MSYS-64.cmake +++ /dev/null @@ -1,5 +0,0 @@ -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/MSYS.cmake) -INCLUDE(${CMAKE_CURRENT_LIST_DIR}/common/Win64.cmake) - -SET(MINGW_PREFIX /mingw64) -SET(MINGW_PREFIX32 /mingw32) diff --git a/cmake/toolchains/common/MSYS.cmake b/cmake/toolchains/common/MSYS.cmake deleted file mode 100644 index 0b27e8d32..000000000 --- a/cmake/toolchains/common/MSYS.cmake +++ /dev/null @@ -1,22 +0,0 @@ -# The target environment -SET(CMAKE_FIND_ROOT_PATH ${MINGW_PREFIX}) -SET(CMAKE_INSTALL_PREFIX ${MINGW_PREFIX}) - -# Windows msys mingw ships with a mostly-suitable preconfigured environment -SET(STRIP ${MINGW_PREFIX}/bin/strip) -SET(CMAKE_RC_COMPILER ${MINGW_PREFIX}/bin/windres) -SET(CMAKE_C_COMPILER ${MINGW_PREFIX}/bin/gcc) -SET(CMAKE_CXX_COMPILER ${MINGW_PREFIX}/bin/g++) - -# For 32-bit vst support -IF(WIN64) - # Specify the 32-bit cross compiler - SET(CMAKE_C_COMPILER32 ${MINGW_PREFIX32}/bin/gcc) - SET(CMAKE_CXX_COMPILER32 ${MINGW_PREFIX32}/bin/g++) -ENDIF() - -# Msys compiler does not support @CMakeFiles/Include syntax -SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES OFF) -SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES OFF) - -SET(LMMS_BUILD_MSYS 1) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ae5b55404..294ae1a07 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -212,13 +212,7 @@ set_target_properties(lmms PROPERTIES set_target_properties(lmmsobjs PROPERTIES AUTOUIC_SEARCH_PATHS "gui/modals") -IF(LMMS_BUILD_MSYS) - # ENABLE_EXPORTS property has no effect in some MSYS2 configurations. - # Add the linker flag manually to create liblmms.dll.a import library - SET_PROPERTY(TARGET lmms - APPEND_STRING PROPERTY LINK_FLAGS " -Wl,--out-implib,liblmms.dll.a" - ) -ELSEIF(NOT WIN32) +IF(NOT WIN32) if(CMAKE_INSTALL_MANDIR) SET(INSTALL_MANDIR ${CMAKE_INSTALL_MANDIR}) ELSE(CMAKE_INSTALL_MANDIR)