Browse Source

cmake: add HAVE_PYQT flag, native-plugin lib

Signed-off-by: falkTX <falktx@falktx.com>
fix-audiofile-buffering
falkTX 1 year ago
parent
commit
e8efd1295f
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 171 additions and 5 deletions
  1. +171
    -5
      cmake/CMakeLists.txt

+ 171
- 5
cmake/CMakeLists.txt View File

@@ -124,6 +124,9 @@ if(NOT X11_FOUND)
add_library(PkgConfig::X11 ALIAS carla-none)
endif()

# TODO
set(PYQT_FOUND FALSE)

#######################################################################################################################
# utilities

@@ -143,6 +146,7 @@ function(set_common_target_properties TARGET)
$<$<BOOL:${FLUIDSYNTH_FOUND}>:HAVE_FLUIDSYNTH>
$<$<BOOL:${LIBLO_FOUND}>:HAVE_LIBLO>
$<$<BOOL:${LIBMAGIC_FOUND}>:HAVE_LIBMAGIC>
$<$<BOOL:${PYQT_FOUND}>:HAVE_PYQT>
$<$<BOOL:${SNDFILE_FOUND}>:HAVE_SNDFILE>
$<$<BOOL:${X11_FOUND}>:HAVE_X11>
)
@@ -445,11 +449,11 @@ target_sources(carla-native-plugins
../source/native-plugins/midi-transpose.c
../source/native-plugins/audio-file.cpp
../source/native-plugins/midi-file.cpp
# these rely on PyQt, skip them
# ../source/native-plugins/bigmeter.cpp
# ../source/native-plugins/midi-pattern.cpp
# ../source/native-plugins/notes.cpp
# ../source/native-plugins/xycontroller.cpp
# these rely on PyQt
$<$<BOOL:${PYQT_FOUND}>:../source/native-plugins/bigmeter.cpp>
$<$<BOOL:${PYQT_FOUND}>:../source/native-plugins/midi-pattern.cpp>
$<$<BOOL:${PYQT_FOUND}>:../source/native-plugins/notes.cpp>
$<$<BOOL:${PYQT_FOUND}>:../source/native-plugins/xycontroller.cpp>
)

#######################################################################################################################
@@ -816,6 +820,168 @@ target_sources(carla-discovery-native
../source/discovery/carla-discovery.cpp
)

#######################################################################################################################
# carla native-plugin

add_library(carla-native-plugin SHARED)
add_library(carla::standalone ALIAS carla-native-plugin)

set_common_target_properties(carla-native-plugin)

if(${CARLA_BUILD_FRAMEWORKS})
set(carla-native-plugin-public-headers
../source/backend/CarlaBackend.h
../source/backend/CarlaHost.h
../source/backend/CarlaUtils.h
../source/includes/CarlaDefines.h
../source/includes/CarlaNative.h
../source/includes/CarlaNativePlugin.h
)

set_target_properties(carla-native-plugin
PROPERTIES
FRAMEWORK TRUE
OUTPUT_NAME carla_native-plugin
PUBLIC_HEADER "${carla-native-plugin-public-headers}"
)
else()
set_target_properties(carla-native-plugin
PROPERTIES
OUTPUT_NAME carla_native-plugin
IMPORT_PREFIX lib
PREFIX lib
)
endif()

target_compile_definitions(carla-native-plugin
PRIVATE
CARLA_PLUGIN_BUILD
CARLA_LIB_EXT="${CMAKE_SHARED_LIBRARY_SUFFIX}"
)

# FIXME
# target_compile_options(carla-native-plugin
# PRIVATE
# $<$<C_COMPILER_ID:AppleClang>:-Wno-unused-but-set-variable>
# $<$<C_COMPILER_ID:GNU>:-Wno-format-truncation>
# $<$<C_COMPILER_ID:GNU>:-Wno-stringop-overflow>
# $<$<C_COMPILER_ID:GNU>:-Wno-error=cpp>
# $<$<STREQUAL:${CMAKE_C_COMPILER_FRONTEND_VARIANT},GNU>:-Wno-unused-parameter>
# )

target_include_directories(carla-native-plugin
PRIVATE
../source
../source/backend
../source/includes
../source/modules
../source/utils
)

if(APPLE)
target_link_options(carla-native-plugin
PRIVATE
-Wl,-exported_symbol,_carla_get_native_patchbay_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay16_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay32_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay64_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay_cv_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay_cv8_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay_cv32_plugin
-Wl,-exported_symbol,_carla_get_native_patchbay_obs_plugin
-Wl,-exported_symbol,_carla_create_native_plugin_host_handle
-Wl,-exported_symbol,_carla_host_handle_free
-Wl,-exported_symbol,_carla_get_native_plugin_engine
-Wl,-exported_symbol,_carla_get_complete_license_text
-Wl,-exported_symbol,_carla_get_juce_version
-Wl,-exported_symbol,_carla_get_supported_file_extensions
-Wl,-exported_symbol,_carla_get_supported_features
-Wl,-exported_symbol,_carla_get_library_filename
-Wl,-exported_symbol,_carla_get_library_folder
)
elseif(EMSCRIPTEN)
target_link_options(carla-native-plugin
PRIVATE
-sSIDE_MODULE=2
-sEXPORTED_FUNCTIONS="['carla_get_native_rack_plugin','carla_get_native_patchbay_plugin','carla_get_native_patchbay16_plugin','carla_get_native_patchbay32_plugin','carla_get_native_patchbay64_plugin','carla_get_native_patchbay_cv_plugin','carla_get_native_patchbay_cv8_plugin','carla_get_native_patchbay_cv32_plugin','carla_get_native_patchbay_obs_plugin','carla_create_native_plugin_host_handle','carla_host_handle_free','carla_get_native_plugin_engine','carla_get_complete_license_text','carla_get_juce_version','carla_get_supported_file_extensions','carla_get_supported_features','carla_get_library_filename','carla_get_library_folder']"
)
elseif(WIN32)
target_link_options(carla-native-plugin
PRIVATE
../source/plugin/symbols/carla-native-plugin.def
)
else()
target_link_options(carla-native-plugin
PRIVATE
-Wl,--version-script=../source/plugin/symbols/carla-native-plugin.version
)
endif()

target_link_libraries(carla-native-plugin
PRIVATE
carla-jackbridge
carla-lilv
carla-native-plugins
carla-rtmempool
carla-sfzero
carla-water
$<$<BOOL:${CARLA_ENABLE_JSFX}>:carla-ysfx>
carla-zita-resampler
PkgConfig::FLUIDSYNTH
PkgConfig::LIBLO
PkgConfig::LIBMAGIC
PkgConfig::X11
$<$<BOOL:${APPLE}>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>
${CARLA_PTHREADS}
)

target_sources(carla-native-plugin
PRIVATE
../source/backend/engine/CarlaEngine.cpp
../source/backend/engine/CarlaEngineClient.cpp
../source/backend/engine/CarlaEngineData.cpp
../source/backend/engine/CarlaEngineGraph.cpp
../source/backend/engine/CarlaEngineInternal.cpp
../source/backend/engine/CarlaEngineNative.cpp
../source/backend/engine/CarlaEngineOsc.cpp
../source/backend/engine/CarlaEngineOscHandlers.cpp
../source/backend/engine/CarlaEngineOscSend.cpp
../source/backend/engine/CarlaEnginePorts.cpp
../source/backend/engine/CarlaEngineRunner.cpp
../source/backend/plugin/CarlaPlugin.cpp
../source/backend/plugin/CarlaPluginBridge.cpp
../source/backend/plugin/CarlaPluginInternal.cpp
../source/backend/plugin/CarlaPluginAU.cpp
../source/backend/plugin/CarlaPluginCLAP.cpp
../source/backend/plugin/CarlaPluginFluidSynth.cpp
../source/backend/plugin/CarlaPluginJuce.cpp
../source/backend/plugin/CarlaPluginJSFX.cpp
../source/backend/plugin/CarlaPluginLADSPADSSI.cpp
../source/backend/plugin/CarlaPluginLV2.cpp
../source/backend/plugin/CarlaPluginNative.cpp
../source/backend/plugin/CarlaPluginSFZero.cpp
../source/backend/plugin/CarlaPluginVST2.cpp
../source/backend/plugin/CarlaPluginVST3.cpp
../source/plugin/carla-native-plugin.cpp
$<$<BOOL:${CARLA_USE_JACK}>:../source/backend/plugin/CarlaPluginJack.cpp>
PUBLIC
${carla-native-plugin-public-headers}
)

install(TARGETS carla-native-plugin
ARCHIVE DESTINATION ${CARLA_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CARLA_INSTALL_LIBDIR}
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

# if(${CARLA_BUILD_FRAMEWORKS})
# install(TARGETS
# carla-bridge-native
# carla-discovery-native
# DESTINATION ${CMAKE_INSTALL_LIBDIR}/carla-native-plugin.framework)
# endif()

#######################################################################################################################
# carla standalone



Loading…
Cancel
Save