By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 3013 - CMake cannot find declared types?
Summary: CMake cannot find declared types?
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: qt3 (show other bugs)
Version: R14.0.x [Trinity]
Hardware: amd64 Debian Stretch
: P5 normal
Assignee: Timothy Pearson
URL:
Depends on:
Blocks: R14.0.9
  Show dependency treegraph
 
Reported: 2019-05-01 04:48 CDT by TCH
Modified: 2020-11-28 20:23 CST (History)
5 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description TCH 2019-05-01 04:48:46 CDT
I am trying to port QtCurve 1.8.5 from Qt3 to TQt. The setup seems to work, cmake finds everything up to "make". Then it seems it cannot find declared elements in ntqstyle.h, like SFlags or PrimitiveElement.
The weird thing is, that it actually includes ntqcommonstyle.h (and ntqstyle.h in it), because if i put syntax errors into the headers, then the compiling fails on them.
Here is the ZIP: http://oscomp.hu/depot/qtcurve-qt3-1.8.5-3578-buildtry.zip
It is configured and all, you can cd into the "build" directory and just type "make".
Comment 1 gregory guy 2019-05-02 06:07:38 CDT
Hi,

a make cmd gives me:

--------------
CMake Error: The source directory "/media/UTILDISK/UPGRADE/qtcurve18/qtcurve-qt3-1.8.5-3578" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
Makefile:218: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
-------------
Comment 2 gregory guy 2019-05-02 07:31:32 CDT
I was told that QtCurve is already part of TDE with release 1.6.2.

https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-qtcurve

How about you make a repo in TGW, clone tde-style-qtcurve and then steadily merge all the changes up to 1.8.5?
Comment 3 TCH 2019-05-02 10:18:41 CDT
(In reply to gregory guy from comment #1)
> Hi,
> 
> a make cmd gives me:
> 
> --------------
> CMake Error: The source directory
> "/media/UTILDISK/UPGRADE/qtcurve18/qtcurve-qt3-1.8.5-3578" does not exist.
> Specify --help for usage, or press the help button on the CMake GUI.
> Makefile:218: recipe for target 'cmake_check_build_system' failed
> make: *** [cmake_check_build_system] Error 1
> -------------

So, cmake stores absolute paths of sources when building, instead of relative ones. I hate building environments... If QtCurve 1.8.5 would use the good old Makefiles, it would be long ported to Trinity.

(In reply to gregory guy from comment #2)
> I was told that QtCurve is already part of TDE with release 1.6.2.
> 
> https://mirror.git.trinitydesktop.org/gitea/TDE/tde-style-qtcurve
> 
> How about you make a repo in TGW, clone tde-style-qtcurve and then steadily
> merge all the changes up to 1.8.5?

What is TGW? But the idea sounds good, thanks.
Comment 4 gregory guy 2019-05-02 10:27:14 CDT
TGW: TDE Gitea Workspace
https://mirror.git.trinitydesktop.org/gitea/explore/repos

Aren't you tch user?
https://mirror.git.trinitydesktop.org/gitea/tch

If you can't create any repo, ask for to Slavek or Michele, they will add you as a contributor, then you will be able to create repos or forks.
Comment 5 TCH 2019-05-02 10:43:02 CDT
(In reply to gregory guy from comment #4)
> TGW: TDE Gitea Workspace
> https://mirror.git.trinitydesktop.org/gitea/explore/repos
> 
> Aren't you tch user?
> https://mirror.git.trinitydesktop.org/gitea/tch
> 
> If you can't create any repo, ask for to Slavek or Michele, they will add
> you as a contributor, then you will be able to create repos or forks.

Thanks, but i'd prefer to do it offline, i am not familiar with this workspace.

I've already cloned 1.6.2 to my workspace, so now i will put the changes in 1.8.5 into 1.6.2. (Of course after i ran my script on 1.8.5 to replace the old includes and other stuff to new.) I cannot just merge 1.8.5 into 1.6.2 as i would overwrite the TQt stuff with Qt3.
Comment 6 TCH 2019-05-02 13:51:46 CDT
Okay, apparently the QtCurve 1.6.2 in the Trinity repo is broken. CMake gives back this if i try to build it:

============================================================
CMake Error at CMakeLists.txt:52 (include):
  include could not find load file:

    TDEMacros


CMake Error at CMakeLists.txt:57 (include):
  include could not find load file:

    TDESetupPaths


CMake Error at CMakeLists.txt:58 (tde_setup_paths):
  Unknown CMake command "tde_setup_paths".


-- Configuring incomplete, errors occurred!
See also "/media/UTILDISK/UPGRADE/qtcurve18/tde-style-qtcurve/build/CMakeFiles/CMakeOutput.log".
============================================================

The mentioned file is here:
http://oscomp.hu/depot/CMakeOutput.log
Comment 7 TCH 2019-05-02 13:53:24 CDT
Also, what the hell is the difference between the "tqxxx.h" files and the "ntqxxx.h" files?
Comment 8 TCH 2019-05-02 14:06:14 CDT
QtCurve 1.6.2 uses the tqxxx.h files, but if i try to use them in QtCurve 1.8.5, then the FindTQt.cmake i have do not find them.
Comment 9 gregory guy 2019-05-03 03:01:11 CDT
your cmake folder is probably incomplete.
you might give It a try with a tarball such as this one: 
http://mirror.ppa.trinitydesktop.org/trinity/trinity-r14.0.0/debian/pool/main/t/tde-style-qtcurve-trinity/tde-style-qtcurve-trinity_14.0.6.orig.tar.xz
Comment 10 Michele Calgaro 2019-05-03 09:00:58 CDT
> Okay, apparently the QtCurve 1.6.2 in the Trinity repo is broken. 
Not, it is not broken. You need to have also the cmake submodule if you want to build it. Those missing macros are defined there. See https://mirror.git.trinitydesktop.org/gitea/TDE/tde-common-cmake

I strongly suggest you learn to use TGW: it may take a bit to get familiar with it, but once you get used to it, you wouldn't want to go back to bugzilla for sharing code. TGW makes the workflow way way easier. It is not a coincidence that it is now the center for the code dev team.

Re automake-cmake, same thing. You may be familiar with automake and not cmake, but cmake is way easier to learn and more powerful. Keep in mind we are slowing migrating all modules to cmake build (thanks Greg :-) )


> what the hell is the difference between the "tqxxx.h" files and the "ntqxxx.h" files?
tqxxx.h files are include files defined in tqtinterface. ntqxxx.h are the actual tqt include files, which are included by the tqxxx.h files. Long story short, long ago there was a plan to support qt3, tqt3 and qt4/tqt4, so tqtinterface was introduced and a lot of files renamed as you see. Now only tqt3 is supported, so in future (after R14.1.0) we may get rid of tqtinterface and simplify the include files structure.
Comment 11 Slávek Banko 2020-11-28 20:23:27 CST
The update was completed in TGW, where revisions and fine-tuning were performed using pull-requests.