Set FileBaseName for Run in SDK

I’m trying to do some debugging with the SDK and the rather byzantine (well, it builds for a lot of targets) fahrplan2 pro https://github.com/poetaster/fahrplan/blob/9292/fahrplan2.pro keeps setting the FileBaseName to fahrplan2. The target and all settings for the sailfish deploy specify harbour-fahrplan2… And an install surely works. But for runtime it always becomes fahrplan2 …

I’ve tried override deployment data and ‘Alternate executable on device’ but that latter always results in a truncated command: /usr/bin/harbour-

EDIT: If I set the Run option ‘Run in terminal’ it runs /usr/bin/harbour-fahrplan2 … strange.

I’ve also tried reducing the build file, but think I’m just missing setting a simple variable.

I have such a feeling that tests like this one

exists("/usr/include/sailfishapp/sailfishapp.h")

here https://github.com/poetaster/fahrplan/blob/9292/fahrplan2.pro#L29 work well at build time, but do not work as expected when the .pro file is parsed by the IDE when it loads the project - it tests the path as is, looking it up on your host file system, not under the “sysroot”, and so never passing this test.

One option would be to replace it with:

exists($$[QT_INSTALL_PREFIX]/usr/include/sailfishapp/sailfishapp.h)

But I would rather try to seek some more reliable option to detect the platform, and possibly resort to passing SOME_VARIABLE=sailfishos on qmake command line inside the RPM SPEC.

That did not work. But you are right that it wouldn’t be ideal anyway.

What I don’t understand is why the option 'Alternate executable on device’ succeeds if I just check the ‘Run in terminal’ checkbox?

It’s actually ok with the terminal since it’s the same output as in the ‘Application output’ pane in the ide.

Now to get the bundled qml runing in the qml live context :wink: The project is just not well structured for Sailfish IDE development. Compact, though :slight_smile:

But most of the work I have to do is parser backends… so here I go!

I made a typo there. It should have been

exists($$[QT_INSTALL_PREFIX]/include/sailfishapp/sailfishapp.h)

(without /usr)

2 Likes

Thanks, that works! Maybe you have a tip how I can get qmllive debugging working with a qrc embedded first page :wink:

[W] unknown:72 - qrc:/src/gui/sailfishos/pages/MainPage.qml:72:13: QML MenuItem: Binding loop detected for property "text"
[W] unknown:0 - Failed to determine initial active document: "No mapping exists for resource: 'qrc:/src/gui/sailfishos/main.qml'"

Please open a new topic for that one.

Thanks! https://forum.sailfishos.org/t/qmllive-debugging-with-embedded-resources