Skip to content

Add C++Builder 13 support and fix packaging inconsistencies in C++Builder 12 - #1403

Merged
Daniel-Tr merged 14 commits into
JAM-Software:masterfrom
zencode1:cppbuilder
Sep 22, 2026
Merged

Daniel-Tr merged 14 commits into
JAM-Software:masterfrom
zencode1:cppbuilder

Conversation

@zencode1

@zencode1 zencode1 commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This adds C++Builder 13 packages (VirtualTreesCR/VirtualTreesCD) and, in the process of copying the C++Builder 12 packages as a starting point, fixes several ways the C++Builder 12 project folder had drifted from the conventions used by every other CBuilder version (10 through 11). Calling these out explicitly since they're fixes riding along with the new-version work, not just refactoring for its own sake:

  • .groupproj was misnamed and had a mismatched GUID.** Renamed to VirtualTreeView.groupproj and corrected the GUID.
  • VirtualTreesCD.cbproj / VirtualTreesCR.cbproj had mismatched GUIDs from other projects. Restored the shared GUIDs.
  • ILINK_Description didn't match. All other versions use "VirtualTree CBuilder designtime/runtime package"; 12 had "VirtualTrees Designtime"/"VirtualTrees Runtime". Aligned the text.
  • Missing DllSuffix. Set to "$(Auto)" to make future maintenance easier.
  • BCC_UseClassicCompiler mismatched between Debug and Release. I set to false per Embarcadero's current recommendation.
  • Both packages now explicitly declare DCC_OutputNeverBuildDcps and use "Explicit rebuild" build control, matching the convention of the other packages.

Platform support: Win32 only for the design-time package, for now

VirtualTreesCR (runtime) declares and builds cleanly for Win32, Win64, and Win64x. VirtualTreesCD (design-time) is intentionally limited to Win32 only on both 12 and 13. Embarcadero has added support in 13.2 so we can revisit this for future package changes.

Also included

  • New Packages/CBuilder 13/ folder (VirtualTreesCR/VirtualTreesCD .cbproj/.cpp, VirtualTreeView.groupproj), built from the now-corrected CBuilder 12 packages with only the expected ProjectVersion bump (20.3 → 20.4).
  • Demos/CBuilderMinimal: updated includes to unit-scoped VCL headers (System.Classes.hpp, Vcl.Controls.hpp, etc.) and added the #pragma link/#include lines added by the IDE due to the VirtualTrees.pas unit restructure.
  • .gitignore: added entries for C++Builder files generated by modern tools.

Test plan

Built locally with RAD Studio 13.1 (Athens):

  • Packages/CBuilder 12/VirtualTreeView.groupproj - Release/Win32 and Debug/Win32: 0 warnings, 0 errors (page-size linker warning is gone).
  • Packages/CBuilder 12/VirtualTreeView.groupproj - VirtualTreesCR Release/Win64 and Release/Win64x: 0 warnings, 0 errors.
  • Packages/CBuilder 13/VirtualTreeView.groupproj - Release/Win32 and Debug/Win32: 0 warnings, 0 errors.
  • Packages/CBuilder 13/VirtualTreeView.groupproj - VirtualTreesCR Release/Win64x: 0 warnings, 0 errors.
  • Demos/CBuilderMinimal/main.cpp and CBMinimal.cpp compile cleanly against the new includes/pragma links. Does not link due to a compiler mode mismatch. I decided not to change in this PR because it may deserve some discussion.

@Daniel-Tr
Daniel-Tr merged commit 1679913 into JAM-Software:master Sep 22, 2026
@Daniel-Tr

Copy link
Copy Markdown
Collaborator

Same as with the other PR regarding the C++ Builder: I reviewed the changed code, but I can't verify this in C++ Builder.

@joachimmarder joachimmarder added this to the V8.5 milestone Sep 22, 2026
@zencode1
zencode1 deleted the cppbuilder branch September 22, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants