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)