Message ID | 20230527211144.2136991-1-romain.naour@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | support/dependencies: requires cmake >= 3.19 | expand |
>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes: > libjxl requires cmake 3.19 since version v0.7 due to the > new behavior of cmake [1]. > -- Configuring done > CMake Error at cmake/FindLCMS2.cmake:40 (add_library): > INTERFACE_LIBRARY targets may only have whitelisted properties. The > property "INCLUDE_DIRECTORIES" is not allowed. > Call Stack (most recent call first): > third_party/CMakeLists.txt:114 (find_package) > The portability issue has already been reported upstream [2]. > Fixes: > https://gitlab.com/buildroot.org/buildroot/-/jobs/4322819095 > [1] https://gitlab.kitware.com/cmake/cmake/-/commit/afb998704e67d3d3ce5b24c112cb06e770fca78d > [2] https://github.com/libjxl/libjxl/issues/1425 > Signed-off-by: Romain Naour <romain.naour@gmail.com> > Cc: Julien Olivain <ju.o@free.fr> > --- > This will increase the build time in gitlab-ci since > our docker image provide cmake 3.18. Not only that, also users on E.G. Debian stable. Libjxl was added back in November, so we will also need to backport this to 2023.02.x :/ Do we have any alternatives?
Hello Peter, Le 28/05/2023 à 20:34, Peter Korsgaard a écrit : >>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes: > > > libjxl requires cmake 3.19 since version v0.7 due to the > > new behavior of cmake [1]. > > > -- Configuring done > > CMake Error at cmake/FindLCMS2.cmake:40 (add_library): > > INTERFACE_LIBRARY targets may only have whitelisted properties. The > > property "INCLUDE_DIRECTORIES" is not allowed. > > Call Stack (most recent call first): > > third_party/CMakeLists.txt:114 (find_package) > > > The portability issue has already been reported upstream [2]. > > > Fixes: > > https://gitlab.com/buildroot.org/buildroot/-/jobs/4322819095 > > > [1] https://gitlab.kitware.com/cmake/cmake/-/commit/afb998704e67d3d3ce5b24c112cb06e770fca78d > > [2] https://github.com/libjxl/libjxl/issues/1425 > > > Signed-off-by: Romain Naour <romain.naour@gmail.com> > > Cc: Julien Olivain <ju.o@free.fr> > > --- > > This will increase the build time in gitlab-ci since > > our docker image provide cmake 3.18. > > Not only that, also users on E.G. Debian stable. Libjxl was added back > in November, so we will also need to backport this to 2023.02.x :/ > > Do we have any alternatives? > Maybe we have to change the rule to update the cmake minimum version. We updated the cmake minimum when at least one package required a new cmake version: https://gitlab.com/buildroot.org/buildroot/-/commit/ee860ce3dc3dada4ee4af41dd0d0eee7c0489a28 https://gitlab.com/buildroot.org/buildroot/-/commit/3ab8aefa87f9e6bc451e98b89d63d018fac603df In support/dependencies/check-host-cmake.mk we can do something like (simple but not great...): ifeq ($(BR2_PACKAGE_LIBJXL),y) BR2_CMAKE_VERSION_MIN = 3.19 else BR2_CMAKE_VERSION_MIN = 3.18 endif or add a new Kconfig BR2_HOST_CMAKE_AT_LEAST_3.19 and make BR2_CMAKE_VERSION_MIN configurable (not great either). Best regards, Romain
On 31/05/2023 18:21, Romain Naour wrote: > Hello Peter, > > Le 28/05/2023 à 20:34, Peter Korsgaard a écrit : >>>>>>> "Romain" == Romain Naour <romain.naour@gmail.com> writes: >> >> > libjxl requires cmake 3.19 since version v0.7 due to the >> > new behavior of cmake [1]. >> >> > -- Configuring done >> > CMake Error at cmake/FindLCMS2.cmake:40 (add_library): >> > INTERFACE_LIBRARY targets may only have whitelisted properties. The >> > property "INCLUDE_DIRECTORIES" is not allowed. >> > Call Stack (most recent call first): >> > third_party/CMakeLists.txt:114 (find_package) >> >> > The portability issue has already been reported upstream [2]. >> >> > Fixes: >> > https://gitlab.com/buildroot.org/buildroot/-/jobs/4322819095 >> >> > [1] https://gitlab.kitware.com/cmake/cmake/-/commit/afb998704e67d3d3ce5b24c112cb06e770fca78d >> > [2] https://github.com/libjxl/libjxl/issues/1425 >> >> > Signed-off-by: Romain Naour <romain.naour@gmail.com> >> > Cc: Julien Olivain <ju.o@free.fr> >> > --- >> > This will increase the build time in gitlab-ci since >> > our docker image provide cmake 3.18. We could get cmake 3.25 from bullseye-backports. >> Not only that, also users on E.G. Debian stable. Libjxl was added back >> in November, so we will also need to backport this to 2023.02.x :/ >> >> Do we have any alternatives? >> > > Maybe we have to change the rule to update the cmake minimum version. > > We updated the cmake minimum when at least one package required a new cmake version: > > https://gitlab.com/buildroot.org/buildroot/-/commit/ee860ce3dc3dada4ee4af41dd0d0eee7c0489a28 > > https://gitlab.com/buildroot.org/buildroot/-/commit/3ab8aefa87f9e6bc451e98b89d63d018fac603df > > In support/dependencies/check-host-cmake.mk we can do something like > (simple but not great...): > > ifeq ($(BR2_PACKAGE_LIBJXL),y) > BR2_CMAKE_VERSION_MIN = 3.19 > else > BR2_CMAKE_VERSION_MIN = 3.18 > endif > > or add a new Kconfig BR2_HOST_CMAKE_AT_LEAST_3.19 and make BR2_CMAKE_VERSION_MIN > configurable (not great either). I honestly think that such an option wouldn't be a bad idea. It would allow us to lower the absolute minimum version again (at least a bit, based on the last update or two). Regards, Arnout > > Best regards, > Romain > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/support/dependencies/check-host-cmake.mk b/support/dependencies/check-host-cmake.mk index 5760e4ded1..516f55908e 100644 --- a/support/dependencies/check-host-cmake.mk +++ b/support/dependencies/check-host-cmake.mk @@ -1,9 +1,9 @@ -# Set this to either 3.18 or higher, depending on the highest minimum +# Set this to either 3.19 or higher, depending on the highest minimum # version required by any of the packages bundled in Buildroot. If a # package is bumped or a new one added, and it requires a higher # version, our cmake infra will catch it and build its own. # -BR2_CMAKE_VERSION_MIN = 3.18 +BR2_CMAKE_VERSION_MIN = 3.19 BR2_CMAKE_CANDIDATES ?= cmake cmake3 BR2_CMAKE ?= $(call suitable-host-package,cmake,\
libjxl requires cmake 3.19 since version v0.7 due to the new behavior of cmake [1]. -- Configuring done CMake Error at cmake/FindLCMS2.cmake:40 (add_library): INTERFACE_LIBRARY targets may only have whitelisted properties. The property "INCLUDE_DIRECTORIES" is not allowed. Call Stack (most recent call first): third_party/CMakeLists.txt:114 (find_package) The portability issue has already been reported upstream [2]. Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/4322819095 [1] https://gitlab.kitware.com/cmake/cmake/-/commit/afb998704e67d3d3ce5b24c112cb06e770fca78d [2] https://github.com/libjxl/libjxl/issues/1425 Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Julien Olivain <ju.o@free.fr> --- This will increase the build time in gitlab-ci since our docker image provide cmake 3.18. --- support/dependencies/check-host-cmake.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)