Added hexchat.py to the Visual Studio Python plugin project item list so it is tracked consistently in the Windows project metadata.
Added hexchat.py to the corresponding .vcxproj.filters entries under Source Files for IDE consistency.
Updated the Python plugin Visual Studio project to also undefine _DEBUG and Py_DEBUG (in both Release|Win32 and Release|x64), alongside the existing Py_REF_DEBUG and Py_TRACE_REFS, to avoid pulling in debug-only Python refcount symbols during linking.
Updated the Windows Python plugin project file to explicitly undefine Py_REF_DEBUG and Py_TRACE_REFS in both Release|Win32 and Release|x64 compile settings, preventing the build from pulling in CPython debug-refcount import symbols that are missing from normal Python import libraries.
Updated the Python plugin Visual Studio project to define Py_NO_LINK_LIB in both Release|Win32 and Release|x64 configurations, so CPython headers won’t auto-link a debug import library like python314_d.lib.
Kept explicit linker input ("$(Python3Lib).lib") unchanged, so linking continues to use the configured Python library from project properties.
Python3Enabled (python executable + import lib + cffi)
PerlEnabled (perl executable + perl runtime DLL + gendef.exe)
InstallerEnabled (Inno Setup iscc.exe).
Updated the Python plugin project to compile only when Python3Enabled is true, and otherwise emit a clear skip message instead of failing prebuild/import steps.
Updated the Perl plugin project similarly to gate build steps on PerlEnabled and print a skip message when prerequisites are missing.
Updated the installer project so it only uses C++ targets when InstallerEnabled is true, with a fallback skip message when Inno Setup is unavailable.
- Output directly to rel\ instead of to bin\ and then copying files over.
- Deduped Win32 vs x64 configs
- Moved some common properties to hexchat.props
- All build intermediates (except htm's intermediates) are no longer emitted in the source directory