Can't build examples using cmake on linux

I’ve followed the instruction in the readme to build examples on linux. The DemoRunner works fine, however I can’t get the NoiseGatePlugin or anything else in the Plugins folder to create any executables. The build completes without error, but there are no executables anywhere.

Commands used are:

cmake . -B cmake-build -DJUCE_BUILD_EXAMPLES=ON -DJUCE_BUILD_EXTRAS=ON
cmake --build cmake-build --target DemoRunner
cmake --build cmake-build --target NoiseGatePlugin

tree of some related folders:

[barabas@BarabasArchDesktop][* master][~/source/JUCE]
$ tree ./cmake-build/examples/Plugins/NoiseGatePlugin_artefacts
./cmake-build/examples/Plugins/NoiseGatePlugin_artefacts
├── JuceLibraryCode
│   ├── audioplugin_NoiseGatePlugin_UnityScript.cs
│   ├── Defs.txt
│   ├── Info.txt
│   ├── JuceHeader.h
│   └── Main.cpp
├── libNoiseGatePlugin_SharedCode.a
├── Standalone
├── Unity
└── VST3
    └── NoiseGatePlugin.vst3
        └── Contents
            └── x86_64-linux

7 directories, 6 files
[barabas@BarabasArchDesktop][* master][~/source/JUCE]
$ tree ./cmake-build/examples/Plugins/CMakeFiles/NoiseGatePlugin.dir
./cmake-build/examples/Plugins/CMakeFiles/NoiseGatePlugin.dir
├── __
│   └── __
│       └── modules
│           ├── juce_audio_basics
│           │   └── juce_audio_basics.cpp.o
│           ├── juce_audio_devices
│           │   └── juce_audio_devices.cpp.o
│           ├── juce_audio_formats
│           │   └── juce_audio_formats.cpp.o
│           ├── juce_audio_plugin_client
│           │   └── juce_audio_plugin_client_utils.cpp.o
│           ├── juce_audio_processors
│           │   └── juce_audio_processors.cpp.o
│           ├── juce_audio_utils
│           │   └── juce_audio_utils.cpp.o
│           ├── juce_core
│           │   └── juce_core.cpp.o
│           ├── juce_data_structures
│           │   └── juce_data_structures.cpp.o
│           ├── juce_events
│           │   └── juce_events.cpp.o
│           ├── juce_graphics
│           │   └── juce_graphics.cpp.o
│           ├── juce_gui_basics
│           │   └── juce_gui_basics.cpp.o
│           └── juce_gui_extra
│               └── juce_gui_extra.cpp.o
├── build.make
├── cmake_clean.cmake
├── cmake_clean_target.cmake
├── CXX.includecache
├── DependInfo.cmake
├── depend.internal
├── depend.make
├── flags.make
├── link.txt
├── NoiseGatePlugin_artefacts
│   └── JuceLibraryCode
│       └── Main.cpp.o
└── progress.make

17 directories, 23 files
[barabas@BarabasArchDesktop][* master][~/source/JUCE]
$ tree ./cmake-build/examples/Plugins/CMakeFiles/NoiseGatePlugin_VST3.dir
./cmake-build/examples/Plugins/CMakeFiles/NoiseGatePlugin_VST3.dir
├── __
│   └── __
│       └── modules
│           └── juce_audio_plugin_client
├── build.make
├── cmake_clean.cmake
├── DependInfo.cmake
├── depend.make
├── flags.make
├── link.txt
└── progress.make

4 directories, 7 files

Make output:

[barabas@BarabasArchDesktop][* master][~/source/JUCE]
$ cmake --build cmake-build/ --target NoiseGatePlugin
[  0%] Generating NoiseGatePlugin_artefacts/JuceLibraryCode/JuceHeader.h
Scanning dependencies of target NoiseGatePlugin
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/NoiseGatePlugin_artefacts/JuceLibraryCode/Main.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_audio_devices/juce_audio_devices.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_audio_basics/juce_audio_basics.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_core/juce_core.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_events/juce_events.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_audio_formats/juce_audio_formats.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_audio_processors/juce_audio_processors.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_gui_extra/juce_gui_extra.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_gui_basics/juce_gui_basics.cpp.o
[  0%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_graphics/juce_graphics.cpp.o
[100%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_data_structures/juce_data_structures.cpp.o
[100%] Building CXX object examples/Plugins/CMakeFiles/NoiseGatePlugin.dir/__/__/modules/juce_audio_utils/juce_audio_utils.cpp.o
[100%] Linking CXX static library NoiseGatePlugin_artefacts/libNoiseGatePlugin_SharedCode.a
[100%] Built target NoiseGatePlugin

I expect to see a .so file in the VST3 folder, yet it is just an empty directory structure. Any help would be appreciated.

I managed to build it, the actual target name is NoiseGatePlugin_VST3. I feel that NoiseGatePlugin target should act like an all target, and build all available formats. The way it works now is quite confusing.

There should be a NoiseGatePlugin_All target that does what you expect.