[OpenWalnut-Dev] Source Restructuring

Sebastian Eichelbaum eichelbaum at informatik.uni-leipzig.de
Fri May 20 20:03:55 CEST 2011


Hi List

I tremendously improved and unified our CMake code. Additionally, I cleaned up the "platformDependent".

What we now have:

 * small and quite clean CMake files
 * We do not need to have thousands of CMakeFiles anymore.
  * everything is handles by some top-level cmake codes.
  * it was a real mess guys!
 * Automatic handling of QT's moc stuff, shader management and testing/fixtures
  * No need to specify tests/moc headers or shader directories anymore
 * updated structure in build-dir to allow easy package creation (deb and rpm currently planned)
 * many many many small improvements I can not mention here.

Possible Problems:
 * Windows: well we had a very huge amount of Visual Studio specific things in our Cmake setup.
  * I tried to keep this as best as I could but I can not guarantee that I ported everything in a correct way
  * please try at least with MSys/MinGW

 * On Mac: maybe the WQtGLWidget and graphicsEngine/WGraphicsWindow and these platform specific things make trouble.
  * please try it.

What to do if you have problems:
 * ask me!
 * do not, I repeati: DO NOT hack around in the Cmake code.
  * ask me and we will solve the problem together or write a clean and DOCUMENTED cmake-code

Bye
Sebastian

On Wed, 18 May 2011, Sebastian Eichelbaum wrote:

> Hi List
> 
> I began to restructure our source. I moved kernel, common. dataHAndler and graphicsEngine to a directory called "core". The GUI is now in directory qt4gui directly. It USES the core lib and ext. Currently, I changed the CMake scripts to build OW again with this new structure and made the modules to use absolute includes for core and ext stuff: #include "core/kernel/stuff.h" . The next step is to clean our Cmake mess and merge several libs. I'll inform you when its done.
> 
> The Goals:
> 
>  - ONE lib: libOW --> its common, dh, ge and kernel in one lib
>  - ONE lib: libOWext --> all the external stuff
>    -> has some licence advantages if only linked again OW
>    -> after I am done, this will be only Eigen3 since the others (nifti,biosig,eep and so on will be placed inside the loader modules that use them)
>  - The GUI is the executable and is linked against libOW. (no libOWqt4gui stuff anymore)
> 
> Why:
> 
>  - Clean structure
>  - Modules, GUI and OW core are strictly separated from each other
>    -> allows simple external development of modules and alternative "GUI" like server-side script GUIs and similar
>  - We can better separate very common and often used modules (marching cubes and this stuff) and very specific research stuff
> 
> Possible problems:
> 
>  - If you added files in your own branches, you might need to move them manually to the core directories
>  - I am quite sure that the visual studio might have problems since I might forgot some VS specific things
>    - solve this problem by using MSys or even better: use Linux
> 
> Bye
> Sebastian
> 
> -- 
> Dipl.-Inf. Sebastian Eichelbaum
> Universität Leipzig
> Institut für Informatik
> Abteilung Bild- und Signalverarbeitung
> PF 100920
> D-04009 Leipzig
> _______________________________________________
> OpenWalnut-Dev mailing list
> OpenWalnut-Dev at lists.informatik.uni-leipzig.de
> http://lists.informatik.uni-leipzig.de/mailman/listinfo/openwalnut-dev
> 

-- 
Dipl.-Inf. Sebastian Eichelbaum
Universität Leipzig
Institut für Informatik
Abteilung Bild- und Signalverarbeitung
PF 100920
D-04009 Leipzig


More information about the OpenWalnut-Dev mailing list