Fix libcds on MinGW
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
INCLUDE(CheckCXXSourceCompiles)
|
||||
|
||||
IF(WIN32)
|
||||
SET(LMMS_BUILD_WIN32 1)
|
||||
ELSEIF(APPLE)
|
||||
@@ -86,3 +88,27 @@ IF(LMMS_BUILD_APPLE)
|
||||
STRING(REGEX REPLACE "\\.[0-9]*$" "" APPLE_OS_VER "${APPLE_OS_VER}")
|
||||
SET(CMAKE_MACOSX_RPATH 1)
|
||||
ENDIF()
|
||||
|
||||
# Detect MinGW
|
||||
IF(WIN32 AND CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(MINGW TRUE)
|
||||
ENDIF()
|
||||
|
||||
# Detect MINGW thread support
|
||||
IF(MINGW)
|
||||
CHECK_CXX_SOURCE_COMPILES("
|
||||
#include <mutex>
|
||||
#include <thread>
|
||||
int main(int argc, const char* argv[]) {
|
||||
std::mutex m;
|
||||
std::this_thread::yield();
|
||||
return 0;
|
||||
}
|
||||
" HAS_STD_THREADS)
|
||||
IF(NOT HAS_STD_THREADS)
|
||||
SET(NEED_MINGW_THREADS_REPLACEMENT TRUE)
|
||||
ELSE()
|
||||
SET(NEED_MINGW_THREADS_REPLACEMENT FALSE)
|
||||
ENDIF()
|
||||
MESSAGE(NEED_MINGW_THREADS_REPLACEMENT ${NEED_MINGW_THREADS_REPLACEMENT})
|
||||
ENDIF()
|
||||
|
||||
@@ -5,13 +5,16 @@ 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(MINGW_PREFIX /usr/${TOOLCHAIN_PREFIX})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${MINGW_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++)
|
||||
set(MINGW_PREFIX32 /usr/${TOOLCHAIN_PREFIX32})
|
||||
ENDIF()
|
||||
|
||||
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/WinCrossCompile.cmake)
|
||||
|
||||
Reference in New Issue
Block a user