You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
│ ├── AddPluginvalTests.cmake # CMake module for CTest integration
106
107
│ ├── test_plugins/ # Test plugin files
@@ -221,23 +222,22 @@ struct Requirements {
221
222
222
223
### VST3 Validator Integration
223
224
224
-
The VST3 validator (Steinberg's vstvalidator) is embedded directly into pluginval when built with `PLUGINVAL_VST3_VALIDATOR=ON` (the default). This eliminates the need to provide an external validator binary path.
225
+
The VST3 validator (Steinberg's vstvalidator) is embedded into pluginval when built with `PLUGINVAL_VST3_VALIDATOR=ON` (the default). This provides single-file distribution while keeping vstvalidator completely isolated from pluginval's link dependencies.
225
226
226
227
**Architecture:**
227
228
1. The VST3 SDK is fetched via CPM during CMake configure
228
-
2. `VST3ValidatorRunner` (`Source/vst3validator/`) wraps the SDK's validation functionality
229
-
3. When the `VST3validator` test runs, it spawns pluginval with `--vst3-validator-mode`
230
-
4. This subprocess runs the embedded validator code in isolation (crash protection)
229
+
2. The SDK's own `validator` target is built as a separate executable
230
+
3. A CMake script (`cmake/GenerateBinaryHeader.cmake`) converts the compiled binary into a C byte array header
231
+
4. `VST3ValidatorRunner` (`Source/vst3validator/`) extracts the embedded binary to a temp file on first use
232
+
5. When the `VST3validator` test runs, it spawns the extracted validator as a subprocess
231
233
232
-
**Internal CLI mode:**
233
-
```bash
234
-
# Used internally by the VST3validator test - not for direct use
0 commit comments