Add C++Builder 13 support and fix packaging inconsistencies in C++Builder 12 - #1403
Merged
Merged
Conversation
…all other packages
…e value of the other C++Builder packages
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:.groupprojwas misnamed and had a mismatched GUID.** Renamed toVirtualTreeView.groupprojand corrected the GUID.VirtualTreesCD.cbproj/VirtualTreesCR.cbprojhad mismatched GUIDs from other projects. Restored the shared GUIDs.ILINK_Descriptiondidn't match. All other versions use "VirtualTree CBuilder designtime/runtime package"; 12 had "VirtualTrees Designtime"/"VirtualTrees Runtime". Aligned the text.DllSuffix. Set to "$(Auto)" to make future maintenance easier.BCC_UseClassicCompilermismatched betweenDebugandRelease. I set to false per Embarcadero's current recommendation.DCC_OutputNeverBuildDcpsand 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
Packages/CBuilder 13/folder (VirtualTreesCR/VirtualTreesCD.cbproj/.cpp,VirtualTreeView.groupproj), built from the now-corrected CBuilder 12 packages with only the expectedProjectVersionbump (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/#includelines added by the IDE due to theVirtualTrees.pasunit 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-VirtualTreesCRRelease/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-VirtualTreesCRRelease/Win64x: 0 warnings, 0 errors.Demos/CBuilderMinimal/main.cppandCBMinimal.cppcompile 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.