<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 3, 2019 at 9:36 PM Nathan Rossi &lt;<a href="mailto:nathan@nathanrossi.com">nathan@nathanrossi.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 4 Apr 2019 at 13:48, Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Wed, Apr 3, 2019 at 8:28 PM Nathan Rossi &lt;<a href="mailto:nathan@nathanrossi.com" target="_blank">nathan@nathanrossi.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; On Thu, 4 Apr 2019 at 03:02, Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Wed, Apr 3, 2019 at 2:26 AM Bach, Pascal &lt;<a href="mailto:pascal.bach@siemens.com" target="_blank">pascal.bach@siemens.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Enable the building of the curses based ui for cmake. This depends on<br>
&gt; &gt; &gt; &gt; &gt; ncurses.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I think this is acceptable. It might also be useful for people wanting to use ccmake inside an SDK.<br>
&gt; &gt;<br>
&gt; &gt; Just to be clear, this change only affects cmake-native, the recipe<br>
&gt; &gt; for target/nativesdk is unchanged. Although interestingly the cmake<br>
&gt; &gt; (target/nativesdk) recipe already depends on ncurses (despite<br>
&gt; &gt; disabling ccmake).<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Adding dependencies do serialize builds and might have penalty on<br>
&gt; &gt; &gt; build time, better is to turn this into a packageconfig<br>
&gt; &gt; &gt; option and keep it disabled by default.<br>
&gt; &gt;<br>
&gt; &gt; I can rework this patch to make it a PACKAGECONFIG option. However the<br>
&gt; &gt; reason for enabling ccmake by default is due to the addition of the<br>
&gt; &gt; ccmake bbclass in this series, which relies on having ccmake available<br>
&gt; &gt; in the native sysroot. Having to override PACKAGECONFIG to use the<br>
&gt; &gt; ccmake class seemed broken (since it is not particularly a distro<br>
&gt; &gt; config).<br>
&gt; &gt;<br>
&gt; &gt; I could not find a good example of this sort of requirement for<br>
&gt; &gt; configuration for any other bbclass except for maybe<br>
&gt; &gt; gobject-introspection (which relies on qemu-native configured<br>
&gt; &gt; correctly to have linux-user for the target).<br>
&gt; &gt;<br>
&gt; &gt; Another approach I considered to have this working without requiring<br>
&gt; &gt; the user to setup PACKAGECONFIG would be to have a &quot;ccmake-native&quot;<br>
&gt; &gt; recipe which built the ccmake binary. But this seemed like it would be<br>
&gt; &gt; extra maintenance burden compared to this patch which has minimal<br>
&gt; &gt; build time overhead.<br>
&gt; &gt;<br>
&gt;<br>
&gt; this seems fine, if the number of recipes needing this bbclass are far less than<br>
&gt; one the needing cmake bbclass.<br>
<br>
Just to clarify, are you suggesting that making a ccmake-native recipe<br>
would be fine? Or that requiring the PACKAGECONFIG setup would be<br>
acceptable/preferred?</blockquote><div dir="auto"><br></div><div dir="auto">I don’t have enough of data to lean on either way</div><div dir="auto">Are we adding this to every cmake using recipes benefit or is it only a handful </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
Thanks,<br>
Nathan<br>
<br>
&gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt; Nathan<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Signed-off-by: Nathan Rossi &lt;<a href="mailto:nathan@nathanrossi.com" target="_blank">nathan@nathanrossi.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; ---<br>
&gt; &gt; &gt; &gt; &gt; This patch suggests enabling this in the cmake-native recipe, however this<br>
&gt; &gt; &gt; &gt; &gt; might be undesirable for bootstrapping reasons. Whilst ccmake is not used<br>
&gt; &gt; &gt; &gt; &gt; normally the added dependency on ncurses is likely required for other parts<br>
&gt; &gt; &gt; &gt; &gt; of the build so impact on build ordering and time should be relatively<br>
&gt; &gt; &gt; &gt; &gt; minimal.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Changes in v2:<br>
&gt; &gt; &gt; &gt; &gt; - None<br>
&gt; &gt; &gt; &gt; &gt; ---<br>
&gt; &gt; &gt; &gt; &gt;  meta/recipes-devtools/cmake/<a href="http://cmake-native_3.14.0.bb" rel="noreferrer" target="_blank">cmake-native_3.14.0.bb</a> | 5 ++---<br>
&gt; &gt; &gt; &gt; &gt;  1 file changed, 2 insertions(+), 3 deletions(-)<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; diff --git a/meta/recipes-devtools/cmake/<a href="http://cmake-native_3.14.0.bb" rel="noreferrer" target="_blank">cmake-native_3.14.0.bb</a><br>
&gt; &gt; &gt; &gt; &gt; b/meta/recipes-devtools/cmake/<a href="http://cmake-native_3.14.0.bb" rel="noreferrer" target="_blank">cmake-native_3.14.0.bb</a><br>
&gt; &gt; &gt; &gt; &gt; index fedcf3d4bd..b2952ee5f5 100644<br>
&gt; &gt; &gt; &gt; &gt; --- a/meta/recipes-devtools/cmake/<a href="http://cmake-native_3.14.0.bb" rel="noreferrer" target="_blank">cmake-native_3.14.0.bb</a><br>
&gt; &gt; &gt; &gt; &gt; +++ b/meta/recipes-devtools/cmake/<a href="http://cmake-native_3.14.0.bb" rel="noreferrer" target="_blank">cmake-native_3.14.0.bb</a><br>
&gt; &gt; &gt; &gt; &gt; @@ -1,7 +1,7 @@<br>
&gt; &gt; &gt; &gt; &gt;  require cmake.inc<br>
&gt; &gt; &gt; &gt; &gt;  inherit native<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; -DEPENDS += &quot;bzip2-replacement-native expat-native xz-native zlib-native<br>
&gt; &gt; &gt; &gt; &gt; curl-native&quot;<br>
&gt; &gt; &gt; &gt; &gt; +DEPENDS += &quot;bzip2-replacement-native expat-native xz-native zlib-native<br>
&gt; &gt; &gt; &gt; &gt; curl-native ncurses-native&quot;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;  SRC_URI += &quot;file://OEToolchainConfig.cmake \<br>
&gt; &gt; &gt; &gt; &gt;              file://<a href="http://environment.d-cmake.sh" rel="noreferrer" target="_blank">environment.d-cmake.sh</a> \ @@ -13,10 +13,9 @@ SRC_URI +=<br>
&gt; &gt; &gt; &gt; &gt; &quot;file://OEToolchainConfig.cmake \  B = &quot;${WORKDIR}/build&quot;<br>
&gt; &gt; &gt; &gt; &gt;  do_configure[cleandirs] = &quot;${B}&quot;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; -# Disable ccmake since we don&#39;t depend on ncurses  CMAKE_EXTRACONF =<br>
&gt; &gt; &gt; &gt; &gt; &quot;\<br>
&gt; &gt; &gt; &gt; &gt;      -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \<br>
&gt; &gt; &gt; &gt; &gt; -    -DBUILD_CursesDialog=0 \<br>
&gt; &gt; &gt; &gt; &gt; +    -DBUILD_CursesDialog=1 \<br>
&gt; &gt; &gt; &gt; &gt;      -DCMAKE_USE_SYSTEM_LIBRARIES=1 \<br>
&gt; &gt; &gt; &gt; &gt;      -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \<br>
&gt; &gt; &gt; &gt; &gt;      -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \<br>
&gt; &gt; &gt; &gt; &gt; ---<br>
&gt; &gt; &gt; &gt; &gt; 2.20.1<br>
&gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &gt; Openembedded-core mailing list<br>
&gt; &gt; &gt; &gt; &gt; <a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
&gt; &gt; &gt; &gt; &gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; Openembedded-core mailing list<br>
&gt; &gt; &gt; &gt; <a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
&gt; &gt; &gt; &gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div></div>