Resolve "Modernize CMake"
Closes #22 (closed)
Requires:
Procedure
Vorbereitung:
-
axii feature-summary aktivieren. Jetzt steht an Ende des cmake/prepare Schritts eine Liste von enabled/disabled Features -
so viele disabled Features wie möglich aktivieren -
Tests laufen lassen und Report erstellen -> no tests
Schritt 1
-
alle "find_package" calls in die top-level cmakelists verschieben und ggf zusammenfassen. -> Findet zu dokumentierende Pakete in CMake-Funktion. Sonst keine
Schritt 2
-
top-level cmakelists modernisieren (von neuem Paket kopieren oder via armarx-package init foo)
Schritt 3: Libraries modernisieren.
Ziel ist es, dass nur noch der Befehl armarx_add_library() nötig ist. Alles andere in Frage stellen. leere Test-Dateien löschen Aus Konsistenzgründen alle internen libraries in der DEPENDENCIES section mit dem namespace armar3:: prefixen. variant-info anpassen: libs heißen nun lib{projektname}_{libraryname} Testen: make {library name}
- No libraries
Schritt 4: Interfaces modernisieren
armarx_add_ice_library ist der einzig nötige Befehl Testen: make {itf_lib_name}
No ice interface files. Removed interfaces directory.
Schritt 5: Components modernisieren.
Analog zu "libraries modernisieren" vorgehen. Hier lediglich armarx_add_component(). Den Komponentennamen nicht ändern. "leere" Test-Dateien löschen. Diese müssen nicht migriert werden. Testen: bauen Testen: es wurden automatisch neue Tests erstellt, die überprüfen, ob die componenten mit der autogenerierten main gestartet werden können. Diese Tests müssen fehlschlagen.
No components. Source directory is empty.
Schritt 6: Applications
normalerweise sind manuell erstellten apps überflüssig. Es gibt aber Ausnahmen. Deshalb Inhalt der main überprüfen und alle löschen, falls sie nur die Komponente instanziieren.
No applications.
Schritt 7: Komponenten fixen
In jeder Komponenten cpp das Makro zur Registrierung der Komponente hinzufügen. Testen: Tests ausführen (siehe Schritt 4): autogenerierten Komponententests müssen nun laufen
No components.
Schritt 8: Szenarien testen.
Testen: werden Komponenten noch gefunden?
No scenarios
Schritt 9: Statecharts modernisieren.
Die CMakeLists sind fast leer, siehe armar6_skills. Hier auch wieder lediglich ein Funktionsaufruf nötig (armarx_add_statechart_group) Testen: Statecharts ausführen
No statecharts
Edited by Rainer Kartmann