-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
[lcms] Update to v2.16 #42187
[lcms] Update to v2.16 #42187
Conversation
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.
Migrating to the meson port present in 2.16. Only thing I'm not sure of how to make the CMake config that was present before. Think this change will break libjxl
since it references the config.
--- a/src/lcms2.def | ||
+++ b/src/lcms2.def | ||
@@ -1,5 +1,3 @@ | ||
-LIBRARY LCMS2.DLL |
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.
Fixed in mm2/Little-CMS@4c561f8
|
||
// Handle "register" keyword | ||
-#if defined(CMS_NO_REGISTER_KEYWORD) | ||
+#if __cplusplus >= 201703L || defined(CMS_NO_REGISTER_KEYWORD) |
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.
Fixed in mm2/Little-CMS@42309a0
@@ -13,5 +13,28 @@ | |||
"name": "vcpkg-cmake-config", | |||
"host": true | |||
} | |||
] | |||
], | |||
"features": { |
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.
Link to the meson options https://github.com/mm2/Little-CMS/blob/lcms2.16/meson_options.txt
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.
Only thing I'm not sure of how to make the CMake config that was present before. Think this change will break libjxl since it references the config.
Alternatives:
- Write it manually.
- Move reverse dependencies to pkg-config.
24b687c
to
4551952
Compare
@dg0yt @MonicaLiu0311 is there any way to see what the failure is on linux? My windows build with the same port completed. |
Please get failure logs here. Steps to view CI errors: #38994 (comment):
|
TLDNR: There is a stray |
Good catch. Trying to reproduce in WSL now to see where thats coming from. |
With the amount of packages required and the number of failures I've had over the course of the day because my Ubuntu WSL2 setup was missing some Just curious if the CI can be restarted if #42175 lands? |
It is currently in the |
Ok so I got the
The find module for
So it is the problem here. So in these cases do we remove the |
|
8d5d92d
to
71395b3
Compare
Okay @dg0yt I think this is ready for review. The |
71395b3
to
f7af482
Compare
There appears to have been an issue with Python when the checks ran. Can we rerun @dg0yt @MonicaLiu0311 ? The last run was fine. |
You can add an empty commit ( |
f7af482
to
94a464a
Compare
Ok all the checks are 🟢 ! This ready to go @dg0yt ? |
LGTM. (Omitting nitpicks.) |
Feature
Features
|
When using pkgconfig the value of `<NAME>_CFLAGS_OTHER` can contain compiler flags along with preprocessor definitions. If there is a compiler flag and its passed to `target_compile_definitions` then it will be treated as if it is a preprocessor definition. Found a case where a statically compiled LibRaw with a statically compiled Little-CMS caused `LibRaw_DEFINITIONS` to have `-pthread` in its listing which was passed to the compiler as a definition, `-D-pthread`. This caused a build failure with `auto-moc`. Add an additional parameter for the `add_oiio_plugin` macro to take `COMPILE_OPTIONS` and pass those to `target_compile_options` which can differentiate between compiler flags and preprocessor definitions. Pass `LibRaw_DEFINITIONS` to the CMake macro to prevent the above error. Issue found while updating Little-CMS in microsoft/vcpkg#42187 and the change fixes the build issue found there. This is an attempt to upstream it so the issue is fixed. Signed-off-by: Don Olmstead <don.j.olmstead@gmail.com>
Ok I split the change to |
The change has been accepted upstream, but no new version has been released, so it can be temporarily accepted as a patch until the next version appears. |
👋 @MonicaLiu0311 because this PR wasn’t moving and there was a newer version of openimageio I moved those changes to #42532 . If you want to merge that first I’m happy to rebase this PR after it lands. |
v3.0.1.0 was released 3 days ago, and OpenImageIO/pull/4556 was merged yesterday. Has it been included in the latest version? |
f647ca8
to
a21a758
Compare
Use the meson build. Remove obsolete patches and CMake build.
Alrighty this is rebased now that the changes to |
…mySoftwareFoundation#4556) When using pkgconfig the value of `<NAME>_CFLAGS_OTHER` can contain compiler flags along with preprocessor definitions. If there is a compiler flag and its passed to `target_compile_definitions` then it will be treated as if it is a preprocessor definition. Found a case where a statically compiled LibRaw with a statically compiled Little-CMS caused `LibRaw_DEFINITIONS` to have `-pthread` in its listing which was passed to the compiler as a definition, `-D-pthread`. This caused a build failure with `auto-moc`. Add an additional parameter for the `add_oiio_plugin` macro to take `COMPILE_OPTIONS` and pass those to `target_compile_options` which can differentiate between compiler flags and preprocessor definitions. Pass `LibRaw_DEFINITIONS` to the CMake macro to prevent the above error. Issue found while updating Little-CMS in microsoft/vcpkg#42187 and the change fixes the build issue found there. This is an attempt to upstream it so the issue is fixed. Signed-off-by: Don Olmstead <don.j.olmstead@gmail.com>
…mySoftwareFoundation#4556) When using pkgconfig the value of `<NAME>_CFLAGS_OTHER` can contain compiler flags along with preprocessor definitions. If there is a compiler flag and its passed to `target_compile_definitions` then it will be treated as if it is a preprocessor definition. Found a case where a statically compiled LibRaw with a statically compiled Little-CMS caused `LibRaw_DEFINITIONS` to have `-pthread` in its listing which was passed to the compiler as a definition, `-D-pthread`. This caused a build failure with `auto-moc`. Add an additional parameter for the `add_oiio_plugin` macro to take `COMPILE_OPTIONS` and pass those to `target_compile_options` which can differentiate between compiler flags and preprocessor definitions. Pass `LibRaw_DEFINITIONS` to the CMake macro to prevent the above error. Issue found while updating Little-CMS in microsoft/vcpkg#42187 and the change fixes the build issue found there. This is an attempt to upstream it so the issue is fixed. Signed-off-by: Don Olmstead <don.j.olmstead@gmail.com>
Thank you! |
Thank you for all the assistance with it! |
…mySoftwareFoundation#4556) When using pkgconfig the value of `<NAME>_CFLAGS_OTHER` can contain compiler flags along with preprocessor definitions. If there is a compiler flag and its passed to `target_compile_definitions` then it will be treated as if it is a preprocessor definition. Found a case where a statically compiled LibRaw with a statically compiled Little-CMS caused `LibRaw_DEFINITIONS` to have `-pthread` in its listing which was passed to the compiler as a definition, `-D-pthread`. This caused a build failure with `auto-moc`. Add an additional parameter for the `add_oiio_plugin` macro to take `COMPILE_OPTIONS` and pass those to `target_compile_options` which can differentiate between compiler flags and preprocessor definitions. Pass `LibRaw_DEFINITIONS` to the CMake macro to prevent the above error. Issue found while updating Little-CMS in microsoft/vcpkg#42187 and the change fixes the build issue found there. This is an attempt to upstream it so the issue is fixed. Signed-off-by: Don Olmstead <don.j.olmstead@gmail.com>
./vcpkg x-add-version --all
and committing the result.