Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream' into revamp-search
Browse files Browse the repository at this point in the history
  • Loading branch information
sakertooth committed Mar 2, 2025
2 parents 2c09a1e + 9159533 commit 0369726
Show file tree
Hide file tree
Showing 191 changed files with 3,043 additions and 1,900 deletions.
80 changes: 61 additions & 19 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ concurrency:
jobs:
linux-x86_64:
name: linux-x86_64
runs-on: ubuntu-latest
container: ghcr.io/lmms/linux.gcc:20.04
runs-on: ubuntu-22.04
env:
CMAKE_OPTS: >-
-DUSE_WERROR=ON
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DUSE_COMPILE_CACHE=ON
-DWANT_DEBUG_CPACK=ON
CCACHE_MAXSIZE: 0
CCACHE_NOCOMPRESS: 1
MAKEFLAGS: -j2
Expand All @@ -25,6 +25,29 @@ jobs:
with:
fetch-depth: 0
submodules: recursive
- name: Clone fltk
uses: actions/checkout@v4
with:
repository: fltk/fltk
path: fltk
ref: 27d991f046bdebb12bfd58f7c05a19f135979c29
fetch-depth: 1
- name: Configure winehq
run: |
sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings
wget -O - https://dl.winehq.org/wine-builds/winehq.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key -
sudo wget -NP /etc/apt/sources.list.d/ \
https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources
- name: Install packages
run: |
sudo apt-get update -y
sudo apt-get install -y --no-install-recommends \
$(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt)
sudo apt-get install -y --install-recommends g++-multilib gcc-multilib winehq-stable wine-stable-dev
sudo apt-get install -y --install-recommends \
$(xargs < .github/workflows/deps-ubuntu-24.04-fltk.txt)
- name: Cache ccache data
uses: actions/cache@v3
with:
Expand All @@ -33,6 +56,14 @@ jobs:
ccache-${{ github.job }}-${{ github.ref }}-
ccache-${{ github.job }}-
path: ~/.ccache
- name: Configure fltk
run: |
cmake -S fltk -B fltk/build -DFLTK_BUILD_SHARED_LIBS=ON -DFLTK_BACKEND_WAYLAND=ON \
-DFLTK_USE_LIBDECOR_GTK=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_BUILD_GL=OFF
- name: Install fltk
run: |
cmake --build fltk/build
sudo cmake --install fltk/build --prefix /usr
- name: Configure
run: |
ccache --zero-stats
Expand Down Expand Up @@ -84,11 +115,20 @@ jobs:
with:
fetch-depth: 0
submodules: recursive
- name: Clone fltk
uses: actions/checkout@v4
with:
repository: fltk/fltk
path: fltk
ref: 27d991f046bdebb12bfd58f7c05a19f135979c29
fetch-depth: 1
- name: Install system packages
run: |
sudo apt-get update -y
sudo apt-get install -y --no-install-recommends \
$(xargs < .github/workflows/deps-ubuntu-24.04-gcc.txt)
sudo apt-get install -y --install-recommends \
$(xargs < .github/workflows/deps-ubuntu-24.04-fltk.txt)
- name: Cache ccache data
uses: actions/cache@v3
with:
Expand All @@ -97,13 +137,19 @@ jobs:
ccache-${{ github.job }}-${{ github.ref }}-
ccache-${{ github.job }}-
path: ~/.ccache
- name: Configure fltk
run: |
cmake -S fltk -B fltk/build -DFLTK_BUILD_SHARED_LIBS=ON -DFLTK_BACKEND_WAYLAND=ON \
-DFLTK_USE_LIBDECOR_GTK=OFF -DFLTK_BUILD_TEST=OFF -DFLTK_BUILD_GL=OFF
- name: Install fltk
run: |
cmake --build fltk/build
sudo cmake --install fltk/build --prefix /usr
- name: Configure
run: |
ccache --zero-stats
cmake -S . \
-B build \
-DWANT_VST_32=OFF \
-DWANT_VST_64=OFF \
$CMAKE_OPTS
- name: Build
run: cmake --build build
Expand Down Expand Up @@ -192,7 +238,6 @@ jobs:
mkdir build
cmake -S . \
-B build \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)" \
-DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \
$CMAKE_OPTS \
-DUSE_WERROR=OFF
Expand Down Expand Up @@ -231,7 +276,6 @@ jobs:
mingw:
name: mingw64
runs-on: ubuntu-latest
container: ghcr.io/lmms/linux.mingw:20.04
env:
CMAKE_OPTS: >-
-Werror=dev
Expand All @@ -242,12 +286,12 @@ jobs:
CCACHE_NOCOMPRESS: 1
MAKEFLAGS: -j2
steps:
- name: Enable POSIX MinGW
- name: Configure apt
run: |
update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
sudo sh -c 'echo "deb http://ppa.launchpad.net/tobydox/mingw-w64/ubuntu focal main" > \
/etc/apt/sources.list.d/tobydox-mingw-w64.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72931B477E22FEFD47F8DECE02FE5F12ADDE29B2
sudo apt-get update -y
- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Check out
Expand All @@ -264,6 +308,10 @@ jobs:
ccache-${{ github.job }}-64-${{ github.ref }}-
ccache-${{ github.job }}-64-
path: ~/.ccache
- name: Install dependencies
run: |
sudo apt-get install -y --no-install-recommends \
$(xargs < .github/workflows/deps-ubuntu-24.04-mingw.txt)
- name: Configure
run: |
ccache --zero-stats
Expand Down Expand Up @@ -301,19 +349,13 @@ jobs:
with:
fetch-depth: 0
submodules: recursive
- name: Update vcpkg (TEMPORARY)
run: |
cd $env:VCPKG_INSTALLATION_ROOT
git pull
.\bootstrap-vcpkg.bat
shell: pwsh
- name: Cache vcpkg dependencies
id: cache-deps
uses: actions/cache@v3
with:
key: vcpkg-x64-${{ hashFiles('vcpkg.json') }}
key: vcpkg-msvc-x86_64-${{ hashFiles('vcpkg.json') }}
restore-keys: |
vcpkg-x64-
vcpkg-msvc-x86_64-
path: build\vcpkg_installed
- name: Cache ccache data
uses: actions/cache@v3
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/deps-ubuntu-24.04-fltk.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
libcairo2-dev
libpango1.0-dev
wayland-protocols
2 changes: 1 addition & 1 deletion .github/workflows/deps-ubuntu-24.04-gcc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ g++
libasound2-dev
libc6-dev
libfftw3-dev
libfltk1.3-dev
libfluidsynth-dev
libgig-dev
libgtk2.0-0
Expand Down Expand Up @@ -46,6 +45,7 @@ qtbase5-dev
qtbase5-dev-tools
qtbase5-private-dev
qttools5-dev-tools
qtwayland5
software-properties-common
ssh-client
stk
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/deps-ubuntu-24.04-mingw.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
binutils-mingw-w64
ccache
cmake
fftw-mingw-w64
file
flac-mingw-w64
fltk-mingw-w64
fluidsynth-mingw-w64
g++-mingw-w64-i686
g++-mingw-w64-x86-64
gcc-mingw-w64
gcc-mingw-w64-i686
gcc-mingw-w64-x86-64
git
glib2-mingw-w64
lame-mingw-w64
libgig-mingw-w64
liblist-moreutils-perl
libsamplerate-mingw-w64
libsndfile-mingw-w64
libsoundio-mingw-w64
libvorbis-mingw-w64
libxml-parser-perl
libz-mingw-w64-dev
mingw-w64-tools
nsis
portaudio-mingw-w64
qt5base-mingw-w64
qt5svg-mingw-w64
qttools5-dev-tools
sdl2-mingw-w64
stk-mingw-w64
45 changes: 22 additions & 23 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -240,29 +240,28 @@ if(LMMS_BUILD_APPLE)
endif()
find_package(Perl)

IF(WANT_LV2)
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(LV2 lv2)
PKG_CHECK_MODULES(LILV lilv-0)
ENDIF()
IF(NOT LV2_FOUND AND NOT LILV_FOUND)
UNSET(LV2_FOUND CACHE)
UNSET(LILV_FOUND CACHE)
FIND_PACKAGE(LV2 CONFIG)
FIND_PACKAGE(LILV CONFIG)
IF(LILV_FOUND)
SET(LILV_LIBRARIES "lilv::lilv")
ENDIF()
ENDIF()
IF(LV2_FOUND AND LILV_FOUND)
SET(LMMS_HAVE_LV2 TRUE)
SET(STATUS_LV2 "OK")
ELSE()
SET(STATUS_LV2 "not found, install it or set PKG_CONFIG_PATH appropriately")
ENDIF()
ELSE(WANT_LV2)
SET(STATUS_LV2 "not built as requested")
ENDIF(WANT_LV2)
if(WANT_LV2)
if(PKG_CONFIG_FOUND)
pkg_check_modules(LV2 lv2)
endif()

find_package(Lilv)
if(Lilv_FOUND)
set(LILV_LIBRARIES Lilv::lilv)
endif()

# Ensure both dependencies are found
if(NOT LV2_FOUND)
set(STATUS_LV2 "not found, install lv2 or set PKG_CONFIG_PATH appropriately")
elseif(NOT Lilv_FOUND)
set(STATUS_LV2 "not found, install lilv or set PKG_CONFIG_PATH appropriately")
else()
set(LMMS_HAVE_LV2 TRUE)
set(STATUS_LV2 "OK")
endif()
else()
set(STATUS_LV2 "not built as requested")
endif()

IF(WANT_SUIL)
IF(PKG_CONFIG_FOUND)
Expand Down
7 changes: 5 additions & 2 deletions cmake/apple/MacDeployQt.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ set(APP "${CPACK_TEMPORARY_INSTALL_DIRECTORY}/${CPACK_PROJECT_NAME_UCASE}.app")

# Toggle command echoing & verbosity
# 0 = no output, 1 = error/warning, 2 = normal, 3 = debug
if(DEFINED ENV{CPACK_DEBUG})
set(CPACK_DEBUG "$ENV{CPACK_DEBUG}")
endif()
if(NOT CPACK_DEBUG)
set(VERBOSITY 1)
set(COMMAND_ECHO NONE)
Expand Down Expand Up @@ -107,8 +110,8 @@ file(GLOB LIBS "${APP}/Contents/lib/${lmms}/*.so")
# Inform macdeployqt about LADSPA plugins; may depend on bundled fftw3f, etc.
file(GLOB LADSPA "${APP}/Contents/lib/${lmms}/ladspa/*.so")

# Inform linuxdeploy about remote plugins
list(APPEND REMOTE_PLUGINS "${APP}/Contents/MacOS/*Remote*")
# Inform macdeployqt about remote plugins
file(GLOB REMOTE_PLUGINS "${APP}/Contents/MacOS/*Remote*")

# Collect, sort and dedupe all libraries
list(APPEND LIBS ${LADSPA})
Expand Down
2 changes: 0 additions & 2 deletions cmake/linux/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ if(WANT_CPACK_TARBALL)
return()
endif()

install(FILES launch_lmms.sh DESTINATION bin)

# Standard CPack options
set(CPACK_GENERATOR "External" PARENT_SCOPE)
set(CPACK_EXTERNAL_ENABLE_STAGING true PARENT_SCOPE)
Expand Down
Loading

0 comments on commit 0369726

Please sign in to comment.