Fix linking issues with the dummy Carla library(especially with MSVC)
This commit is contained in:
@@ -8,15 +8,11 @@ ENDIF()
|
||||
|
||||
# If Carla was not provided by the system, make a dummy library instead
|
||||
if(LMMS_HAVE_WEAKCARLA)
|
||||
# Mimic the autoconf header
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/autoconf)
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/autoconf/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}/autoconf
|
||||
)
|
||||
ADD_LIBRARY(carla_native-plugin SHARED DummyCarla.cpp)
|
||||
TARGET_INCLUDE_DIRECTORIES(carla_native-plugin PUBLIC ${CARLA_INCLUDE_DIRS})
|
||||
@@ -30,11 +26,19 @@ if(LMMS_HAVE_WEAKCARLA)
|
||||
endif()
|
||||
|
||||
if(LMMS_HAVE_CARLA OR LMMS_HAVE_WEAKCARLA)
|
||||
# Mimic the missing "config.h"
|
||||
SET(CARLA_INCLUDE_DIRS ${CARLA_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/CarlaConfig)
|
||||
SET(CARLA_INCLUDE_DIRS ${CARLA_INCLUDE_DIRS} PARENT_SCOPE)
|
||||
|
||||
INCLUDE(BuildPlugin)
|
||||
INCLUDE_DIRECTORIES(${CARLA_INCLUDE_DIRS})
|
||||
LINK_DIRECTORIES(${CARLA_LIBRARY_DIRS})
|
||||
LINK_LIBRARIES(${CARLA_LIBRARIES})
|
||||
BUILD_PLUGIN(carlabase carla.cpp carla.h MOCFILES carla.h EMBEDDED_RESOURCES artwork-patchbay.png artwork-rack.png LINK SHARED)
|
||||
BUILD_PLUGIN(carlabase carla.cpp carla.h
|
||||
MOCFILES carla.h
|
||||
EMBEDDED_RESOURCES artwork-patchbay.png artwork-rack.png
|
||||
EXPORT_BASE_NAME carlabase
|
||||
LINK SHARED)
|
||||
SET_TARGET_PROPERTIES(carlabase
|
||||
PROPERTIES SKIP_BUILD_RPATH TRUE
|
||||
BUILD_WITH_INSTALL_RPATH TRUE
|
||||
|
||||
9
plugins/carlabase/CarlaConfig/config.h
Normal file
9
plugins/carlabase/CarlaConfig/config.h
Normal file
@@ -0,0 +1,9 @@
|
||||
// config.h for Carla
|
||||
#ifndef FOR_CARLA_CONFIG_H
|
||||
#define FOR_CARLA_CONFIG_H
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define HAVE_CPP11_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,12 +1,13 @@
|
||||
// A dummy Carla interface
|
||||
#define BUILDING_CARLA
|
||||
#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; }
|
||||
CARLA_EXPORT const char* carla_get_library_filename() { return nullptr; }
|
||||
CARLA_EXPORT const char* carla_get_library_folder() { return nullptr; }
|
||||
CARLA_EXPORT const NativePluginDescriptor* carla_get_native_rack_plugin() { return nullptr; }
|
||||
CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_plugin() { return nullptr; }
|
||||
CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay16_plugin() { return nullptr; }
|
||||
CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay32_plugin() { return nullptr; }
|
||||
CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay64_plugin() { return nullptr; }
|
||||
CARLA_EXPORT const NativePluginDescriptor* carla_get_native_patchbay_cv_plugin() { return nullptr; }
|
||||
CARLA_EXPORT CarlaBackend::CarlaEngine* carla_get_native_plugin_engine(const NativePluginDescriptor* desc, NativePluginHandle handle) { return nullptr; }
|
||||
|
||||
@@ -26,10 +26,9 @@
|
||||
#define CARLA_H
|
||||
|
||||
#include <QtCore/QMutex>
|
||||
#include "plugin_export.h"
|
||||
#include "carlabase_export.h"
|
||||
|
||||
#include "CarlaNative.h"
|
||||
#define REAL_BUILD // FIXME this shouldn't be needed
|
||||
#if CARLA_VERSION_HEX >= 0x010911
|
||||
#include "CarlaNativePlugin.h"
|
||||
#else
|
||||
@@ -48,7 +47,7 @@
|
||||
|
||||
class QPushButton;
|
||||
|
||||
class PLUGIN_EXPORT CarlaInstrument : public Instrument
|
||||
class CARLABASE_EXPORT CarlaInstrument : public Instrument
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "carla.h"
|
||||
|
||||
#include "embed.h"
|
||||
#include "plugin_export.h"
|
||||
#include "InstrumentTrack.h"
|
||||
|
||||
extern "C"
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "carla.h"
|
||||
|
||||
#include "embed.h"
|
||||
#include "plugin_export.h"
|
||||
#include "InstrumentTrack.h"
|
||||
|
||||
extern "C"
|
||||
|
||||
Reference in New Issue
Block a user