[Kstars-devel] kdeedu/kstars/kstars

Jason Harris kstars at 30doradus.org
Mon Mar 29 10:53:30 CEST 2004


CVS commit by harris: 

The new directory structure (the new "tools" subdir) finally works.
The problem was that some of the header files in "tools" included header 
files in "kstars" that get generated by uic from the *.ui files.  
Likewise, some header files in "kstars" included ui-generated headers in 
"tools".

Apparently, the build process  has to completely finish building in each 
directory before it can do anything in another directory; for example, 
there is (apparently) no way to build just the *.ui files in both 
"kstars" and "tools", and then go back and build the regular source code 
files using the now-present UI headers.  At least I could not make this 
work.

I tried to just change the order that the directories get compiled, but 
apparently subdirectories which produce libraries to be linked in to the 
main program *must* be built first; make doesn't seem able to compile 
all of the object files in all directories first, and only link them 
after all of the compiling is done.  At least, I don't know how to get 
it to do that. 

I was eventually able to work around this by "defering" the #include 
statements to the source-code files, and just putting 
forward-declaration statements ("class mywidgetui.h;") in the header 
files.  This is the right thing to do anyway, according to the "C++ 
Pitfalls" article that appeared on the dot recently. 

It compiles now, but there are still a large number of #include 
statements in header files that should be changed to forward-declaration 
statements, for optimizing compile times if nothing else.

I'm kind of bothered by one thing though: the apparent inflexibility of 
the build process means that nothing in "tools" (or in "indi") can 
directly use classes which are auto-generated in "kstars".  This 
includes the Options class, which is generated by kconfig_compiler.  I 
was very suprised that none of the tools classes currently use the 
Options class (except for one small non-critical use in WUT, which I 
have commented out for now).  I really hope I have missed something, and 
that there is a way to make this work, if we ever need to.

Another issue: mattr reminded me that by moving the files myself, I have 
erased the commit history on the moved files.  I'm trying to find out 
whether a revert wil restore the history.  If so, I will revert and ask 
sysadmin to move he files "on the server" which will preserve the 
history.

Finally, there was one file that I forgot to move to "tools": 
optionstreeview.ui

Sorry for the problems.

CCMAIL: kstars-devel at kde.org


  A            tools/optionstreeview.ui   1.1
  M +4 -2      Makefile.am   1.111
  M +1 -0      devicemanager.cpp   1.7
  M +1 -0      finddialog.cpp   1.24
  M +0 -1      indidriver.h   1.10
  M +1 -0      indistd.cpp   1.8
  M +2 -1      kstars.cpp   1.80
  M +1 -21     kstarsactions.cpp   1.94
  M +9 -0      kstarsdata.cpp   1.124
  M +10 -10    kstarsdata.h   1.75
  M +2 -2      kstarsinit.cpp   1.85
  M +1 -0      main.cpp   1.32
  M +1 -0      opsadvanced.cpp   1.2
  M +1 -0      opscatalog.cpp   1.2
  M +2 -1      skymap.cpp   1.126
  M +1 -0      skymapdraw.cpp   1.57
  M +2 -1      skymapevents.cpp   1.88
  M +1 -0      telescopewizardprocess.cpp   1.12
  M +1 -1      tools/Makefile.am   1.2
  M +17 -11    tools/altvstime.cpp   1.2
  M +5 -6      tools/altvstime.h   1.2
  M +21 -1     tools/scriptbuilder.cpp   1.2
  M +19 -22    tools/scriptbuilder.h   1.2
  M +1 -1      tools/wutdialog.cpp   1.2
  R            optionstreeview.ui   1.5





More information about the Kstars-devel mailing list