Kirigami build instructions

Aleix Pol aleixpol at kde.org
Sun Aug 14 19:37:17 UTC 2016


On Fri, Aug 12, 2016 at 10:26 PM, Police Terror <PoliceTerror at dyne.org> wrote:
> Thank you, I didn't realize ECM was connected to KDE. That connection
> was good. Running this command solved the problem:
>
> $ sudo apt install extra-cmake-modules
>
> Which made it available in /usr/share/ECM/toolchain/Android.cmake
>
> And now I also had to add a switch to cmake:
>
>   -DANDROID_NDK=...
>
> However it is failing:
>
> -- Check for working C compiler:
> /mypath/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
> CMake Error at /usr/share/ECM/toolchain/Android.cmake:113 (message):
>   Couldn't find the Android NDK Root in /platforms/android-14/arch-arm

/platforms/... looks wrong, should have something before. Make sure
that your ANDROID_NDK variable is properly set. I'd suggest setting it
as an environment variable.

> Call Stack (most recent call first):
>   /home/travis/src/kirigami/build/CMakeFiles/3.5.1/CMakeSystem.cmake:6
> (include)
>   CMakeLists.txt:2 (project)
>
> CMakeError.log has lots of errors like:
>
> /home/travis/Downloads/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld:
> error: cannot find -lc
> /home/travis/Downloads/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld:
> error: cannot find -ldl

If gcc can't be found, anything won't be found. The toolchain is a package.

> So I tried defining an envvar
> SYSROOT=/mypath/android-ndk-r12b/platforms/android-14/arch-arm/ but that
> also doesn't work.
>
> Thanks for any help. I saw the Kirigami app and it looks crisp and
> beautiful. You've done a great work on these widgets. I showed it to a
> few others and they were impressed. It definitely beats Kivy.
>
> Is it possible to use Kirigami with Python for the application logic?
> The widgets are in QML, and it seems PyQt5 exists for Android too. Have
> you tried this yet?
I don't think anyone has tried yet, I'm unsure that you want to bundle
whole Python with the application, although it should be possible.
I'd look into making it possible to import a Python module from QML,
this would be interesting IMHO.

> Anyway great work! This is a milestone for Linux development. Kivy is
> slow to start and looks ugly, Qt is kind of a fudge and NDK means I have
> to write a Java UI...
>
> Do you have a way to pause the application when it is minimized?
> https://kivy.org/docs/api-kivy.app.html#kivy.app.App.on_pause
I don't know. Probably something worth looking into at the Qt level.

> That's important to prevent the long startup time.
>
> Thomas Pfeiffer:
>> Hi,
>>
>> glad that you find Kirigami interesting!
>>
>> Admittedly, we're not very used to our frameworks being used by people
>> with no prior KDE experience, so yes, we should provide more
>> instructions there.
>>
>> ECM stands for Extra CMake Modules. Our wiki [1] explains where to get
>> them (if you are using Linux, your distro should provide a package of
>> them).
>>
>> Hope that helps. Feel free to ask here or on IRC or Telegram if you have
>> further questions.
>>
>> Cheers,
>>
>> Thomas
>>
>> [1]
>> https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Details#Extra_CMake_Modules
>>
>>
>>
>> On 12.08.2016 18:06, Police Terror wrote:
>>> Hello,
>>>
>>> I'm excited by the slick looking Kirigami and the possibility of
>>> building applications to deploy on Linux, Android, and Windows with C++.
>>>
>>> Unfortunately the documentation is very sparse!
>>>
>>> The GitHub says:
>>>
>>> cmake ..
>>> -DCMAKE_TOOLCHAIN_FILE=/path/to/share/ECM/toolchain/Android.cmake -DQT
>>> ANDROID_EXPORTED_TARGET=kirigamigallery
>>> -DANDROID_APK_DIR=../examples/android/ -
>>> DCMAKE_PREFIX_PATH=/path/to/Qt-Android/5.5/android_armv7/
>>> -DCMAKE_INSTALL_PREFIX=/path/to/dummy/install/prefix -DBUILD_EXAMPLES=ON
>>>
>>> What is ECM?? I've been searching the net for clues but found nothing.
>>>
>>> Thanks (I'm new to Android platform development)
>>


More information about the Plasma-devel mailing list