unify(shell): Move Shell to Core - #3070
Conversation
|
Generals now inherits |
|
I've revised this PR and updated the body to reflect the changes. Please also review my question above. |
| ) | ||
|
|
||
| target_link_libraries(core_profile_legacy PRIVATE | ||
| core_debug |
There was a problem hiding this comment.
Is that because of #include "../debug/debug.h" in internal.h ?
There was a problem hiding this comment.
It's the symbols: Debug::AddCommands, Debug::Command, DebugStackwalk::Signature::GetSymbol and a few more, all defined in core_debug.
Verified on vc6-profile: removing the line still compiles core_profile_legacy, but both executables fail with 7 LNK2001 errors. Zero Hour previously got core_debug from the executable's own link list, which this PR removes, and Generals never linked the profiler at all.
This merges the shared Shell implementation and moves it into Core:
Shell.hShell.cppShellMenuScheme.hShellMenuScheme.cppBefore this change, Generals and Zero Hour differed only by product-name comments and the
RTS_PROFILE_LEGACYinitialization profiling hook inShell.cpp.Generals gets
initprofiling range before opening the main menu, matching Zero Hour.Dependency cleanup
Because profile builds of the shared Shell call
Profile::StopRange("init"):core_profile_legacythroughcorei_gameengine_private.core_profile_legacyprivately linkscore_debug.Verification