kdevplatform does not export the mentioned component, which is required by umbrello KF5 builds to support php code import. STEPS TO REPRODUCE 1. See https://cgit.kde.org/umbrello.git/tree/CMakeLists.txt#n101 OBSERVED RESULT The cmake find_package related files provided by kdevplatform does not export the target KDev::Tests EXPECTED RESULT The cmake find_package related files provided by kdevplatform should export KDev::Tests target
This is still an issue and need to be fixed.
This needs more information. How to reproduce (how to build Umbrello?), exact error output, etc. pp.. The Tests target is exported (checked with KDevelop from master branch), cf. /home/kfunk/devel/install/kf5/lib/x86_64-linux-gnu/cmake/KDevPlatform/KDevPlatformTargets.cmake 19:foreach(_expectedTarget KDev::Sublime KDev::Interfaces KDev::Project KDev::Language KDev::Shell KDev::Util KDev::OutputView KDev::Vcs KDev::Debugger KDev::Documentation KDev::Serialization KDev::Tests KDev::IExecute) 142:# Create imported target KDev::Tests 143:add_library(KDev::Tests SHARED IMPORTED) 145:set_target_properties(KDev::Tests PROPERTIES
Created attachment 124867 [details] build log This happens with building umbrello for opensuse (https://build.opensuse.org/package/show/KDE:Applications/umbrello) with kdevplatform 5.4.5 From the appended log you can see that the imported target KDev::Tests is not present: [ 184s] -- Found KDevelop-PG-Qt [ 184s] -- Using kdevelop-pg-qt include dir: /usr/include/kdevelop-pg-qt [ 184s] -- Using kdevelop-pg-qt executable: /usr/bin/kdev-pg-qt [ 184s] -- Found KDevPlatform: /usr/lib64/cmake/KDevPlatform/KDevPlatformConfig.cmake (Required is at least version "5.1.2") [ 184s] -- Could not find required KDevPlatform component KDev::Tests - disabling php import support kdevplatform-devel is used from https://build.opensuse.org/package/show/KDE:Extra/kdevelop5. > The Tests target is exported (checked with KDevelop from master branch) I guess that the git branch, from which kdevplatform version 5.4.5 is build, does not install KDev::Test target. > (how to build Umbrello?) 1. Register at build.opensuse.org if not already done. 2. Install osc (example if for opensuse) sudo zypper install osc 3. checkout sources and build script osc co KDE:Applications/umbrello cd KDE:Applications/umbrello 4. build osc build KDE_Frameworks5_openSUSE_Tumbleweed 5. ion case of errors enter chroot osc chroot KDE_Frameworks5_openSUSE_Tumbleweed cd rpmbuild/BUILD/...
I just realized what might be wrong: The KDev::Tests target is only built when BUILD_TESTING=ON in CMake. You'll need to adapt in Umbrello and do the same: Only /use/ KDev::Tests when BUILD_TESTING=ON. Side note: If Umbrello wouldn't (still) have the WebKit dependency I could play around more easily with it and thus help. Also wondering why you are trying so hard keeping Qt4 compatibility in such a project, it makes reading the CMake code much more tedious.
(In reply to Kevin Funk from comment #4) > I just realized what might be wrong: > > The KDev::Tests target is only built when BUILD_TESTING=ON in CMake. You'll > need to adapt in Umbrello and do the same: Only /use/ KDev::Tests when > BUILD_TESTING=ON. This will not work with recent code. The php code importer depends on classes provided by KDev::Tests, see https://cgit.kde.org/umbrello.git/tree/umbrello/codeimport/phpimport.cpp
(In reply to Kevin Funk from comment #4) > Side note: If Umbrello wouldn't (still) have the WebKit dependency Does QWebEngine now supports printing headers and footers ?
CC'ing Friedrich who's also worked on the BUILD_TESTING related changes. These classes shouldn't be used outside of unit tests IMO (they could assert or have any ill-formed behavior). You would not want this in production code. A solution approach: I'd just create and shut down the core manually in your code. And provide a custom ShellExtension subclass. Shouldn't be difficult, and it could result in even less code than in the implementation(s) provided in KDev::Tests.
> (In reply to Kevin Funk from comment #4) > > Side note: If Umbrello wouldn't (still) have the WebKit dependency And can you tell me how to emulate QWebPage::setLinkDelegationPolicy behavior ? I tried the hint at https://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html, which does not work. Instead of receiving the clicked url by a signal and not changing the displayed page, it is instead called once when the page is loaded acceptNavigationRequest(). When clicking on a link of the welcome page, an empty page is displayed and the clicked URL is not signaled.
(In reply to Kevin Funk from comment #7) > A solution approach: I'd just create and shut down the core manually in your > code. And provide a custom ShellExtension subclass. Shouldn't be difficult, > and it could result in even less code than in the implementation(s) provided > in KDev::Tests. Even if this would be newly implemented in Umbrello, there are still references to KDev::Tests within the kdevplatform helper class DebugLanguageParserHelper, which seems to be intended for use in a generated php parser. From https://github.com/KDE/kdevelop/blob/master/kdevplatform/language/util/debuglanguageparserhelper.h#L56 * It should work fine for any KDevelop-PG-Qt based parser.
(In reply to Ralf Habacker from comment #9) > (In reply to Kevin Funk from comment #7) > > A solution approach: I'd just create and shut down the core manually in your > > code. And provide a custom ShellExtension subclass. Shouldn't be difficult, > > and it could result in even less code than in the implementation(s) provided > > in KDev::Tests. > > Even if this would be newly implemented in Umbrello, there are still > references to KDev::Tests within the kdevplatform helper class > DebugLanguageParserHelper, which seems to be intended for use in a generated > php parser. > > From > https://github.com/KDE/kdevelop/blob/master/kdevplatform/language/util/ > debuglanguageparserhelper.h#L56 > > * It should work fine for any KDevelop-PG-Qt based parser. kdev5-php also depends on this class.
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!