[備忘録]JUCEをCMakeとVSCodeで動かしたい〜CMakeビルド編〜

上の記事の続きです。VSCodeにCMake Toolsという拡張機能を入れるところまで来ました。ここからはJUCEのプロジェクトを作っていきます。

1. JUCEの導入

グローバルに導入する手法もあるらしいが、今回はプロジェクト単位ごとに入れていく方法で導入する。
プロジェクトのディレクトリにJUCEをgit cloneし、libs以下に格納しておく。

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

cloneが完了したので、ソースファイルのテンプレートを持ってくる。JUCE/examples/CMake以下に、AudioPlugin・ConsoleApp・GuiAppの3種類のテンプレートが用意されているためこちらを使う。今回はAudioPluginを使用。中身には2種類の.cpp/.hファイルとCMakeLists.txtが含まれる。Processorの方が信号処理に関するソースでEditorの方がUI関連のソースになる。このAudioPluginのフォルダごとプロジェクトファイルにコピーし、適当にsrcと名前をつけておく。

ディレクトリ構成

---/
|-src/
|  |-CMakeLists.txt
|  |-PluginEditor.cpp
|  |-PluginEditor.h
|  |-PluginProcessor.cpp
|  |-PluginProcessor.h
|
|-libs/
|  |-JUCE
|
|-CMakeLists.txt

2. CMakeの設定

最上位のCMakeLists.txtから編集する。ここではプロジェクトの基本的な情報を設定する。内容は以下の通りだが、JUCEとsrcのサブディレクトリを追加しているほかはCMakeの普通の設定と変わらない。

src内のCMakeLists.txtを編集する。こちらはテンプレートに必要情報が全て記述されているため、必要に応じてuncommentしていく。主に設定すべきは以下の3箇所

1. juce_add_plugin

CMakeのadd_executableやadd_libraryなどに相当。Pluginのターゲットをこの関数で作る。基本的な設定は全てここに記述する

2. juce_generate_juce_header

JuceHeader.hを自動生成するための関数。このヘッダをインクルードすることでJUCE関連の関数はすべて使えるようになる。構成時にbuildディレクトリ内に生成される。

3. target_link_libraries

JUCE標準のライブラリをリンクできるように指定。

どれを使用するのか、いまいち分からないのでとりあえず全部指定。

以上でビルドすれば、/build/src/AudioPluginExample_artefacts/Debug配下に生成物が格納される。

参考

以下の記事を参考にしました。


この記事が気に入ったらサポートをしてみませんか?