Stop shipping SDK artifacts in the Windows package. The 4.4.2 build carried 25 files nothing at runtime touches: eight byte-identical duplicates of the MSVC CRT under bin/, cmark's and QtKeychain's public headers, their import libraries, CMake package configs, libcmark.pc, qt_Qt6Keychain.pri, and cmark's command-line tool. The duplicate CRT has a root cause worth fixing: cmark calls include(InstallRequiredSystemLibraries) without pinning a destination, and that module defaults to "bin" on Windows. cmark is processed before src/, so it won the race and produced a second copy. Pre-setting CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION at the top level, next to the existing CMAKE_INSTALL_BINDIR pin and likewise before add_subdirectory(libs), makes the module's `if(NOT ...)` guard fall through so every include targets the flat root. The rest cannot be fixed at the root: cmark and QtKeychain declare their install() rules unconditionally, expose no option to disable them, and are consumed as a submodule and via FetchContent. Prune them from the CPack staging tree instead, through CPACK_PRE_BUILD_SCRIPTS, which runs after staging and before the ZIP/MSI is built and therefore never affects `cmake --install`. The hook refuses to touch a tree with no vnote.exe at its top level, and returns early for source packages -- CPack serializes CPACK_* into CPackSourceConfig.cmake too, so without that guard `package_source` would abort on Windows. A new CI step asserts the four directories and any unexpected executable are absent. It runs for both variants on every build, not just releases: a silently skipped prune would otherwise show up only as a slightly larger ZIP.
VNote
A pleasant note-taking platform.
For more information, please visit VNote's Home Page.
Description
VNote is a Qt-based, free and open source note-taking application, focusing on Markdown now. VNote is designed to provide a pleasant note-taking platform with excellent editing experience.
VNote is NOT just a simple editor for Markdown. By providing notes management, VNote makes taking notes in Markdown simpler. In the future, VNote will support more formats besides Markdown.
Utilizing Qt, VNote could run on Linux, Windows, and macOS.
Downloads
Continuous builds on master branch could be found at the Continuous Build release.
Latest stable builds could be found at the latest release or Gitee release
Supports
- GitHub Issues;
- Email:
tamlokx at gmail.com;
Thank users who donated to VNote!
Development
After cloning the repository, run the initialization script to set up your development environment:
Linux/macOS:
bash scripts/init.sh
Windows:
scripts\init.cmd
This script will:
- Initialize and update all git submodules
- Install pre-commit hooks for automatic code formatting with clang-format
- Set up the vtextedit submodule pre-commit hook
For more development guidelines, see AGENTS.md.
License
VNote is licensed under GNU LGPLv3.

