-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cleanup(build): move NOMINMAX definition at compile time for windows builds #2199
base: master
Are you sure you want to change the base?
Conversation
/cc @geraldcombs care to give this a look? |
/milestone 0.20.0 |
/hold for Gerald review :) |
Perf diff from master - unit tests
Heap diff from master - unit tests
Heap diff from master - scap file
Benchmarks diff from master
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2199 +/- ##
==========================================
- Coverage 75.19% 75.19% -0.01%
==========================================
Files 261 261
Lines 33878 33878
Branches 5800 5800
==========================================
- Hits 25476 25475 -1
- Misses 8402 8403 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
X64 kernel testing matrix
ARM64 kernel testing matrix
|
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.
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Andreagit97, FedeDP The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…ows buils. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
1ba9887
to
bf89dae
Compare
LGTM. We've been doing something similar in the Wireshark sources for many years without any issues. |
What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area build
What this PR does / why we need it:
We define
NOMINMAX
in multiple places to avoidwindows.h
re-definingmin
andmax
macros under the hood.Since this is super error prone because windows headers can be included in so many places (even by included headers from deps), i though it was a good idea to just add a compile definition for it.
Another (possibly better) solution would have been to drop
NOMINMAX
and usestd::min<type>
(and same formax
); in that case, the macro would not be able to replace our code. But, there is always a but, at leastre2
usesstd::min()
without the small trick to avoid the replacement, therefore we cannot do that.Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: