Magical8bitPlug2/builder_linux
2022-02-27 10:41:14 +09:00
..
.gitignore Added Tools in builder_linux for Building with JUCE CMake API 2022-02-27 10:41:14 +09:00
builder_linux.sh Added Tools in builder_linux for Building with JUCE CMake API 2022-02-27 10:41:14 +09:00
CMakeLists.txt Added Tools in builder_linux for Building with JUCE CMake API 2022-02-27 10:41:14 +09:00
installer_linux.sh Added Tools in builder_linux for Building with JUCE CMake API 2022-02-27 10:41:14 +09:00
magical8bitplug2.desktop Added Tools in builder_linux for Building with JUCE CMake API 2022-02-27 10:41:14 +09:00
README.md Added Tools in builder_linux for Building with JUCE CMake API 2022-02-27 10:41:14 +09:00

Tools for Building and Installing Programs Based on JUCE Framework in Linux Using JUCE CMake API

Dependancies

  • Primary Dependencies for JUCE framework in Linux

    1. Read its official documentation of dependencies in Linux
  • Additional Dependencies

    1. "git" - To Clone JUCE SDK
    2. "clang" - Portable Compiler over Processors and Architectures: I confirmed that version 11.0.1-2 in Raspberry Pi OS on Raspberry Pi 3B can compile a project with JUCE framework. GNU C/C++ compiler is the default compiler for Linux. However, the GNU compiler for arm-none-linux-gnueabi (version 10.2.1-6) needs to explicitly link libatomic which is implicitly linked in compilers for other processors. This issue may occur errors on compiling.
    3. "cmake" - Build Environment: Version 3.15 and Above
    4. "lv2-dev" - Development Tools for LV2 Plugin

builder_linux.sh

  • This Bash script downloads JUCE framework and builds a standalone executable, a VST3 plugin, and a LV2 plugin.

    • Example to Build All: ./builder_linux.sh vst3 lv2
    • A standalone executable is build without any argument.
    • If you select to build a LV2 plugin, the JUCE framework is downloaded from the fork of the LV2 porting project.
    • This script executes CMake with CMakeLists.txt in this folder. LLVM Clang is assigned as the C/C++ compiler.
    • Written by Kenta Ishii (JimmyKenMerchant.com) in January 2022
  • Arguments (Orderless):

    1. "vst3" - Build VST3 Plugin
    2. "lv2" - Build LV2 Plugin
    3. "debug" - Build for Debugging
    4. "newjuce" - Reinstall Juce Framework: This's useful when you've already built without a LV2 plugin, but you want to build again for a LV2 plugin.

installer_linux.sh

  • This Bash script helps to install an executable and plugins to your Linux system.

    • Example to Install All: ./installer_linux.sh standalone vst3 lv2
    • Example to Uninstall Standalone: ./installer_linux.sh standalone uninstall
    • This script needs the root privilege.
    • '/usr/local' is the prefix to destinations. Change the value of PREFIX_PATH in this script if you want to install an executable and plugins into other destinations.
    • Written by Kenta Ishii (JimmyKenMerchant.com) in January 2022
  • Arguments (Orderless):

    1. "standalone" - Install/Uninstall Standalone Executable to PREFIX_PATH/bin
    2. "icons" - Install/Uninstall Small, Big, and Scalable Icons to PREFIX_PATH/share/icons/hicolor/ICON_SIZExICON_SIZE(or 'scalable')/apps: A .desktop (Desktop Entry) file is also installed to PREFIX_PATH/share/applications for linking icons to the standalone executable. Installed icons will appear after restarting you system.
    3. "vst3" - Install/Uninstall VST3 Plugin Package to PREFIX_PATH/lib/vst3
    4. "lv2" - Install/Uninstall LV2 Plugin Package to PREFIX_PATH/lib/lv2
    5. "uninstall" - Set Uninstall Mode

History

  • February 26, 2022: Added GPLv3 License to "builder_linux.sh" and "installer_linux.sh".
  • February 23, 2022: Modified "installer_linux.sh" about installing icons with imcomplete set of sizes.
  • February 5, 2022: Added the "icons" arguments to "installer_linux.sh". Installing with lowercase letters.
  • January 30, 2022: Added the "debug" and "newjuce" arguments to "builder_linux.sh".
  • January 29, 2022: Published "builder_linux.sh", "installer_linux.sh", and "README.md" for the first time.