Skip to content

Settings: Paths

Linard Arquint edited this page Oct 24, 2022 · 6 revisions

Settings: Paths

This block of settings groups the paths to the most important external tools. All paths can be specified individually for each operating system. Only the setting that matches the running operating system is used. Alternatively the paths can also be provided as a string.

  • viperToolsPath: The path of the Viper Tools folder. This path is only used if build version Local is set. Otherwise, the Viper Tools will be installed to <VSCode Installation>/User/globalStorage/viper-admin.viper where <VSCode Installation> corresponds to ~/Library/Application Support/Code (on macOS), c:\Users\<user>\AppData\Roaming\Code (on Windows), and ~/.config/Code (on Linux).
  • z3Executable: The path to the z3 executable.
  • boogieExecutable: The path to the boogie executable.

The Viper Tools usually have the following structure:

  • backends/viperserver.jar (alternatively, multiple skinny JARs can be placed in this folder)
  • z3/bin/z3.exe (used on Windows)
  • z3/bin/z3 (used on Linux and Mac)
  • boogie/Binaries/Boogie.exe (used on Windows)
  • boogie/Binaries/Boogie (used on the Mac and Linux)
  • resources/** (additional resources used by Viper IDE, e.g., sound effects)

Default Settings:

"viperSettings.paths": {
  "v": "674a514867b1",
  "viperToolsPath": {
    "windows": "%APPDATA%\\Roaming\\Code\\User\\globalStorage\\viper-admin.viper\\Local\\ViperTools",
    "linux": "$HOME/.config/Code/User/globalStorage/viper-admin.viper/Local/ViperTools",
    "mac": "$HOME/Library/Application Support/Code/User/globalStorage/viper-admin.viper/Local/ViperTools"
  },
  "z3Executable": {
    "windows": "$viperTools$/z3/bin/z3.exe",
    "linux": "$viperTools$/z3/bin/z3",
    "mac": "$viperTools$/z3/bin/z3"
  },
  "boogieExecutable": {
    "windows": "$viperTools$/boogie/Binaries/Boogie.exe",
    "linux": "$viperTools$/boogie/Binaries/Boogie.exe",
    "mac": "$viperTools$/boogie/Binaries/Boogie"
  },
  "sfxPrefix": "$viperTools$/resources/sfx"
}
Clone this wiki locally