CMake: migrate to new mingw-w64 toolchain
This commit is contained in:
@@ -3,22 +3,17 @@
|
||||
# Accomodate both linux windows mingw locations
|
||||
MINGW=/mingw32
|
||||
if [ -z "$MSYSCON" ]; then
|
||||
MINGW=/opt$MINGW
|
||||
MINGW=/usr/i686-w64-mingw32
|
||||
else
|
||||
CMAKE_OPTS="$CMAKE_OPTS -DLMMS_BUILD_MSYS=1"
|
||||
export PATH=$MINGW/bin:$PATH
|
||||
fi
|
||||
|
||||
export PATH=$MINGW/bin:$PATH
|
||||
export PKG_CONFIG_PATH=$MINGW/lib/pkgconfig/
|
||||
export CFLAGS="-march=pentium3 -mtune=generic -mpreferred-stack-boundary=5 -mfpmath=sse"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
|
||||
if [ "$1" = "-qt5" ]; then
|
||||
QT5=True
|
||||
fi
|
||||
|
||||
if [ $QT5 ]; then
|
||||
CMAKE_OPTS="-DWANT_QT5=$QT5 -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
|
||||
fi
|
||||
CMAKE_OPTS="-DWANT_QT5=True -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
|
||||
@@ -3,20 +3,15 @@
|
||||
# Accomodate both linux windows mingw locations
|
||||
MINGW=/mingw64
|
||||
if [ -z "$MSYSCON" ]; then
|
||||
MINGW=/opt$MINGW
|
||||
MINGW=/usr/x86_64-w64-mingw32
|
||||
else
|
||||
CMAKE_OPTS="$CMAKE_OPTS -DLMMS_BUILD_MSYS=1"
|
||||
export PATH=$MINGW/bin:$PATH
|
||||
fi
|
||||
|
||||
export PATH=$MINGW/bin:$PATH
|
||||
export PKG_CONFIG_PATH=$MINGW/lib/pkgconfig/
|
||||
|
||||
if [ "$1" = "-qt5" ]; then
|
||||
QT5=True
|
||||
fi
|
||||
|
||||
if [ $QT5 ]; then
|
||||
CMAKE_OPTS="-DWANT_QT5=$QT5 -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
|
||||
fi
|
||||
CMAKE_OPTS="-DWANT_QT5=True -DCMAKE_PREFIX_PATH=$MINGW $CMAKE_OPTS"
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
|
||||
@@ -40,7 +40,8 @@ IF(LMMS_BUILD_MSYS)
|
||||
ENDIF()
|
||||
# Linux mingw requires explicitly defined tools to prevent clash with native system tools
|
||||
ELSE()
|
||||
SET(MINGW_TOOL_PREFIX ${MINGW_PREFIX}/bin/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-)
|
||||
SET(MINGW_PREFIX /usr/${MINGW_TARGET}/)
|
||||
SET(MINGW_TOOL_PREFIX /usr/bin/${MINGW_TARGET}-)
|
||||
|
||||
# Specify the cross compiler
|
||||
SET(CMAKE_C_COMPILER ${MINGW_TOOL_PREFIX}gcc)
|
||||
@@ -50,7 +51,6 @@ ELSE()
|
||||
# Mingw tools
|
||||
SET(STRIP ${MINGW_TOOL_PREFIX}strip)
|
||||
SET(WINDRES ${MINGW_TOOL_PREFIX}windres)
|
||||
SET(ENV{PKG_CONFIG} ${MINGW_TOOL_PREFIX}pkg-config)
|
||||
|
||||
# Search for programs in the build host directories
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
@@ -61,15 +61,14 @@ ELSE()
|
||||
# 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(MINGW_PREFIX32 /usr/${MINGW_TARGET32}/)
|
||||
SET(MINGW_TOOL_PREFIX32 /usr/bin/${MINGW_TARGET32}-)
|
||||
SET(CMAKE_C_COMPILER32 ${MINGW_TOOL_PREFIX32}gcc)
|
||||
SET(CMAKE_CXX_COMPILER32 ${MINGW_TOOL_PREFIX32}g++)
|
||||
ENDIF()
|
||||
|
||||
INCLUDE_DIRECTORIES(${MINGW_PREFIX}/include)
|
||||
ENDIF()
|
||||
|
||||
LINK_DIRECTORIES(${MINGW_PREFIX}/lib ${MINGW_PREFIX}/bin)
|
||||
LINK_DIRECTORIES(${MINGW_PREFIX}/lib)
|
||||
|
||||
# Qt tools
|
||||
SET(QT_BINARY_DIR ${MINGW_PREFIX}/bin)
|
||||
@@ -84,7 +83,6 @@ IF(NOT DEFINED ENV{MINGW_DEBUG_INFO})
|
||||
MESSAGE("* CMAKE_CXX_COMPILER : ${CMAKE_CXX_COMPILER}")
|
||||
MESSAGE("* CMAKE_RC_COMPILER : ${CMAKE_RC_COMPILER}")
|
||||
MESSAGE("* WINDRES : ${WINDRES}")
|
||||
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}")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
IF(LMMS_BUILD_MSYS)
|
||||
SET(MINGW_PREFIX /mingw32)
|
||||
ELSE()
|
||||
SET(MINGW_PREFIX /opt/mingw32)
|
||||
SET(MINGW_TARGET i686-w64-mingw32)
|
||||
ENDIF()
|
||||
|
||||
SET(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
|
||||
@@ -2,8 +2,8 @@ IF(LMMS_BUILD_MSYS)
|
||||
SET(MINGW_PREFIX /mingw64)
|
||||
SET(MINGW_PREFIX32 /mingw32)
|
||||
ELSE()
|
||||
SET(MINGW_PREFIX /opt/mingw64)
|
||||
SET(MINGW_PREFIX32 /opt/mingw32)
|
||||
SET(MINGW_TARGET32 i686-w64-mingw32)
|
||||
SET(MINGW_TARGET x86_64-w64-mingw32)
|
||||
ENDIF()
|
||||
|
||||
SET(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
@@ -14,6 +14,7 @@ ADD_CUSTOM_COMMAND(TARGET RemoteVstPlugin32 POST_BUILD COMMAND "${STRIP}" "$<TAR
|
||||
SET_TARGET_PROPERTIES(RemoteVstPlugin32 PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O0")
|
||||
|
||||
INSTALL(TARGETS RemoteVstPlugin32 RUNTIME DESTINATION "${PLUGIN_DIR}/32")
|
||||
INSTALL(FILES "${MINGW_PREFIX32}/bin/${QTCORE}.dll" "${MINGW_PREFIX32}/bin/zlib1.dll" "${MINGW_PREFIX32}/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
# TODO: libstdc++-6.dll libgcc_s_sjlj-1.dll
|
||||
INSTALL(FILES "${MINGW_PREFIX32}/bin/${QTCORE}.dll" "${MINGW_PREFIX32}/lib/zlib1.dll" "${MINGW_PREFIX32}/lib/libwinpthread-1.dll"
|
||||
DESTINATION "${PLUGIN_DIR}/32")
|
||||
|
||||
|
||||
@@ -172,24 +172,15 @@ IF(LMMS_BUILD_WIN32)
|
||||
|
||||
INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}")
|
||||
|
||||
IF(QT5)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/Qt5Core.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Gui.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Widgets.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Xml.dll"
|
||||
DESTINATION .)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll"
|
||||
DESTINATION ./platforms)
|
||||
ELSE()
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/QtCore4.dll"
|
||||
"${MINGW_PREFIX}/bin/QtGui4.dll"
|
||||
"${MINGW_PREFIX}/bin/QtSvg4.dll"
|
||||
"${MINGW_PREFIX}/bin/QtXml4.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/Qt5Core.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Gui.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Widgets.dll"
|
||||
"${MINGW_PREFIX}/bin/Qt5Xml.dll"
|
||||
DESTINATION .)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll"
|
||||
DESTINATION ./platforms)
|
||||
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libsamplerate-0.dll"
|
||||
@@ -197,7 +188,7 @@ IF(LMMS_BUILD_WIN32)
|
||||
"${MINGW_PREFIX}/bin/libvorbis-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbisenc-2.dll"
|
||||
"${MINGW_PREFIX}/bin/libvorbisfile-3.dll"
|
||||
"${MINGW_PREFIX}/bin/libjpeg-9.dll"
|
||||
"${MINGW_PREFIX}/bin/libjpeg-62.dll"
|
||||
"${MINGW_PREFIX}/bin/libogg-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libmp3lame-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libfftw3f-3.dll"
|
||||
@@ -206,23 +197,31 @@ IF(LMMS_BUILD_WIN32)
|
||||
"${MINGW_PREFIX}/bin/SDL.dll"
|
||||
"${MINGW_PREFIX}/bin/libglib-2.0-0.dll"
|
||||
"${MINGW_PREFIX}/bin/libgthread-2.0-0.dll"
|
||||
"${MINGW_PREFIX}/bin/zlib1.dll"
|
||||
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
DESTINATION .)
|
||||
IF(LMMS_BUILD_MSYS)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/zlib1.dll"
|
||||
"${MINGW_PREFIX}/bin/libwinpthread-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libgcc_s_seh-1.dll"
|
||||
"${MINGW_PREFIX}/bin/libstdc++-6.dll"
|
||||
DESTINATION .)
|
||||
ELSE()
|
||||
SET(DLLDIR_GCC "/usr/lib/gcc/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/6.3-win32")
|
||||
IF(WIN64)
|
||||
SET(DLL_GCC "libgcc_s_seh-1.dll")
|
||||
ELSE()
|
||||
SET(DLL_GCC "libgcc_s_sjlj-1.dll")
|
||||
ENDIF()
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll"
|
||||
"${MINGW_PREFIX}/lib/zlib1.dll"
|
||||
"${MINGW_PREFIX}/lib/libwinpthread-1.dll"
|
||||
"${DLLDIR_GCC}/libstdc++-6.dll"
|
||||
"${DLLDIR_GCC}/${DLL_GCC}"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(FLTK_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libfltk.dll"
|
||||
"${MINGW_PREFIX}/bin/libfltk_SHARED.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(FLUIDSYNTH_FOUND)
|
||||
@@ -239,12 +238,12 @@ IF(LMMS_BUILD_WIN32)
|
||||
ENDIF()
|
||||
IF(PORTAUDIO_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/bin/libportaudio-2.dll"
|
||||
"${MINGW_PREFIX}/bin/libportaudio.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
IF(SOUNDIO_FOUND)
|
||||
INSTALL(FILES
|
||||
"${MINGW_PREFIX}/lib/libsoundio.dll"
|
||||
"${MINGW_PREFIX}/bin/libsoundio.dll"
|
||||
DESTINATION .)
|
||||
ENDIF()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user