VST build fixes
This commit is contained in:
@@ -7,6 +7,10 @@ INCLUDE(ExternalProject)
|
||||
|
||||
ADD_SUBDIRECTORY(vstbase)
|
||||
|
||||
IF(LMMS_BUILD_LINUX AND WANT_VST_NOWINE)
|
||||
RETURN()
|
||||
ENDIF()
|
||||
|
||||
SET(LMMS_BINARY_DIR ${CMAKE_BINARY_DIR})
|
||||
SET(LMMS_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||||
|
||||
@@ -25,7 +29,6 @@ SET(EXTERNALPROJECT_CMAKE_ARGS
|
||||
|
||||
# build 32 bit version of RemoteVstPlugin
|
||||
IF(LMMS_BUILD_WIN64 AND MSVC)
|
||||
|
||||
SET(MSVC_VER ${CMAKE_CXX_COMPILER_VERSION})
|
||||
|
||||
IF(MSVC_VER VERSION_GREATER 19.0 OR MSVC_VER VERSION_EQUAL 19.0)
|
||||
@@ -53,24 +56,25 @@ IF(LMMS_BUILD_WIN64 AND MSVC)
|
||||
)
|
||||
ELSEIF(LMMS_BUILD_WIN32)
|
||||
ADD_SUBDIRECTORY(RemoteVstPlugin)
|
||||
ELSEIF(LMMS_BUILD_LINUX AND NOT WANT_VST_NOWINE)
|
||||
ELSEIF(LMMS_BUILD_LINUX)
|
||||
ExternalProject_Add(RemoteVstPlugin32
|
||||
${EXTERNALPROJECT_ARGS}
|
||||
"${EXTERNALPROJECT_ARGS}"
|
||||
CMAKE_ARGS
|
||||
${EXTERNALPROJECT_CMAKE_ARGS}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CURRENT_LIST_DIR}/RemoteVstPlugin/winegcc
|
||||
-DCMAKE_CXX_FLAGS="-m32"
|
||||
-DCMAKE_CXX_COMPILER=${WINEGCC}
|
||||
"-DCMAKE_CXX_FLAGS=-m32 -mwindows"
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
# build 64 bit version of RemoteVstPlugin
|
||||
IF(LMMS_BUILD_WIN64)
|
||||
ADD_SUBDIRECTORY(RemoteVstPlugin)
|
||||
ELSEIF(LMMS_BUILD_LINUX AND NOT WANT_VST_NOWINE)
|
||||
ELSEIF(LMMS_BUILD_LINUX)
|
||||
ExternalProject_Add(RemoteVstPlugin64
|
||||
${EXTERNALPROJECT_ARGS}
|
||||
"${EXTERNALPROJECT_ARGS}"
|
||||
CMAKE_ARGS
|
||||
${EXTERNALPROJECT_CMAKE_ARGS}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CURRENT_LIST_DIR}/RemoteVstPlugin/winegcc
|
||||
-DCMAKE_CXX_COMPILER=${WINEGCC}
|
||||
"-DCMAKE_CXX_FLAGS=-m64 -mwindows"
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(RemoteVstPlugin
|
||||
LANGUAGES CXX)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Wrapper script for winegcc to remove .exe file ending automatically
|
||||
# appended by winebuild.
|
||||
# Usage: winegcc <args ...>
|
||||
|
||||
set -e
|
||||
|
||||
args="$@"
|
||||
|
||||
# Find output name
|
||||
POSITIONAL=()
|
||||
while [ $# -gt 0 ]; do
|
||||
key="$1"
|
||||
|
||||
case $key in
|
||||
-o)
|
||||
output=$2
|
||||
shift
|
||||
;;
|
||||
-c)
|
||||
no_link=true
|
||||
;;
|
||||
*)
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$output" ]; then
|
||||
if [ "$no_link" != true ]; then
|
||||
output="a.out"
|
||||
no_move=true
|
||||
fi
|
||||
# echo "Fatal error in winegcc wrapper: Can't find output file name in args."
|
||||
# exit 1
|
||||
fi
|
||||
|
||||
wineg++ $args
|
||||
|
||||
if [ -z "$no_link" ] && [ "$no_move" != true ]; then
|
||||
if [ ! -e "$output.exe" ]; then
|
||||
echo "Fatal error in winegcc wrapper: No output file \"$output.exe\" found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mv $output.exe $output
|
||||
fi
|
||||
@@ -99,14 +99,14 @@ VstPlugin::VstPlugin( const QString & _plugin ) :
|
||||
{
|
||||
setSplittedChannels( true );
|
||||
|
||||
#ifdef LMMS_HOST_X86_64
|
||||
#ifdef LMMS_BUILD_WIN64
|
||||
tryLoad( "RemoteVstPlugin64" );
|
||||
if( m_badDllFormat )
|
||||
{
|
||||
m_badDllFormat = false;
|
||||
#endif
|
||||
tryLoad( "RemoteVstPlugin32" );
|
||||
#ifdef LMMS_HOST_X86_64
|
||||
#ifdef LMMS_BUILD_WIN64
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user