There are a few housekeeping tasks to do before you get started developing your plugin.
A python script, project_setup.py, is provided which automates the steps in the section below (requires Python 3.12+)*. To run the script:
- Run
cd .\CLibSFPluginTemplate\ - Run
py .\project_setup.py - Enter your project name (in CamelCase)
*NOTE: If you're using Python 3.11 or below, change onexc=onexc to onerror=onexc in lines 31 and 33 in project_setup.py
- Clone the repository
- Set the
"name"and"version-semver"fields invcpkg.json - Update the
"baseline"entries to the latest commits in both registries invcpkg.json- Follow the links in the
"repository"fields and copy-paste the hash of the latest commit in each repository
- Follow the links in the
- Set the name and version of your plugin in
CMakeLists.txt - Change
"AuthorName"inCMakeLists.txtto your name - Set the name of
contrib/Config/PluginName.inito the name of your plugin - Edit the
ini.LoadFile()call insrc/Settings.cppto load the renamed ini from step 6
- Visual Studio should prompt you to generate a CMake cache. Click on
Generateand wait - One the CMake cache is generated, build your project
- The
.dlland.pdbfiles will be placed incontrib\PluginReleaseorcontrib\PluginDebugdepending on your build configuration
- Two build configs are provided:
Release: Optimized release build, produces small and fast DLLs with associated PDBsDebug: Debug build, produces DLLs and PDBs with full debug info, allowing the use of an interactive debugger
- CMake v3.27+
- vcpkg v2023.08.09+
- Create a new Windows environment variable called
VCPKG_ROOTwhich points to your vcpkg install directory
- Create a new Windows environment variable called
- Visual Studio 2022 with C++ workload
- LLVM v17.0.0+ (not really a dependency but nice to have)