From 231a6aa1ff0738bd9b993cd1734edf3d56ea5b9e Mon Sep 17 00:00:00 2001 From: Azrael Date: Thu, 10 May 2018 10:03:24 +0200 Subject: [PATCH 01/10] MSVC fixes +locale: using path instead of individual files to reduce command line size +remotevstplugin: changed order return type & calling convention (compiler error) +lmmsobj: removed single quotes for command line defines --- data/locale/CMakeLists.txt | 2 +- plugins/vst_base/RemoteVstPlugin.cpp | 2 +- src/CMakeLists.txt | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/data/locale/CMakeLists.txt b/data/locale/CMakeLists.txt index 3c72e7d787d..9a772640640 100644 --- a/data/locale/CMakeLists.txt +++ b/data/locale/CMakeLists.txt @@ -26,7 +26,7 @@ FOREACH(_ts_file ${lmms_LOCALES}) STRING(REPLACE ".ts" ".qm" _qm_file "${_ts_file}") STRING(REPLACE ".ts" ".qm" _qm_target "${_ts_target}") ADD_CUSTOM_TARGET(${_ts_target} - COMMAND "${QT_LUPDATE_EXECUTABLE}" -locations none -no-obsolete -I ${CMAKE_SOURCE_DIR}/include/ ${LMMS_SRCS} ${LMMS_INCLUDES} ${LMMS_UIS} `find "\"${CMAKE_SOURCE_DIR}/plugins/\"" -type f -name '*.cpp' -or -name '*.h'` -ts "\"${_ts_file}\"" + COMMAND "${QT_LUPDATE_EXECUTABLE}" -locations none -no-obsolete -I ${CMAKE_SOURCE_DIR}/include/ ${LMMS_SRCS} ${LMMS_UIS} ${CMAKE_SOURCE_DIR}/plugins -ts "\"${_ts_file}\"" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) ADD_CUSTOM_TARGET(${_qm_target} COMMAND "${QT_LRELEASE_EXECUTABLE}" "${_ts_file}" -qm "${_qm_file}" diff --git a/plugins/vst_base/RemoteVstPlugin.cpp b/plugins/vst_base/RemoteVstPlugin.cpp index 565009636b3..1a7c43b5953 100644 --- a/plugins/vst_base/RemoteVstPlugin.cpp +++ b/plugins/vst_base/RemoteVstPlugin.cpp @@ -328,7 +328,7 @@ class RemoteVstPlugin : public RemotePluginClient } ; // callback used by plugin for being able to communicate with it's host - static VST_CALL_CONV intptr_t hostCallback( AEffect * _effect, int32_t _opcode, + static intptr_t VST_CALL_CONV hostCallback( AEffect * _effect, int32_t _opcode, int32_t _index, intptr_t _value, void * _ptr, float _opt ); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fa9754005b2..79fea6c795d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -51,12 +51,13 @@ ADD_GEN_QRC(LMMS_RCC_OUT lmms.qrc # Paths relative to lmms executable FILE(RELATIVE_PATH LIB_DIR_RELATIVE "/${BIN_DIR}" "/${LIB_DIR}") FILE(RELATIVE_PATH PLUGIN_DIR_RELATIVE "/${BIN_DIR}" "/${PLUGIN_DIR}") -ADD_DEFINITIONS(-D'LIB_DIR="${LIB_DIR_RELATIVE}/"' -D'PLUGIN_DIR="${PLUGIN_DIR_RELATIVE}/"' ${PULSEAUDIO_DEFINITIONS} ${PORTAUDIO_DEFINITIONS}) +ADD_DEFINITIONS(-DLIB_DIR="${LIB_DIR_RELATIVE}" -DPLUGIN_DIR="${PLUGIN_DIR_RELATIVE}" ${PULSEAUDIO_DEFINITIONS} ${PORTAUDIO_DEFINITIONS}) INCLUDE_DIRECTORIES( ${JACK_INCLUDE_DIRS} ${SAMPLERATE_INCLUDE_DIRS} ${SNDFILE_INCLUDE_DIRS} ${SNDIO_INCLUDE_DIRS} + ${FFTW3F_INCLUDE_DIRS} ) IF(NOT ("${SDL2_INCLUDE_DIR}" STREQUAL "")) From d21c59bfdd2c84a66e1f66b113946b3c545f6b57 Mon Sep 17 00:00:00 2001 From: Azrael Date: Fri, 11 May 2018 14:02:04 +0200 Subject: [PATCH 02/10] added vcpkg support & std::make_unique for MSVC --- CMakeLists.txt | 33 ++++++++++++++++++++++++++------- include/stdshims.h | 4 +++- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d2123ac15fe..000a45e3b9e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,9 @@ ENDIF() INCLUDE(VersionInfo) INCLUDE(DetectMachine) +IF(CMAKE_TOOLCHAIN_FILE MATCHES "vcpkg.cmake$") + SET(USING_VCPKG TRUE) +ENDIF() OPTION(WANT_ALSA "Include ALSA (Advanced Linux Sound Architecture) support" ON) OPTION(WANT_CALF "Include CALF LADSPA plugins" ON) @@ -166,10 +169,15 @@ FIND_PACKAGE(Qt5Test) SET(QT_QTTEST_LIBRARY Qt5::Test) # check for libsndfile -PKG_CHECK_MODULES(SNDFILE REQUIRED sndfile>=1.0.18) -IF(NOT SNDFILE_FOUND) - MESSAGE(FATAL_ERROR "LMMS requires libsndfile1 and libsndfile1-dev >= 1.0.18 - please install, remove CMakeCache.txt and try again!") -ENDIF() +IF(USING_VCPKG) + FIND_PACKAGE(LibSndFile 1.0.18 REQUIRED) + SET(SNDFILE_LIBRARIES sndfile-shared) +ELSE(USING_VCPKG) + PKG_CHECK_MODULES(SNDFILE REQUIRED sndfile>=1.0.18) + IF(NOT SNDFILE_FOUND) + MESSAGE(FATAL_ERROR "LMMS requires libsndfile1 and libsndfile1-dev >= 1.0.18 - please install, remove CMakeCache.txt and try again!") + ENDIF() +ENDIF(USING_VCPKG) # check if we can use SF_SET_COMPRESSION_LEVEL IF(NOT SNDFILE_VERSION VERSION_LESS 1.0.26) SET(LMMS_HAVE_SF_COMPLEVEL TRUE) @@ -394,8 +402,13 @@ ENDIF(WANT_JACK) # check for FFTW3F-library -PKG_CHECK_MODULES(FFTW3F REQUIRED fftw3f>=3.0.0) - +IF(USING_VCPKG) + #currently find_package for fftw is broken in vcpkg. Replace this when fixed + FIND_PATH(FFTW3F_INCLUDE_DIRS fftw3.h) + FIND_LIBRARY(FFTW3F_LIBRARIES fftw3f) +ELSE(USING_VCPKG) + PKG_CHECK_MODULES(FFTW3F REQUIRED fftw3f>=3.0.0) +ENDIF(USING_VCPKG) # check for FLTK FIND_PACKAGE(FLTK) @@ -477,7 +490,13 @@ ELSE() ENDIF(WANT_DEBUG_FPE) # check for libsamplerate -PKG_CHECK_MODULES(SAMPLERATE REQUIRED samplerate>=0.1.8) +IF(USING_VCPKG) + #TODO no cmake config support. Can we check the version some other way? + FIND_FILE(SAMPLERATE_INCLUDE_DIRS samplerate.h) + FIND_LIBRARY(SAMPLERATE_LIBRARIES libsamplerate-0) +ELSE(USING_VCPKG) + PKG_CHECK_MODULES(SAMPLERATE REQUIRED samplerate>=0.1.8) +ENDIF(USING_VCPKG) # set compiler flags IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") diff --git a/include/stdshims.h b/include/stdshims.h index 456d31607dc..85c4f457aab 100644 --- a/include/stdshims.h +++ b/include/stdshims.h @@ -7,8 +7,10 @@ #include #include -#if (__cplusplus >= 201402L) +#if (__cplusplus >= 201402L || _MSC_VER) +#ifndef _MSC_VER #warning "This file should now be removed! The functions it provides are part of the C++14 standard." +#endif using std::make_unique; #else From a4a8612bef6047a1ec512be8ac90973eb922b3ed Mon Sep 17 00:00:00 2001 From: Azrael Date: Sat, 12 May 2018 06:39:59 +0200 Subject: [PATCH 03/10] remotevstplugin +added toolchain file +added toolset --- plugins/vst_base/CMakeLists.txt | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 943631b92a6..30db334071e 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -27,33 +27,27 @@ SET(EXTERNALPROJECT_CMAKE_ARGS "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}" "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" + "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" ) # build 32 bit version of RemoteVstPlugin IF(LMMS_BUILD_WIN32 AND NOT LMMS_BUILD_WIN64) ADD_SUBDIRECTORY(RemoteVstPlugin) ELSEIF(LMMS_BUILD_WIN64 AND MSVC) - SET(MSVC_VER ${CMAKE_CXX_COMPILER_VERSION}) + STRING(REPLACE " Win64" "" GENERATOR ${CMAKE_GENERATOR}) - IF(MSVC_VER VERSION_GREATER 19.0 OR MSVC_VER VERSION_EQUAL 19.0) - SET(GENERATOR "Visual Studio 14 2015") - SET(MSVC_YEAR 2015) - ELSEIF(MSVC_VER VERSION_EQUAL 19.10 OR MSVC_VER VERSION_EQUAL 19.10) - SET(GENERATOR "Visual Studio 15 2017") - SET(MSVC_YEAR 2017) - ELSE() - MESSAGE(SEND_ERROR "Can't build RemoteVstPlugin32, unknown MSVC version ${MSVC_VER}") - ENDIF() - - GET_FILENAME_COMPONENT(QT_BIN_DIR ${QT_QMAKE_EXECUTABLE} DIRECTORY) - SET(QT_32_PREFIX "${QT_BIN_DIR}/../../msvc${MSVC_YEAR}") - IF(NOT (IS_DIRECTORY ${QT_32_PREFIX} AND EXISTS ${QT_32_PREFIX}/bin/qmake.exe)) - MESSAGE(SEND_ERROR "Can't build RemoteVstPlugin32, no Qt 32 bit installation found at ${QT_32_PREFIX}") - ENDIF() + IF(NOT USING_VCPKG) + GET_FILENAME_COMPONENT(QT_BIN_DIR ${QT_QMAKE_EXECUTABLE} DIRECTORY) + SET(QT_32_PREFIX "${QT_BIN_DIR}/../../msvc${MSVC_YEAR}") + IF(NOT (IS_DIRECTORY ${QT_32_PREFIX} AND EXISTS ${QT_32_PREFIX}/bin/qmake.exe)) + MESSAGE(SEND_ERROR "Can't build RemoteVstPlugin32, no Qt 32 bit installation found at ${QT_32_PREFIX}") + ENDIF() + ENDIF(NOT USING_VCPKG) ExternalProject_Add(RemoteVstPlugin32 "${EXTERNALPROJECT_ARGS}" CMAKE_GENERATOR ${GENERATOR} + CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} CMAKE_ARGS "${EXTERNALPROJECT_CMAKE_ARGS}" "-DCMAKE_PREFIX_PATH=${QT_32_PREFIX}" From b55042f79e2ab3e7ce1ee1e07d3ffe1e34349780 Mon Sep 17 00:00:00 2001 From: Azrael Date: Sat, 12 May 2018 09:40:56 +0200 Subject: [PATCH 04/10] implementing PR comments +carla: exports header +package_linux: corrected RemoteVstPlugin name +vstbase: toolchain file conditional on MSVC --- cmake/linux/package_linux.sh.in | 2 +- plugins/carlabase/carla.h | 2 +- plugins/vst_base/CMakeLists.txt | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cmake/linux/package_linux.sh.in b/cmake/linux/package_linux.sh.in index ec6224e3536..4ca1a8106bf 100644 --- a/cmake/linux/package_linux.sh.in +++ b/cmake/linux/package_linux.sh.in @@ -142,7 +142,7 @@ ZYNLIB="${APPDIR}usr/lib/lmms/RemoteZynAddSubFx" VSTLIB="${APPDIR}usr/lib/lmms/RemoteVstPlugin.exe.so" ZYNBIN="${APPDIR}usr/bin/RemoteZynAddSubFx" -VSTBIN="${APPDIR}usr/bin/RemoteVstPlugin.exe.so" +VSTBIN="${APPDIR}usr/bin/RemoteVstPlugin32.exe.so" mv "$ZYNLIB" "$ZYNBIN" mv "$VSTLIB" "$VSTBIN" diff --git a/plugins/carlabase/carla.h b/plugins/carlabase/carla.h index 6431e5300de..175a570d6ac 100644 --- a/plugins/carlabase/carla.h +++ b/plugins/carlabase/carla.h @@ -26,9 +26,9 @@ #define CARLA_H #include +#include "plugin_export.h" #include "CarlaNative.h" - #include "Instrument.h" #include "InstrumentView.h" diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 30db334071e..4a5ed1227b4 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -27,9 +27,12 @@ SET(EXTERNALPROJECT_CMAKE_ARGS "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}" "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" ) +IF(MSVC) + LIST(APPEND EXTERNALPROJECT_CMAKE_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") +ENDIF(MSVC) + # build 32 bit version of RemoteVstPlugin IF(LMMS_BUILD_WIN32 AND NOT LMMS_BUILD_WIN64) ADD_SUBDIRECTORY(RemoteVstPlugin) From 78a79417c81005edddf9d24c8f4da13cc998d36d Mon Sep 17 00:00:00 2001 From: Azrael Date: Sat, 12 May 2018 09:57:09 +0200 Subject: [PATCH 05/10] renamed second RemoteVstPlugin --- cmake/linux/package_linux.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/linux/package_linux.sh.in b/cmake/linux/package_linux.sh.in index 4ca1a8106bf..16866e4d491 100644 --- a/cmake/linux/package_linux.sh.in +++ b/cmake/linux/package_linux.sh.in @@ -139,7 +139,7 @@ fi # Move executables so linuxdeployqt can find them ZYNLIB="${APPDIR}usr/lib/lmms/RemoteZynAddSubFx" -VSTLIB="${APPDIR}usr/lib/lmms/RemoteVstPlugin.exe.so" +VSTLIB="${APPDIR}usr/lib/lmms/RemoteVstPlugin32.exe.so" ZYNBIN="${APPDIR}usr/bin/RemoteZynAddSubFx" VSTBIN="${APPDIR}usr/bin/RemoteVstPlugin32.exe.so" From 847478644184fd92d3718a632535f06aa7d59562 Mon Sep 17 00:00:00 2001 From: Azrael Date: Sat, 12 May 2018 11:12:22 +0200 Subject: [PATCH 06/10] Added install for remotevstplugin --- plugins/vst_base/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 4a5ed1227b4..81629844974 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -55,6 +55,7 @@ ELSEIF(LMMS_BUILD_WIN64 AND MSVC) "${EXTERNALPROJECT_CMAKE_ARGS}" "-DCMAKE_PREFIX_PATH=${QT_32_PREFIX}" ) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") ELSEIF(LMMS_BUILD_LINUX) # Use winegcc ExternalProject_Add(RemoteVstPlugin32 @@ -64,6 +65,7 @@ ELSEIF(LMMS_BUILD_LINUX) "-DCMAKE_CXX_COMPILER=${WINEGCC}" "-DCMAKE_CXX_FLAGS=-m32 -mwindows" ) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") ELSEIF(CMAKE_TOOLCHAIN_FILE_32) ExternalProject_Add(RemoteVstPlugin32 "${EXTERNALPROJECT_ARGS}" @@ -72,6 +74,7 @@ ELSEIF(CMAKE_TOOLCHAIN_FILE_32) "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_32}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE_32}" ) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") ELSE() message(SEND_ERROR "Can't build RemoteVstPlugin32, unknown environment. Please supply CMAKE_TOOLCHAIN_FILE_32 and optionally CMAKE_PREFIX_PATH_32") ENDIF() @@ -87,4 +90,5 @@ ELSEIF(LMMS_BUILD_LINUX) "-DCMAKE_CXX_COMPILER=${WINEGCC}" "-DCMAKE_CXX_FLAGS=-m64 -mwindows" ) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64.exe.so" DESTINATION "${PLUGIN_DIR}") ENDIF() From a569badfbfaa287ec08460f0620fd33a26add092 Mon Sep 17 00:00:00 2001 From: Azrael Date: Sat, 12 May 2018 11:26:13 +0200 Subject: [PATCH 07/10] remotevst: -64bit install (appimage problem) --- plugins/vst_base/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 81629844974..160e030bb8d 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -90,5 +90,4 @@ ELSEIF(LMMS_BUILD_LINUX) "-DCMAKE_CXX_COMPILER=${WINEGCC}" "-DCMAKE_CXX_FLAGS=-m64 -mwindows" ) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64.exe.so" DESTINATION "${PLUGIN_DIR}") ENDIF() From 493a0e0b5652533947e163b37cddad54bcf4b08e Mon Sep 17 00:00:00 2001 From: Azrael Date: Sun, 13 May 2018 05:28:56 +0200 Subject: [PATCH 08/10] cmake install fixes --- plugins/vst_base/CMakeLists.txt | 7 +- .../vst_base/RemoteVstPlugin/CMakeLists.txt | 5 + src/CMakeLists.txt | 166 +++++++++--------- 3 files changed, 95 insertions(+), 83 deletions(-) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 160e030bb8d..2bb52c156f3 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -24,7 +24,6 @@ SET(EXTERNALPROJECT_CMAKE_ARGS "-DLMMS_SOURCE_DIR=${CMAKE_SOURCE_DIR}" "-DLMMS_BINARY_DIR=${CMAKE_BINARY_DIR}" "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" - "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}" "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" ) @@ -36,6 +35,7 @@ ENDIF(MSVC) # build 32 bit version of RemoteVstPlugin IF(LMMS_BUILD_WIN32 AND NOT LMMS_BUILD_WIN64) ADD_SUBDIRECTORY(RemoteVstPlugin) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") ELSEIF(LMMS_BUILD_WIN64 AND MSVC) STRING(REPLACE " Win64" "" GENERATOR ${CMAKE_GENERATOR}) @@ -55,7 +55,7 @@ ELSEIF(LMMS_BUILD_WIN64 AND MSVC) "${EXTERNALPROJECT_CMAKE_ARGS}" "-DCMAKE_PREFIX_PATH=${QT_32_PREFIX}" ) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") ELSEIF(LMMS_BUILD_LINUX) # Use winegcc ExternalProject_Add(RemoteVstPlugin32 @@ -74,7 +74,7 @@ ELSEIF(CMAKE_TOOLCHAIN_FILE_32) "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_32}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE_32}" ) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") ELSE() message(SEND_ERROR "Can't build RemoteVstPlugin32, unknown environment. Please supply CMAKE_TOOLCHAIN_FILE_32 and optionally CMAKE_PREFIX_PATH_32") ENDIF() @@ -82,6 +82,7 @@ ENDIF() # build 64 bit version of RemoteVstPlugin IF(LMMS_BUILD_WIN64) ADD_SUBDIRECTORY(RemoteVstPlugin) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin64.exe" DESTINATION "${PLUGIN_DIR}") ELSEIF(LMMS_BUILD_LINUX) ExternalProject_Add(RemoteVstPlugin64 "${EXTERNALPROJECT_ARGS}" diff --git a/plugins/vst_base/RemoteVstPlugin/CMakeLists.txt b/plugins/vst_base/RemoteVstPlugin/CMakeLists.txt index f6b3e9c4ead..1baf9406493 100644 --- a/plugins/vst_base/RemoteVstPlugin/CMakeLists.txt +++ b/plugins/vst_base/RemoteVstPlugin/CMakeLists.txt @@ -20,6 +20,11 @@ else() set(BITNESS 32) endif() +FOREACH( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) + STRING(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) + SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") +ENDFOREACH() + set(EXE_NAME RemoteVstPlugin${BITNESS}) add_executable(${EXE_NAME} ../RemoteVstPlugin.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 79fea6c795d..61e0e38840f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -184,89 +184,95 @@ IF(LMMS_BUILD_MSYS AND CMAKE_BUILD_TYPE STREQUAL "Debug") ENDIF() # Install -IF(LMMS_BUILD_WIN32) - SET_TARGET_PROPERTIES(lmms PROPERTIES - LINK_FLAGS "${LINK_FLAGS} -mwindows" - ENABLE_EXPORTS ON - ) - IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") - ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND "${STRIP}" "$") - ENDIF() +IF(NOT MSVC) + IF(LMMS_BUILD_WIN32) + SET_TARGET_PROPERTIES(lmms PROPERTIES + LINK_FLAGS "${LINK_FLAGS} -mwindows" + ENABLE_EXPORTS ON + ) + IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug") + ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND "${STRIP}" "$") + ENDIF() - INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") - - 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" - "${MINGW_PREFIX}/bin/libsndfile-1.dll" - "${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/libogg-0.dll" - "${MINGW_PREFIX}/bin/libmp3lame-0.dll" - "${MINGW_PREFIX}/bin/libfftw3f-3.dll" - "${MINGW_PREFIX}/bin/libFLAC-8.dll" - "${MINGW_PREFIX}/bin/libpng16-16.dll" - "${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/libwinpthread-1.dll" - "${MINGW_PREFIX}/bin/libgcc_s_seh-1.dll" - "${MINGW_PREFIX}/bin/libstdc++-6.dll" - DESTINATION .) - ELSE() - INSTALL(FILES - "${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll" - DESTINATION .) - ENDIF() - IF(FLTK_FOUND) - INSTALL(FILES - "${MINGW_PREFIX}/bin/libfltk.dll" - DESTINATION .) - ENDIF() - IF(FLUIDSYNTH_FOUND) - INSTALL(FILES - "${MINGW_PREFIX}/bin/libfluidsynth.dll" - DESTINATION .) - ENDIF() - IF(GIG_FOUND) - # Handle libgig-*.dll - FILE(GLOB GIG_LIBRARY "${MINGW_PREFIX}/bin/libgig-*.dll") + INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") INSTALL(FILES - ${GIG_LIBRARY} + "${MINGW_PREFIX}/bin/Qt5Core.dll" + "${MINGW_PREFIX}/bin/Qt5Gui.dll" + "${MINGW_PREFIX}/bin/Qt5Widgets.dll" + "${MINGW_PREFIX}/bin/Qt5Xml.dll" DESTINATION .) - ENDIF() - IF(PORTAUDIO_FOUND) INSTALL(FILES - "${MINGW_PREFIX}/bin/libportaudio-2.dll" - DESTINATION .) - ENDIF() - IF(SOUNDIO_FOUND) + "${MINGW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll" + DESTINATION ./platforms) INSTALL(FILES - "${MINGW_PREFIX}/lib/libsoundio.dll" - DESTINATION .) - ENDIF() - -ELSE(LMMS_BUILD_WIN32) - IF(NOT LMMS_BUILD_APPLE) - SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E") - ENDIF(NOT LMMS_BUILD_APPLE) - - INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") - INSTALL(FILES "${CMAKE_BINARY_DIR}/lmms.1.gz" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1/" PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + "${MINGW_PREFIX}/bin/libsamplerate-0.dll" + "${MINGW_PREFIX}/bin/libsndfile-1.dll" + "${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/libogg-0.dll" + "${MINGW_PREFIX}/bin/libmp3lame-0.dll" + "${MINGW_PREFIX}/bin/libfftw3f-3.dll" + "${MINGW_PREFIX}/bin/libFLAC-8.dll" + "${MINGW_PREFIX}/bin/libpng16-16.dll" + "${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/libwinpthread-1.dll" + "${MINGW_PREFIX}/bin/libgcc_s_seh-1.dll" + "${MINGW_PREFIX}/bin/libstdc++-6.dll" + DESTINATION .) + ELSE() + INSTALL(FILES + "${MINGW_PREFIX}/${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32/bin/libwinpthread-1.dll" + DESTINATION .) + ENDIF() + IF(FLTK_FOUND) + INSTALL(FILES + "${MINGW_PREFIX}/bin/libfltk.dll" + DESTINATION .) + ENDIF() + IF(FLUIDSYNTH_FOUND) + INSTALL(FILES + "${MINGW_PREFIX}/bin/libfluidsynth.dll" + DESTINATION .) + ENDIF() + IF(GIG_FOUND) + # Handle libgig-*.dll + FILE(GLOB GIG_LIBRARY "${MINGW_PREFIX}/bin/libgig-*.dll") + INSTALL(FILES + ${GIG_LIBRARY} + DESTINATION .) + ENDIF() + IF(PORTAUDIO_FOUND) + INSTALL(FILES + "${MINGW_PREFIX}/bin/libportaudio-2.dll" + DESTINATION .) + ENDIF() + IF(SOUNDIO_FOUND) + INSTALL(FILES + "${MINGW_PREFIX}/lib/libsoundio.dll" + DESTINATION .) + ENDIF() -ENDIF(LMMS_BUILD_WIN32) + ELSE(LMMS_BUILD_WIN32) + IF(NOT LMMS_BUILD_APPLE) + SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E") + ENDIF(NOT LMMS_BUILD_APPLE) + + INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") + INSTALL(FILES "${CMAKE_BINARY_DIR}/lmms.1.gz" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1/" PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + + ENDIF(LMMS_BUILD_WIN32) +ELSE(NOT MSVC) + INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") + SET_TARGET_PROPERTIES(lmms PROPERTIES + ENABLE_EXPORTS ON + ) +ENDIF(NOT MSVC) \ No newline at end of file From dab9e04ab4bf6fcf225ab119ecbdd9fe5631b316 Mon Sep 17 00:00:00 2001 From: Azrael Date: Sun, 13 May 2018 23:40:27 +0200 Subject: [PATCH 09/10] msvc: installer works --- cmake/nsis/CMakeLists.txt | 6 ++- src/CMakeLists.txt | 107 +++++++++++++++++++++++++++++++++++++- 2 files changed, 111 insertions(+), 2 deletions(-) diff --git a/cmake/nsis/CMakeLists.txt b/cmake/nsis/CMakeLists.txt index b21c920e5c3..87668d32b0b 100644 --- a/cmake/nsis/CMakeLists.txt +++ b/cmake/nsis/CMakeLists.txt @@ -1,4 +1,7 @@ SET(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/nsis_branding.bmp") +IF(MSVC) + STRING(REPLACE "/" "\\\\" CPACK_PACKAGE_ICON ${CPACK_PACKAGE_ICON}) +ENDIF(MSVC) SET(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/cmake/nsis/lmms.ico") SET(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_PROJECT_NAME}.exe" PARENT_SCOPE) SET(CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME_UCASE} ${VERSION}" PARENT_SCOPE) @@ -8,7 +11,8 @@ SET(CPACK_NSIS_CONTACT "${PROJECT_EMAIL}" PARENT_SCOPE) SET(CPACK_PACKAGE_EXECUTABLES "${CMAKE_PROJECT_NAME}.exe;${PROJECT_NAME_UCASE}" PARENT_SCOPE) SET(CPACK_NSIS_MENU_LINKS "${CMAKE_PROJECT_NAME}.exe;${PROJECT_NAME_UCASE}" PARENT_SCOPE) SET(CPACK_NSIS_DEFINES " - !include ${CMAKE_SOURCE_DIR}/cmake/nsis/FileAssociation.nsh + !addincludedir ${CMAKE_SOURCE_DIR}/cmake/nsis + !include FileAssociation.nsh !include LogicLib.nsh !include WinVer.nsh") SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${VERSION}-win32") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 61e0e38840f..da151730c73 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -271,8 +271,113 @@ IF(NOT MSVC) ENDIF(LMMS_BUILD_WIN32) ELSE(NOT MSVC) - INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") SET_TARGET_PROPERTIES(lmms PROPERTIES ENABLE_EXPORTS ON ) + INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") + + SET_TARGET_PROPERTIES(lmms PROPERTIES + LINK_FLAGS "${LINK_FLAGS} -mwindows" + ENABLE_EXPORTS ON + ) + + #CMAKE_FIND_ROOT_PATH + SET(VCPKG_ROOT ${CMAKE_FIND_ROOT_PATH}) + + INSTALL(TARGETS lmms RUNTIME DESTINATION "${BIN_DIR}") + + INSTALL(FILES + "${VCPKG_ROOT}/bin/Qt5Core.dll" + "${VCPKG_ROOT}/bin/Qt5Gui.dll" + "${VCPKG_ROOT}/bin/Qt5Widgets.dll" + "${VCPKG_ROOT}/bin/Qt5Xml.dll" + + "${VCPKG_ROOT}/bin/zlib1.dll" + "${VCPKG_ROOT}/bin/jpeg62.dll" + "${VCPKG_ROOT}/bin/libpng16.dll" + "${VCPKG_ROOT}/bin/gthread-2.dll" + "${VCPKG_ROOT}/bin/glib-2.dll" + "${VCPKG_ROOT}/bin/harfbuzz.dll" + "${VCPKG_ROOT}/bin/pcre2-16.dll" + "${VCPKG_ROOT}/bin/double-conversion.dll" + "${VCPKG_ROOT}/bin/freetype.dll" + "${VCPKG_ROOT}/bin/libbz2.dll" + "${VCPKG_ROOT}/bin/pcre.dll" + "${VCPKG_ROOT}/bin/libiconv.dll" + "${VCPKG_ROOT}/bin/libcharset.dll" + "${VCPKG_ROOT}/bin/libintl.dll" + DESTINATION .) + + INSTALL(FILES + "${VCPKG_ROOT}/plugins/platforms/qwindows.dll" + DESTINATION ./platforms) + + INSTALL(FILES + "${VCPKG_ROOT}/bin/libsndfile-1.dll" + "${VCPKG_ROOT}/bin/ogg.dll" + "${VCPKG_ROOT}/bin/vorbis.dll" + "${VCPKG_ROOT}/bin/vorbisenc.dll" + "${VCPKG_ROOT}/bin/FLAC.dll" + "${VCPKG_ROOT}/bin/vorbisfile.dll" + + "${VCPKG_ROOT}/bin/libsamplerate-0.dll" + "${VCPKG_ROOT}/bin/SDL2.dll" + "${VCPKG_ROOT}/bin/fftw3f.dll" + DESTINATION .) + + #not yet in vcpkg + #IF(LAME_FOUND) + # INSTALL(FILES + # "${VCPKG_ROOT}/bin/libmp3lame-0.dll" + # DESTINATION .) + #ENDIF(LAME_FOUND) + IF(FLTK_FOUND) + INSTALL(FILES + "${VCPKG_ROOT}/bin/libfltk_SHARED.dll" + + "${VCPKG_ROOT}/bin/zlib1.dll" + "${VCPKG_ROOT}/bin/jpeg62.dll" + DESTINATION .) + ENDIF() + + IF(FLUIDSYNTH_FOUND) + INSTALL(FILES + "${VCPKG_ROOT}/bin/libfluidsynth-1.dll" + "${VCPKG_ROOT}/bin/glib-2.dll" + "${VCPKG_ROOT}/bin/pcre.dll" + "${VCPKG_ROOT}/bin/libiconv.dll" + "${VCPKG_ROOT}/bin/libcharset.dll" + "${VCPKG_ROOT}/bin/libintl.dll" + DESTINATION .) + ENDIF() + + #not yet included in vcpkg + #IF(GIG_FOUND) + # # Handle libgig-*.dll + # FILE(GLOB GIG_LIBRARY "${VCPKG_ROOT}/bin/libgig-*.dll") + # INSTALL(FILES + # ${GIG_LIBRARY} + # DESTINATION .) + #ENDIF() + + + #TODO fix for 32bit + IF(PORTAUDIO_FOUND) + IF(LMMS_BUILD_WIN64) + INSTALL(FILES + "${VCPKG_ROOT}/bin/portaudio-x64.dll" + DESTINATION .) + ELSE(LMMS_BUILD_WIN64) + INSTALL(FILES + "${VCPKG_ROOT}/bin/portaudio-x86.dll" + DESTINATION .) + ENDIF(LMMS_BUILD_WIN64) + ENDIF() + + #not yet in vcpkg + #IF(SOUNDIO_FOUND) + # INSTALL(FILES + # "${VCPKG_ROOT}/bin/libsoundio.dll" + # DESTINATION .) + #ENDIF() ENDIF(NOT MSVC) \ No newline at end of file From 42488a6b7e6cd7bb2216fe41262a4cada5966b9d Mon Sep 17 00:00:00 2001 From: Azrael Date: Tue, 15 May 2018 12:13:59 +0200 Subject: [PATCH 10/10] cmake cleanup & corrected system files install dir --- CMakeLists.txt | 1 + plugins/vst_base/CMakeLists.txt | 17 +++++++++-------- src/CMakeLists.txt | 5 ++--- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 000a45e3b9e..e8ae6dc1d2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -719,4 +719,5 @@ MESSAGE( "-----------------------------------------------------------------\n" "\n\n") +SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "${BIN_DIR}") INCLUDE(InstallRequiredSystemLibraries) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 2bb52c156f3..42b5930b793 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -28,14 +28,9 @@ SET(EXTERNALPROJECT_CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" ) -IF(MSVC) - LIST(APPEND EXTERNALPROJECT_CMAKE_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") -ENDIF(MSVC) - # build 32 bit version of RemoteVstPlugin IF(LMMS_BUILD_WIN32 AND NOT LMMS_BUILD_WIN64) ADD_SUBDIRECTORY(RemoteVstPlugin) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") ELSEIF(LMMS_BUILD_WIN64 AND MSVC) STRING(REPLACE " Win64" "" GENERATOR ${CMAKE_GENERATOR}) @@ -53,9 +48,9 @@ ELSEIF(LMMS_BUILD_WIN64 AND MSVC) CMAKE_GENERATOR_TOOLSET ${CMAKE_GENERATOR_TOOLSET} CMAKE_ARGS "${EXTERNALPROJECT_CMAKE_ARGS}" + "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" "-DCMAKE_PREFIX_PATH=${QT_32_PREFIX}" ) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") ELSEIF(LMMS_BUILD_LINUX) # Use winegcc ExternalProject_Add(RemoteVstPlugin32 @@ -65,7 +60,6 @@ ELSEIF(LMMS_BUILD_LINUX) "-DCMAKE_CXX_COMPILER=${WINEGCC}" "-DCMAKE_CXX_FLAGS=-m32 -mwindows" ) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") ELSEIF(CMAKE_TOOLCHAIN_FILE_32) ExternalProject_Add(RemoteVstPlugin32 "${EXTERNALPROJECT_ARGS}" @@ -74,7 +68,6 @@ ELSEIF(CMAKE_TOOLCHAIN_FILE_32) "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_32}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE_32}" ) - INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") ELSE() message(SEND_ERROR "Can't build RemoteVstPlugin32, unknown environment. Please supply CMAKE_TOOLCHAIN_FILE_32 and optionally CMAKE_PREFIX_PATH_32") ENDIF() @@ -92,3 +85,11 @@ ELSEIF(LMMS_BUILD_LINUX) "-DCMAKE_CXX_FLAGS=-m64 -mwindows" ) ENDIF() + +IF(TARGET RemoteVstPlugin32) + IF(LMMS_BUILD_LINUX) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32" "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe.so" DESTINATION "${PLUGIN_DIR}") + ELSEIF(LMMS_BUILD_WIN32) + INSTALL(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../RemoteVstPlugin32.exe" DESTINATION "${PLUGIN_DIR}") + ENDIF() +ENDIF() \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index da151730c73..09d93d8b3ab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -331,6 +331,7 @@ ELSE(NOT MSVC) # "${VCPKG_ROOT}/bin/libmp3lame-0.dll" # DESTINATION .) #ENDIF(LAME_FOUND) + IF(FLTK_FOUND) INSTALL(FILES "${VCPKG_ROOT}/bin/libfltk_SHARED.dll" @@ -359,9 +360,7 @@ ELSE(NOT MSVC) # ${GIG_LIBRARY} # DESTINATION .) #ENDIF() - - - #TODO fix for 32bit + IF(PORTAUDIO_FOUND) IF(LMMS_BUILD_WIN64) INSTALL(FILES