|
|
(8 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| Refactoring goals towards a Marble 2.0 version.
| | {{ Moved To Community }} |
| | |
| == Marble Library Split ==
| |
| Split libmarblewidget into several libraries:
| |
| * libMarbleCore
| |
| ** Non-interactive classes, e.g. geodata, file parsing
| |
| ** No dependency to QWidgets or Qt Quick
| |
| * libMarbleMap
| |
| ** Interactive, UI toolkit independent classes, e.g. layers, graphicsview
| |
| ** Dependency to MarbleCore
| |
| ** No dependency to QWidgets or Qt Quick
| |
| * libMarbleWidgets
| |
| ** QWidget related interactive classes
| |
| ** Dependency to QWidget, libMarbleMap, libMarbleCore
| |
| * libMarbleQuick
| |
| ** Qt Quick 2.0 related interactive classes
| |
| ** Dependency to QtQuick, libMarbleMap, libMarbleCore
| |
| | |
| == Header normalization ==
| |
| * The header structure in src/lib/ should match the exported headers in include/. No "flattening" as it happens currently where e.g. marble/geodata/* is copied to /marble/.
| |
| * During compilation, the subdirectories of marble/ are not added to the compiler search path anymore, so #include statements need to use the full path marble/$module/$class.h for files outside their directory.
| |
| * Headers follow the directory structure marble/$module/$path, where $path is either a filename or a directory + filename, but not deeper nested
| |