🧃

【備忘録】VSCodeでJUCEの開発をする方法

に公開

制約

JUCE公式のGUIツール「Projucer」は、Visual Studio または Xcode を前提としている。
それ以外のIDE(たとえばVSCode)を使いたい場合は、CMakeベースの構成を選ぶ必要がある。
なお、今回はMSVC 2022でビルドするため、Visual Studio 2022のインストールが必須。

環境

  • Git 2.34.1
  • CMake 4.0.1
  • Visual Studio 2022
  • Cursor 0.48.9 (VSCodeのfork)
  • JUCE 8.0.7

VSCode拡張機能

  • C/C++ Extension Pack 1.3.0

テンプレートの作成

CMakeベースのJUCEプロジェクトテンプレートを作成し、時短を図る。
構成は以下の通り

lib/
└── JUCE/
src/
├── PluginEditor.cpp
├── PluginEditor.h
├── PluginProcessor.cpp
└── PluginProcessor.h
CMakeLists.txt
CMakePresets.json

JUCE は次の JUCEライブラリの取得 で公式リポジトリからクローンする。
src/ 以下のファイルは、JUCEの examples/CMake/AudioPlugin からコピーする。

JUCEライブラリの取得

lib/ ディレクトリ内で以下のコマンドを実行

git clone https://github.com/juce-framework/JUCE.git

https://github.com/juce-framework/JUCE

CMakeLists.txtを編集する

cmake_minimum_required(VERSION 3.22)

project(juce_cmake_template VERSION 0.0.1)

enable_language(CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
    add_compile_options(/utf-8)
endif()

add_subdirectory(lib/JUCE)

juce_add_plugin(NewProject
    PLUGIN_MANUFACTURER_CODE Juce
    PLUGIN_CODE Dem0

    FORMATS AU VST3 Standalone
    PRODUCT_NAME "NewProject")

target_sources(NewProject
    PRIVATE
        src/PluginEditor.cpp
        src/PluginProcessor.cpp)

target_compile_definitions(NewProject
    PUBLIC
        JUCE_WEB_BROWSER=0
        JUCE_USE_CURL=0
        JUCE_VST3_CAN_REPLACE_VST2=0)

target_link_libraries(NewProject
    PRIVATE
        juce::juce_audio_utils
    PUBLIC
        juce::juce_recommended_config_flags
        juce::juce_recommended_lto_flags
        juce::juce_recommended_warning_flags)

CMakePresets.jsonを編集する

{
  "version": 3,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 22,
    "patch": 0
  },
  "configurePresets": [
    {
      "name": "vs2022",
      "displayName": "Visual Studio 17 2022",
      "generator": "Visual Studio 17 2022",
      "binaryDir": "${sourceDir}/build",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Release"
      }
    }
  ]
}

VSCodeでビルドする

拡張機能のCMake Toolsが入っていれば起動時に事前設定の選択が表示される。
Visual Studio 17 2022 を選択することでビルドが可能になる。

Releaseビルドをしたい場合は以下のコマンドを入力する。

cmake --build build --config Release

作成したテンプレート

https://github.com/Saisana299/juce_cmake_template
cloneする時は --recursive を付ける。

git clone --recursive https://github.com/Saisana299/juce_cmake_template.git

参考

https://qiita.com/tomoyanonymous/items/97cae1b83805ebcc2d00
https://note.com/o_ory/n/n2b974f629a5d
https://qiita.com/COx2/items/fa1aceb5013f92457469

Discussion