-
Notifications
You must be signed in to change notification settings - Fork 262
Specify target platform version in binary artifacts #2652
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
Conversation
ae859f3 to
0fed623
Compare
0fed623 to
9e26812
Compare
|
Versions were arbitrarily selected in https://en.wikipedia.org/wiki/Microsoft_Windows_SDK and https://en.wikipedia.org/wiki/MacOS_version_history. |
|
Yannis: Thanks a lot for writing this pull request. I asked James to review this. I suggest we follow this OS support table: https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md |
|
I do not fully grasp the implications of passing this flag or not and using a newer or older version. Could you describe what could go wrong in these scenarios:
I understood that setting a target version makes sure no system call introduced in a later platform version is used. If that is the only impact, why not use the oldest possible target version? Same questions as above for Should we use |
This sets
Security / bug fixes in the library functions would be the main reason. But if the goal is to support back to some version it's what you're left with.
https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html. So for the most part just
It sounds like
|
[skip ci]
It is unclear to me if "the target platform minimum version will not be specified for the project" when:
It is unclear to me what "might be something to address if there's a compatibility issue reported by a user". |
I was thinking we would leave things as is and wait for a report about incompatibility. That might be a little fragile if we move the builder to Windows 11. We can try what you have and see if there are any issues. |
jzern
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.
Actually I wonder if CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION only affects the Visual Studio generator; NInja is being used now.
Actually I wonder if
CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSIONonly affects the Visual Studio generator; NInja is being used now.
https://cmake.org/cmake/help/latest/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION.html
When targeting Windows 10 and above, Visual Studio Generators for VS 2015 and above support specification of a Windows SDK version:
|
With |
|
Are you suggesting dropping |
If we want to go forward with the Visual Studio variables we will need to use the Visual Studio project generator. I'm guessing ninja was used because locally it will be faster since it will parallelize on the file level, not project. For something like there's less of a need for it. |
[skip ci]
[skip ci]
* main: (53 commits) Fix reading gray/color ICC profile from color/gray image in apps (AOMediaCodec#2675) Revert "Use SVT_LOG=0 in avifsvttest for SVT-AV1 3.0.0 (AOMediaCodec#2668)" (AOMediaCodec#2674) Fix monochrome ICC profile error message in apps (AOMediaCodec#2673) Add missing changelog for `avifdec --index all` (AOMediaCodec#2672) Specify target platform version in binary artifacts (AOMediaCodec#2652) avidec: output all frames of animations when passed `--index all` (AOMediaCodec#2670) Do not allow keeping the ICC when converting from RGB to gray (AOMediaCodec#2669) Update CHANGELOG (AOMediaCodec#2666) Use SVT_LOG=0 in avifsvttest for SVT-AV1 3.0.0 (AOMediaCodec#2668) read.c: fix empty struct initializers (AOMediaCodec#2661) avifutil.c: fix avifQueryCPUCount() empty param list (AOMediaCodec#2662) Add libyuv dependency to the README.md (AOMediaCodec#2664) fix: patch libyuv CMakeLists for compatibility with gcc 10 (AOMediaCodec#2660) Use default for tensorflow with libavm (AOMediaCodec#2624) Bump some Rust dependencies (AOMediaCodec#2658) Use C99 syntax to initialize avifFileType struct (AOMediaCodec#2657) Bump the github-actions group with 3 updates libargparse: use a git patch file instead of sed command (AOMediaCodec#2654) y4m: Remove some repeated code Remove fully static instructions (AOMediaCodec#2649) ...
No description provided.