The SuezCollection
TheSuezCollectionLogo

WIX

Software Komponenten auswählen - mehr Komponenten

Das Spiel mit den Komponenten kann man auch etwas komplexer machen. Die Werkzeuge dafür sind da.

Einbau

Projekt herunter laden .



1: 2: CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0) 3: IF (POLICY CMP0048) 4: CMAKE_POLICY(SET CMP0048 NEW) # Wg. VERSION im project Befehl 5: ENDIF (POLICY CMP0048) 6: 7: PROJECT(components_complex VERSION 1.2.3) 8: 9: 10: ADD_LIBRARY(mylib mylib.c) 11: 12: ADD_EXECUTABLE(myapp myapp.c mylib.h) 13: TARGET_LINK_LIBRARIES(myapp mylib) 14: 15: INSTALL(TARGETS mylib ARCHIVE DESTINATION lib COMPONENT libraries) 16: INSTALL(TARGETS myapp RUNTIME DESTINATION bin COMPONENT applications) 17: INSTALL(FILES mylib.h DESTINATION include COMPONENT headers) 18: INSTALL(FILES free.txt DESTINATION doc COMPONENT dokumentation) 19: INSTALL(FILES tma-1.txt DESTINATION hal COMPONENT tma) 20: INSTALL(FILES tma-2.txt DESTINATION hal COMPONENT tma) 21: 22: # Standard -------------------------------------------------------- 23: SET(CPACK_WIX_UPGRADE_GUID 939B61C9-8E66-4876-A425-F7CDD7E6A6B2) 24: SET(CPACK_WIX_CULTURES "de-DE") 25: SET(CPACK_GENERATOR WIX) 26: # Standard Ende --------------------------------------------------- 27: 28: 29: # Zur Auswahl der Komponenten 30: INCLUDE(CPackComponent) 31: 32: # Die Komponenten und ihre Beschreibung 33: cpack_add_component(libraries # Siehe INSTALL(Targets ... COMPONENT libraries) 34: DISPLAY_NAME "Biliotheken" 35: DESCRIPTION "Nur fuer Entwickler: Die Bibliothek" 36: HIDDEN # Hier Versteckt, weil die Komponente immer installiert werden soll 37: GROUP "Development") 38: 39: cpack_add_component(headers 40: DISPLAY_NAME "C++ Headers" 41: DESCRIPTION "C/C++ header files for use with MyLib" 42: DEPENDS libraries # Im Anzeigebaum unter libraries 43: GROUP "Development") 44: 45: cpack_add_component(applications # Siehe INSTALL(Targets ... COMPONENT applications) 46: DISPLAY_NAME "Application mit binaerer Bibliothek" 47: DESCRIPTION "Nur die Applikation" 48: GROUP "Programm") 49: 50: cpack_add_component(dokumentation 51: DISPLAY_NAME "Dokumentationlekt." 52: DESCRIPTION "Dokumentation zur Application" 53: GROUP "Programm") 54: 55: cpack_add_component(tma 56: DISPLAY_NAME "TMA-1" 57: DESCRIPTION "Unbekannt" 58: GROUP "Max") 59: 60: cpack_add_component_group(Programm) # Siehe Programm bei cpack_add_component 61: cpack_add_component_group(Development DESCRIPTION "Alles was man zur Entwicklung braucht") 62: cpack_add_component_group(Max PARENT_GROUP Development) 63: 64: 65: INCLUDE(CPack)

Erläuterungen

Erstellung des Installtionsprogramm

Das Installtionsprogramm wird analog hier erstellt und ausgeführt.

Ausführung der Installation

Nach der Standard-Eröffnung des Inst.-Assistenten und dem Abnicken der Lizenz erscheinen folgende Dialoge:
Auswahl der Komponenten
Bild 1: Dialog mit Komponenten.
Installations-Optionen
Bild 2: Auswahl, ob Komponente installiert werden soll

Weitere Informationen

Ein ausführliches Wiki gibt es hier und eine ausführliche Beschreibung zu cpack_add_component_group und cpack_add_component kann man dort ist hier zu finden.