Conversion to the cmake building system. #2

Merged
SlavekB merged 4 commits from feat/cmakeConv into master 4 years ago
Ghost commented 4 years ago

@SlavekB , @MicheleC

I get stuck with this error:

[ 96%] Building CXX object starter/CMakeFiles/baghirastarter-shared.dir/menu.cpp.o
/home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.cpp: In constructor ‘AppList::AppList(int, TQWidget*)’:
/home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.cpp:1084:24: error: invalid use of incomplete type ‘class ConfigDialog’
 1084 |    configDialog_ = new ConfigDialog;
      |                        ^~~~~~~~~~~~
In file included from /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.cpp:48:
/home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.h:181:7: note: forward declaration of ‘class ConfigDialog’
  181 | class ConfigDialog;

that kind of error usually is solved with adding an header to an ui file, but I've got no idea where/which header is providing the class ConfigDialog.

Any help is welcome. 😅
Solved, thanks to Slavek.

@SlavekB , @MicheleC I get stuck with this error: ``` [ 96%] Building CXX object starter/CMakeFiles/baghirastarter-shared.dir/menu.cpp.o /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.cpp: In constructor ‘AppList::AppList(int, TQWidget*)’: /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.cpp:1084:24: error: invalid use of incomplete type ‘class ConfigDialog’ 1084 | configDialog_ = new ConfigDialog; | ^~~~~~~~~~~~ In file included from /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.cpp:48: /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/starter/menu.h:181:7: note: forward declaration of ‘class ConfigDialog’ 181 | class ConfigDialog; ``` that kind of error usually is solved with adding an header to an *ui* file, but I've got no idea where/which header is providing the class **ConfigDialog**. Any help is welcome. :sweat_smile: Solved, thanks to Slavek.
Ghost added the PR/wip label 4 years ago
Ghost commented 4 years ago
Poster
[ 92%] Building CXX object style/CMakeFiles/baghira-module.dir/baghira.cpp.o
/home/cethyel/CMAKE_CONVERSION/tde-style-baghira/style/baghira.cpp: In member function ‘virtual int LiquidStyle::styleHint(TQStyle::StyleHint, const TQStyleControlElementData&, TQStyle::ControlElementFlags, const TQStyleOption&, TQStyleHintReturn*, const TQWidget*) const’:
/home/cethyel/CMAKE_CONVERSION/tde-style-baghira/style/baghira.cpp:2888:11: error: ‘MacStyle’ was not declared in this scope; did you mean ‘tabStyle’?
 2888 |    return MacStyle;

Something's fussy with "KDE_XSL_STYLESHEET"
Solved, thanks to Slavek.

``` [ 92%] Building CXX object style/CMakeFiles/baghira-module.dir/baghira.cpp.o /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/style/baghira.cpp: In member function ‘virtual int LiquidStyle::styleHint(TQStyle::StyleHint, const TQStyleControlElementData&, TQStyle::ControlElementFlags, const TQStyleOption&, TQStyleHintReturn*, const TQWidget*) const’: /home/cethyel/CMAKE_CONVERSION/tde-style-baghira/style/baghira.cpp:2888:11: error: ‘MacStyle’ was not declared in this scope; did you mean ‘tabStyle’? 2888 | return MacStyle; ``` Something's fussy with "KDE_XSL_STYLESHEET" Solved, thanks to Slavek.
Owner

The problem with ConfigDialog was caused by the fact that config.h is generated from the file config.ui and then there is confusion between config.h in the global folder and config.h in the folder starter. Therefore, I renamed the file to configdialog.ui.

You can also see several additions there to ensure AUTOMOC. And adding ${X11_XTEST_LIBRARIES} for the starter.

For FTBFS due to pth, this was a common problem with using automatic ascii cast.

A mystery was MacStyle for a while before I found out that it is defined at the TQt level, but only if TQT_NO_COMPAT is not used.

The problem with ConfigDialog was caused by the fact that `config.h` is generated from the file `config.ui` and then there is confusion between `config.h` in the global folder and `config.h` in the folder `starter`. Therefore, I renamed the file to `configdialog.ui`. You can also see several additions there to ensure AUTOMOC. And adding `${X11_XTEST_LIBRARIES}` for the starter. For FTBFS due to `pth`, this was a common problem with using automatic ascii cast. A mystery was `MacStyle` for a while before I found out that it is defined at the TQt level, but only if TQT_NO_COMPAT is not used.
Ghost commented 4 years ago
Poster
Rem, have a look on this: - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/config/tdestyle_baghira_config.cpp#L479 - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/config/tdestyle_baghira_config.cpp#L663 - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/sidebar/linkview.cpp#L147 - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/sidebar/dndlistbox.cpp#L42 - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/sidebar/dndlistbox.cpp#L137 and that one: - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/style/polish.cpp#L75
Ghost commented 4 years ago
Poster

Things to note:

It seems that the automake build does not process the translation stuff (translations folder).

The kickermenu folder is not precessed either, I believe this code is intended to work with KDE3 < 3.1 ; if so, during the cleanup this folder might go and the kickermenu-3.3 folder might be renamed.
According to Michele, this is quite the opposite, as a result cmake is processsing the kickermenu folder.

In addition, there is a tarball (svgs.tar.bz2) in the icons folder with two "paw" images /icons, I don't think we need them.

Things to note: It seems that the automake build does not process the translation stuff (*translations* folder). The *kickermenu* folder is not precessed either, I believe this code is intended to work with KDE3 < 3.1 ; if so, during the cleanup this folder might go and the *kickermenu-3.3* folder might be renamed. According to Michele, this is quite the opposite, as a result cmake is processsing the kickermenu folder. In addition, there is a tarball (svgs.tar.bz2) in the *icons* folder with two "paw" images /icons, I don't think we need them.
Owner

Rem, have a look on this:

IMO, it would be more appropriate if baghirarc and qtrc where under the usual tde apps locations, instead of ~/.qt/

> Rem, have a look on this: > - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira ... IMO, it would be more appropriate if baghirarc and qtrc where under the usual tde apps locations, instead of ~/.qt/
Ghost changed title from WIP:Conversion to the cmake building system. to Conversion to the cmake building system. 4 years ago
Ghost added PR/rfc and removed PR/wip labels 4 years ago
Owner

Things to note:

It seems that the automake build does not process the translation stuff (translations folder).

...

Had a quick look. For what I see, kickermenu-3.3 was used until KDE 3.3, then from KDE3.4 kickermenu was used.

So of the two, kickermenu-3.3 is the one that could go, not kickermenu.

https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/Makefile.am#L2

> Things to note: > > It seems that the automake build does not process the translation stuff (*translations* folder). > ... Had a quick look. For what I see, kickermenu-3.3 was used until KDE 3.3, then from KDE3.4 kickermenu was used.<br/> So of the two, kickermenu-3.3 is the one that could go, not kickermenu. https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/Makefile.am#L2
Ghost added the PR/wip label 4 years ago
Ghost commented 4 years ago
Poster

still some trouble with symbols visibility (i guess), i get this error when running "bab" from console:

[tdecore (KLibLoader)] WARNING: KLibrary: /usr/lib64/trinity/tdestyle_baghira_config.so: undefined symbol: allocate_kstyle_config tdestyle_baghira_config allocate_kstyle_config
[2020/07/19 15:39:05.038] There was an error loading the configuration dialog for this style.
still some trouble with symbols visibility (i guess), i get this error when running "bab" from console: ``` [tdecore (KLibLoader)] WARNING: KLibrary: /usr/lib64/trinity/tdestyle_baghira_config.so: undefined symbol: allocate_kstyle_config tdestyle_baghira_config allocate_kstyle_config [2020/07/19 15:39:05.038] There was an error loading the configuration dialog for this style. ```
Owner

still some trouble with symbols visibility (i guess), i get this error when running "bab" from console:

[tdecore (KLibLoader)] WARNING: KLibrary: /usr/lib64/trinity/tdestyle_baghira_config.so: undefined symbol: allocate_kstyle_config tdestyle_baghira_config allocate_kstyle_config
[2020/07/19 15:39:05.038] There was an error loading the configuration dialog for this style.

I assume this couldn't work in the previous automake build either, because the function name was changed during the KDE => TDE conversion.

> still some trouble with symbols visibility (i guess), i get this error when running "bab" from console: > > ``` > [tdecore (KLibLoader)] WARNING: KLibrary: /usr/lib64/trinity/tdestyle_baghira_config.so: undefined symbol: allocate_kstyle_config tdestyle_baghira_config allocate_kstyle_config > [2020/07/19 15:39:05.038] There was an error loading the configuration dialog for this style. > ``` I assume this couldn't work in the previous automake build either, because the function name was changed during the KDE => TDE conversion.
Ghost removed the PR/wip label 4 years ago
Owner

As we discussed it, I renamed the catalogs for translations. Because the translations were not installed at all in automake, I also changed the layout of the translation directory. Catalogs and translations from the original location will be removed in the commit following the merge so that there is time to change the settings in TWTW.

As we discussed it, I renamed the catalogs for translations. Because the translations were not installed at all in automake, I also changed the layout of the translation directory. Catalogs and translations from the original location will be removed in the commit following the merge so that there is time to change the settings in TWTW.
Owner

I suggest merging this PR and location changes related to configuration files will be made as a separate PR. What is your opinion?

I suggest merging this PR and location changes related to configuration files will be made as a separate PR. What is your opinion?
Owner

I suggest merging this PR and location changes related to configuration files will be made as a separate PR. What is your opinion?

Sounds like a good idea 👍

> I suggest merging this PR and location changes related to configuration files will be made as a separate PR. What is your opinion? Sounds like a good idea :+1:
SlavekB merged commit 2aac2fdcff into master 4 years ago
SlavekB removed the PR/rfc label 4 years ago
SlavekB deleted branch feat/cmakeConv 4 years ago
SlavekB added this to the R14.0.9 release milestone 4 years ago
Ghost commented 3 years ago
Poster

IMO, it would be more appropriate if baghirarc and qtrc where under the usual tde apps locations, instead of ~/.qt/

Guys, if we are to change the location for the ~/.qt/qtrc file here: https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/style/polish.cpp#L75

I believe that It also should be changed in tqt3 in here:
https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3/src/branch/master/src/tools/qsettings.cpp#L478

> IMO, it would be more appropriate if baghirarc and qtrc where under the usual tde apps locations, instead of ~/.qt/ > Guys, if we are to change the location for the ~/.qt/qtrc file here: https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-baghira/src/branch/master/style/polish.cpp#L75 I believe that It also should be changed in tqt3 in here: https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3/src/branch/master/src/tools/qsettings.cpp#L478
Owner

The ~/.qt/ folder is used in many places in the code.
Changing it to something else (~/.tqt/) is a good idea but it needs to be coordinated across the complete code. It also needs an update procedure to migrate the files to the new location. So something to do in a minor release (R14.x.0) rather than a maintenance release (R14.0.x).

The ~/.qt/ folder is used in many places in the code. Changing it to something else (~/.tqt/) is a good idea but it needs to be coordinated across the complete code. It also needs an update procedure to migrate the files to the new location. So something to do in a minor release (R14.x.0) rather than a maintenance release (R14.0.x).
Ghost commented 3 years ago
Poster

I agree with all of those assessments, I'll register an issue in tqt3 as a reminder/wish.

I agree with all of those assessments, I'll register an issue in tqt3 as a reminder/wish.
The pull request has been merged as 2aac2fdcff.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/tde-style-baghira#2
Loading…
There is no content yet.