Skip to contentSkip to conversation

support/dependencies: require at least CMake 3.8

PATCH New Thomas Petazzoni 2 participants 6 messages Dec 31, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 support/dependencies: require at least CMake 3.8

The json-for-modern-cpp package unfortunately now requires CMake >= 3.8, so we need to bump our requirement from 3.1 to 3.8. If the host doesn't have a CMake >= 3.8, Buildroot will build its own host-cmake package.

Fixes:

http://autobuild.buildroot.org/results/1f893d8bc7df3bfefd31df69aba918e2121cfaf7/

---
 support/dependencies/check-host-cmake.mk | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
support/dependencies/check-host-cmake.mk +2 -11
index 4300e6f600..3ea422ea87 100644
@@ -1,14 +1,5 @@
-# Versions before 3.0 are affected by the bug described in
-# https://git.busybox.net/buildroot/commit/?id=ef2c1970e4bff3be3992014070392b0e6bc28bd2
-# and fixed in upstream CMake in version 3.0:
-# https://cmake.org/gitweb?p=cmake.git;h=e8b8b37ef6fef094940d3384df5a1d421b9fa568
-#
-# Set this to either 3.0 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 whine.
-#
-BR2_CMAKE_VERSION_MIN = 3.1
+# The json-for-modern-cpp package needs at least CMake 3.8
+BR2_CMAKE_VERSION_MIN = 3.8
 
 BR2_CMAKE_CANDIDATES ?= cmake cmake3
 BR2_CMAKE ?= $(call suitable-host-package,cmake,\
Signature · 1 line
2.20.1
#1 lore raw

PATCH 1/1 support/dependencies: require at least CMake 3.8

Thomas, All,

On 2018-12-31 17:26 +0100, Thomas Petazzoni spake thusly:

Quoted 4 lines

The json-for-modern-cpp package unfortunately now requires CMake >= 3.8, so we need to bump our requirement from 3.1 to 3.8. If the host doesn't have a CMake >= 3.8, Buildroot will build its own host-cmake package.

The upstream commit that bumped the requirement to cmake 3.8 states:

Using target_compile_features to specify C++ 11 standard
https://github.com/nlohmann/json/commit/73cc5089e33ea950b6677e19ee7ec656c9bcf985

However, target_compile_features has been available even since 3.1 at least:

https://cmake.org/cmake/help/v3.1/command/target_compile_features.html

I'll kick-start a build with a patched json-for-modern-cpp, to see if we can stay on 3.1.

Regards,
Yann E. MORIN.

Quoted 37 lines

Fixes:

http://autobuild.buildroot.org/results/1f893d8bc7df3bfefd31df69aba918e2121cfaf7/

---
 support/dependencies/check-host-cmake.mk | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
support/dependencies/check-host-cmake.mk +2 -11
index 4300e6f600..3ea422ea87 100644
@@ -1,14 +1,5 @@
-# Versions before 3.0 are affected by the bug described in
-# https://git.busybox.net/buildroot/commit/?id=ef2c1970e4bff3be3992014070392b0e6bc28bd2
-# and fixed in upstream CMake in version 3.0:
-# https://cmake.org/gitweb?p=cmake.git;h=e8b8b37ef6fef094940d3384df5a1d421b9fa568
-#
-# Set this to either 3.0 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 whine.
-#
-BR2_CMAKE_VERSION_MIN = 3.1
+# The json-for-modern-cpp package needs at least CMake 3.8
+BR2_CMAKE_VERSION_MIN = 3.8
 
 BR2_CMAKE_CANDIDATES ?= cmake cmake3
 BR2_CMAKE ?= $(call suitable-host-package,cmake,\
Signature · 6 lines
2.20.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH 1/1 support/dependencies: require at least CMake 3.8

Hello,

Quoted 11 lines · Yann E. MORIN

On 2018-12-31 17:26 +0100, Thomas Petazzoni spake thusly:

Quoted 4 lines

The json-for-modern-cpp package unfortunately now requires CMake >= 3.8, so we need to bump our requirement from 3.1 to 3.8. If the host doesn't have a CMake >= 3.8, Buildroot will build its own host-cmake package.

The upstream commit that bumped the requirement to cmake 3.8 states:

Using target_compile_features to specify C++ 11 standard
https://github.com/nlohmann/json/commit/73cc5089e33ea950b6677e19ee7ec656c9bcf985

Quoted 7 lines

However, target_compile_features has been available even since 3.1 at least:

https://cmake.org/cmake/help/v3.1/command/target_compile_features.html

I'll kick-start a build with a patched json-for-modern-cpp, to see if we can stay on 3.1.

Thanks! It would be a lot nicer! Do you have a CMake 3.1 installation readily available ?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#3 lore raw

PATCH 1/1 support/dependencies: require at least CMake 3.8

Thomas, All,

On 2018-12-31 17:47 +0100, Thomas Petazzoni spake thusly:

Quoted 15 lines · Yann E. MORIN
Quoted 14 lines

On 2018-12-31 17:26 +0100, Thomas Petazzoni spake thusly:

Quoted 4 lines

The json-for-modern-cpp package unfortunately now requires CMake >= 3.8, so we need to bump our requirement from 3.1 to 3.8. If the host doesn't have a CMake >= 3.8, Buildroot will build its own host-cmake package.

The upstream commit that bumped the requirement to cmake 3.8 states:

Using target_compile_features to specify C++ 11 standard
https://github.com/nlohmann/json/commit/73cc5089e33ea950b6677e19ee7ec656c9bcf985

However, target_compile_features has been available even since 3.1 at least:

Quoted 7 lines
Quoted 4 lines

https://cmake.org/cmake/help/v3.1/command/target_compile_features.html

I'll kick-start a build with a patched json-for-modern-cpp, to see if we can stay on 3.1.

Thanks! It would be a lot nicer! Do you have a CMake 3.1 installation readily available ?

Now I have! ;-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH 1/1 support/dependencies: require at least CMake 3.8

On 2018-12-31 18:00 +0100, Yann E. MORIN spake thusly:

Quoted 16 lines

On 2018-12-31 17:47 +0100, Thomas Petazzoni spake thusly:

Quoted 15 lines · Yann E. MORIN
Quoted 14 lines

On 2018-12-31 17:26 +0100, Thomas Petazzoni spake thusly:

Quoted 4 lines

The json-for-modern-cpp package unfortunately now requires CMake >= 3.8, so we need to bump our requirement from 3.1 to 3.8. If the host doesn't have a CMake >= 3.8, Buildroot will build its own host-cmake package.

The upstream commit that bumped the requirement to cmake 3.8 states:

Using target_compile_features to specify C++ 11 standard
https://github.com/nlohmann/json/commit/73cc5089e33ea950b6677e19ee7ec656c9bcf985

However, target_compile_features has been available even since 3.1 at least:

Quoted 7 lines
Quoted 6 lines
Quoted 4 lines

https://cmake.org/cmake/help/v3.1/command/target_compile_features.html

I'll kick-start a build with a patched json-for-modern-cpp, to see if we can stay on 3.1.

Thanks! It would be a lot nicer! Do you have a CMake 3.1 installation readily available ?

Now I have! ;-)

And indeed, that is sufficient to stick to 3.1. I'll send a proper patch and submit it upstream too.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 1/1 support/dependencies: require at least CMake 3.8

Hello,

Quoted 2 lines · Yann E. MORIN

And indeed, that is sufficient to stick to 3.1. I'll send a proper patch and submit it upstream too.

Thanks, I'll mark my patch as Rejected then!

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com