From 2ca05d025cba536b5fc42ecf0ada9661ed8891f5 Mon Sep 17 00:00:00 2001 From: saker Date: Mon, 21 Aug 2023 23:08:18 -0400 Subject: [PATCH] Bump mingw-std-threads submodule (#6817) * Bump submodule and generate std headers * Commit submodule update * Downgrade to earlier commit Can be upgraded once a proper C++20 MinGW compiler is available for the docker images. * Downgrade to the correct commit * Append mingw_stdthreads to EXTRA_LIBRARIES Currently for this CMake version, it seems that there is no support to link other targets to object libraries. I'll add it to EXTRA_LIBRARIES instead. * Add LMMS_ prefix to USE_MINGW_STD_THREADS * Use built-in MINGW CMake variable * Use lowercase rather than uppercase --- src/3rdparty/CMakeLists.txt | 6 ++++++ src/3rdparty/mingw-std-threads | 2 +- src/CMakeLists.txt | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index 7a6b88775..a95332a07 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -7,6 +7,12 @@ ADD_SUBDIRECTORY(hiir) ADD_SUBDIRECTORY(rpmalloc) ADD_SUBDIRECTORY(weakjack) +if(MINGW) + option(MINGW_STDTHREADS_GENERATE_STDHEADERS "" ON) + add_subdirectory(mingw-std-threads) + set(LMMS_USE_MINGW_STD_THREADS ON PARENT_SCOPE) +endif() + # The lockless ring buffer library is compiled as part of the core SET(RINGBUFFER_DIR "${CMAKE_SOURCE_DIR}/src/3rdparty/ringbuffer/") SET(RINGBUFFER_DIR ${RINGBUFFER_DIR} PARENT_SCOPE) diff --git a/src/3rdparty/mingw-std-threads b/src/3rdparty/mingw-std-threads index 10665829d..6c2061b7d 160000 --- a/src/3rdparty/mingw-std-threads +++ b/src/3rdparty/mingw-std-threads @@ -1 +1 @@ -Subproject commit 10665829daaedc28629e5e9b014fe498c20d73f2 +Subproject commit 6c2061b7da41d6aa1b2162ff4383ec3ece864bc6 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 23923f616..f483d8b41 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -170,6 +170,10 @@ if(LMMS_HAVE_MP3LAME) list(APPEND EXTRA_LIBRARIES mp3lame::mp3lame) endif() +if(LMMS_USE_MINGW_STD_THREADS) + list(APPEND EXTRA_LIBRARIES mingw_stdthreads) +endif() + SET(LMMS_REQUIRED_LIBS ${LMMS_REQUIRED_LIBS} ${CMAKE_THREAD_LIBS_INIT} ${QT_LIBRARIES}