Switch to Xenial build environment (#4813)
* Switch to Xenial build environment * Add Carla submodule/weak linking support, related #3963 * Fix Carla detection in AppImage, closes #5369
This commit is contained in:
committed by
Tres Finocchiaro
parent
c52682dfb1
commit
fd77c79cda
@@ -6,7 +6,29 @@ IF(NOT CMAKE_VERSION VERSION_LESS 3.9)
|
||||
CMAKE_POLICY(SET CMP0068 OLD)
|
||||
ENDIF()
|
||||
|
||||
if(LMMS_HAVE_CARLA)
|
||||
# If Carla was not provided by the system, make a dummy library instead
|
||||
if(LMMS_HAVE_WEAKCARLA)
|
||||
# Mimic the Makefile header
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/config.h "")
|
||||
SET(CARLA_INCLUDE_DIRS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/carla/source
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/carla/source/includes
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/carla/source/utils
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/carla/source/backend
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
INCLUDE_DIRECTORIES(${CARLA_INCLUDE_DIRS})
|
||||
ADD_LIBRARY(carla_native-plugin MODULE DummyCarla.cpp)
|
||||
INSTALL(TARGETS carla_native-plugin LIBRARY DESTINATION "${PLUGIN_DIR}/optional")
|
||||
SET(CARLA_LIBRARIES $<TARGET_FILE:carla_native-plugin>)
|
||||
SET(CARLA_LIBRARY_DIRS $<TARGET_FILE_DIR:carla_native-plugin>)
|
||||
# Set parent scope variables so carlarack and carlapatchbay can see them
|
||||
SET(CARLA_LIBRARIES ${CARLA_LIBRARIES} PARENT_SCOPE)
|
||||
SET(CARLA_INCLUDE_DIRS ${CARLA_INCLUDE_DIRS} PARENT_SCOPE)
|
||||
SET(CARLA_LIBRARY_DIRS ${CARLA_LIBRARY_DIRS} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
if(LMMS_HAVE_CARLA OR LMMS_HAVE_WEAKCARLA)
|
||||
INCLUDE(BuildPlugin)
|
||||
INCLUDE_DIRECTORIES(${CARLA_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${CARLA_LIBRARY_DIRS})
|
||||
@@ -17,4 +39,7 @@ if(LMMS_HAVE_CARLA)
|
||||
BUILD_WITH_INSTALL_RPATH TRUE
|
||||
INSTALL_RPATH_USE_LINK_PATH TRUE
|
||||
INSTALL_RPATH "${CARLA_RPATH}")
|
||||
endif(LMMS_HAVE_CARLA)
|
||||
IF(LMMS_HAVE_WEAKCARLA)
|
||||
ADD_DEPENDENCIES(carlabase carla_native-plugin)
|
||||
ENDIF()
|
||||
endif()
|
||||
|
||||
12
plugins/carlabase/DummyCarla.cpp
Normal file
12
plugins/carlabase/DummyCarla.cpp
Normal file
@@ -0,0 +1,12 @@
|
||||
// A dummy Carla interface
|
||||
#include "CarlaNativePlugin.h"
|
||||
|
||||
const char* carla_get_library_filename() { return nullptr; }
|
||||
const char* carla_get_library_folder() { return nullptr; }
|
||||
const NativePluginDescriptor* carla_get_native_rack_plugin() { return nullptr; }
|
||||
const NativePluginDescriptor* carla_get_native_patchbay_plugin() { return nullptr; }
|
||||
const NativePluginDescriptor* carla_get_native_patchbay16_plugin() { return nullptr; }
|
||||
const NativePluginDescriptor* carla_get_native_patchbay32_plugin() { return nullptr; }
|
||||
const NativePluginDescriptor* carla_get_native_patchbay64_plugin() { return nullptr; }
|
||||
const NativePluginDescriptor* carla_get_native_patchbay_cv_plugin() { return nullptr; }
|
||||
CarlaBackend::CarlaEngine* carla_get_native_plugin_engine(const NativePluginDescriptor* desc, NativePluginHandle handle) { return nullptr; }
|
||||
1
plugins/carlabase/carla
Submodule
1
plugins/carlabase/carla
Submodule
Submodule plugins/carlabase/carla added at 4ac8ff2ef4
@@ -438,7 +438,8 @@ PluginView* CarlaInstrument::instantiateView(QWidget* parent)
|
||||
// Disable plugin focus per https://bugreports.qt.io/browse/QTBUG-30181
|
||||
#ifndef CARLA_OS_MAC
|
||||
if (QWidget* const window = parent->window())
|
||||
fHost.uiParentId = window->winId();
|
||||
// TODO: Remove cast; Only needed for Qt4
|
||||
fHost.uiParentId = (uintptr_t)window->winId();
|
||||
else
|
||||
#endif
|
||||
fHost.uiParentId = 0;
|
||||
|
||||
BIN
plugins/carlabase/logo.png
Normal file
BIN
plugins/carlabase/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
@@ -1,4 +1,4 @@
|
||||
if(LMMS_HAVE_CARLA)
|
||||
if(LMMS_HAVE_CARLA OR LMMS_HAVE_WEAKCARLA)
|
||||
ADD_DEFINITIONS(-DCARLA_PLUGIN_PATCHBAY -DCARLA_PLUGIN_SYNTH)
|
||||
INCLUDE(BuildPlugin)
|
||||
INCLUDE_DIRECTORIES(${CARLA_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/../carlabase")
|
||||
@@ -6,4 +6,4 @@ if(LMMS_HAVE_CARLA)
|
||||
${CARLA_LIBRARY_DIRS})
|
||||
LINK_LIBRARIES(carlabase)
|
||||
BUILD_PLUGIN(carlapatchbay carlapatchbay.cpp EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
|
||||
endif(LMMS_HAVE_CARLA)
|
||||
endif()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
if(LMMS_HAVE_CARLA)
|
||||
if(LMMS_HAVE_CARLA OR LMMS_HAVE_WEAKCARLA)
|
||||
ADD_DEFINITIONS(-DCARLA_PLUGIN_RACK -DCARLA_PLUGIN_SYNTH)
|
||||
INCLUDE(BuildPlugin)
|
||||
INCLUDE_DIRECTORIES(${CARLA_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/../carlabase")
|
||||
@@ -6,4 +6,4 @@ if(LMMS_HAVE_CARLA)
|
||||
${CARLA_LIBRARY_DIRS})
|
||||
LINK_LIBRARIES(carlabase)
|
||||
BUILD_PLUGIN(carlarack carlarack.cpp EMBEDDED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.png")
|
||||
endif(LMMS_HAVE_CARLA)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user