-
Notifications
You must be signed in to change notification settings - Fork 6k
[Windows] Move to Visual Studio 2019 #36538
Conversation
|
|
||
| if bool(int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', '1'))): | ||
| dia_path = os.path.join(win_sdk_dir, '..', 'DIA SDK', 'bin', 'amd64') | ||
| dia_path = os.path.join(win_sdk_dir, '..', '..', 'DIA SDK', 'bin', 'amd64') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The depot tools moved the Windows 10 SDK one level deeper. Previous depot tools .zip layout:
\- DIA SDK
\- Windows Kits
\- ... # This is the location of `DEPOT_TOOLS_WIN_TOOLCHAIN`
New depot tools .zip layout:
\- DIA SDK
\- Windows Kits
\- 10 # New folder
\- ... # This is the location of `DEPOT_TOOLS_WIN_TOOLCHAIN`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if it might not be a bad idea to document the path in a comment right above this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh whoops, I merged before seeing this comment. I'll add a comment in a follow-up PR for the ANGLE roll
|
|
||
| // A FlutterDesktopWindowProcCallback that forwards to a std::function provided | ||
| // as user_data. | ||
| FLUTTER_NOINLINE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VS 2019 inlines TestWindowProcCallback and TestWindowProcCallback2 together, causing WindowProcDelegateManagerTest.RegisterMultiple to fail as the delegates' function pointers were the same:
engine/shell/platform/windows/window_proc_delegate_manager_unittests.cc
Lines 95 to 119 in 8f1c93d
| TEST(WindowProcDelegateManagerTest, RegisterMultiple) { | |
| WindowProcDelegateManager manager; | |
| bool called_a = false; | |
| TestWindowProcDelegate delegate_a = | |
| [&called_a](HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { | |
| called_a = true; | |
| return std::optional<LRESULT>(); | |
| }; | |
| bool called_b = false; | |
| TestWindowProcDelegate delegate_b = | |
| [&called_b](HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { | |
| called_b = true; | |
| return std::optional<LRESULT>(); | |
| }; | |
| manager.RegisterTopLevelWindowProcDelegate(TestWindowProcCallback, | |
| &delegate_a); | |
| // Function pointer is different, so both should be called. | |
| manager.RegisterTopLevelWindowProcDelegate(TestWindowProcCallback2, | |
| &delegate_b); | |
| manager.OnTopLevelWindowProc(nullptr, 0, 0, 0); | |
| EXPECT_TRUE(called_a); | |
| EXPECT_TRUE(called_b); | |
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compilers these days are getting too smart for their own good! 🤣
yaakovschectman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
cbracken
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This reverts commit cbb96d0.

Use Visual Studio 2019 to build the engine.
This is a requirement to roll ANGLE as it is affected by an STL bug if built using Visual Studio 2017: angleproject#7693
Depends on: flutter/buildroot#632
Part of: flutter/flutter#110948
Pre-launch Checklist
writing and running engine tests.
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.