From: Debian Multimedia Maintainers Date: Wed, 23 Oct 2019 07:44:36 +0000 (+0200) Subject: have Projucer and juceaide link against the system libraries X-Git-Tag: archive/raspbian/7.0.2_ds0-3+rpi1^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fb2d0c5a8e604012fd1cdd460cfe9ffdeb0de33c;p=juce.git have Projucer and juceaide link against the system libraries Origin: Debian Forwarded: no Last-Update: 2019-08-21 since the Debian package has removed 3rd-party libraries (jpeg, png, flac, ogg/vorbis), we must link against the system libraries. Last-Update: 2019-08-21 Gbp-Pq: Name debian_link_systemlibs.patch --- diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt index 34f1a7f5..1132e151 100644 --- a/extras/Build/juceaide/CMakeLists.txt +++ b/extras/Build/juceaide/CMakeLists.txt @@ -37,6 +37,7 @@ if(JUCE_BUILD_HELPER_TOOLS) JUCE_USE_CURL=0) target_link_libraries(juceaide PRIVATE + z juce::juce_build_tools juce::juce_recommended_config_flags juce::juce_recommended_lto_flags diff --git a/extras/Projucer/CMakeLists.txt b/extras/Projucer/CMakeLists.txt index 6e76a007..920c5b2f 100644 --- a/extras/Projucer/CMakeLists.txt +++ b/extras/Projucer/CMakeLists.txt @@ -163,6 +163,7 @@ juce_add_binary_data(ProjucerData SOURCES ../Build/CMake/juce_runtime_arch_detection.cpp) target_link_libraries(Projucer PRIVATE + z ProjucerData juce::juce_build_tools juce::juce_cryptography diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h index 563f18be..3573ce46 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h @@ -695,6 +695,9 @@ private: StringArray result (linuxLibs); auto libraries = StringArray::fromTokens (getExternalLibrariesString(), ";", "\"'"); +#ifdef DEBIAN_JUCERPROJECT_LIBS + libraries.addArray(StringArray::fromTokens (DEBIAN_JUCERPROJECT_LIBS, ";", "\"'")); +#endif libraries.removeEmptyStrings(); for (auto& lib : libraries) diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp index a1e08a5e..6e8cf631 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp @@ -558,6 +558,39 @@ StringArray ProjectExporter::getLinuxPackages (PackageDependencyType type) const if (isCurlEnabled (project) && ! isLoadCurlSymbolsLazilyEnabled (project)) packages.add ("libcurl"); + // on Debian, a number of 3rd-party libs have been stripped away, + // so we need to link to the system libraries + if (project.getEnabledModules().isModuleEnabled ("juce_core")) + { + packages.add ("zlib"); + } + if (project.getEnabledModules().isModuleEnabled ("juce_graphics")) + { + packages.add ("libjpeg"); + packages.add ("libpng"); + } + if (project.getEnabledModules().isModuleEnabled ("juce_audio_formats")) + { + if(project.isConfigFlagEnabled ("JUCE_USE_FLAC", true)) + { + packages.add ("flac"); + } + if(project.isConfigFlagEnabled ("JUCE_USE_OGGVORBIS", true)) + { + packages.add ("vorbis"); + packages.add ("vorbisfile"); + packages.add ("vorbisenc"); + packages.add ("ogg"); + } + } + if (project.getEnabledModules().isModuleEnabled ("juce_audio_devices")) + { + if(project.isConfigFlagEnabled ("JUCE_JACK", true)) + { + packages.add ("jack"); + } + } + if (isWebBrowserComponentEnabled (project) && type == PackageDependencyType::compile) { packages.add ("webkit2gtk-4.0");