annotate CMakeLists.txt @ 14:e47e0f59101d default tip

Enable OSTC 4/5 Icon option The button for uploading the icon is now activated based on the first FW version supporting this function
author Ideenmodellierer
date Mon, 12 Jan 2026 18:47:00 +0100
parents 971b9fd4cd30
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
1 cmake_minimum_required(VERSION 3.21)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
2
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
3 project(OSTCCompanion VERSION 1.0 LANGUAGES CXX C)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
4
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
5 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
6 # C++ Standard
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
7 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
8 set(CMAKE_CXX_STANDARD 17)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
9 set(CMAKE_CXX_STANDARD_REQUIRED ON)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
10 set(CMAKE_AUTOMOC ON)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
11 set(CMAKE_AUTORCC ON)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
12 set(CMAKE_AUTOUIC ON)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
13
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
14 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
15 # Qt6 Modules
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
16 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
17 find_package(Qt6 REQUIRED COMPONENTS
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
18 Core
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
19 Gui
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
20 Widgets
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
21 Network
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
22 Svg
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
23 Xml
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
24 SerialPort
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
25 LinguistTools
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
26 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
27
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
28
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
29 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
30 # Sources, Header, UI and Ressources
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
31 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
32 set(SOURCES
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
33 main.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
34 AES/rijndael.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
35 editlogdialog.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
36 Utils/Exception.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
37 Utils/Log.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
38 Utils/LogAppender.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
39 Utils/LogConsole.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
40 Utils/LogFile.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
41 Utils/ProgressEvent.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
42 MainWindow.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
43 Serial.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
44 HexFile.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
45 SettingsDialog.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
46 HardwareOperations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
47 OSTCFrogOperations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
48 OSTCSportOperations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
49 OSTC2cOperations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
50 OSTC2Operations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
51 OSTC3Operations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
52 OSTC3pOperations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
53 OSTC4Operations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
54 OSTC_CR_Operations.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
55 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
56
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
57 set(HEADERS
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
58 AES/rijndael.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
59 AES/Adler16.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
60 Utils/Exception.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
61 Utils/Log.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
62 Utils/LogAppender.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
63 Utils/LogConsole.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
64 Utils/LogFile.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
65 Utils/ProgressEvent.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
66 MainWindow.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
67 Serial.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
68 HexFile.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
69 SettingsDialog.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
70 HardwareOperations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
71 OSTCFrogOperations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
72 OSTCSportOperations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
73 OSTC2cOperations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
74 OSTC2Operations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
75 OSTC3Operations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
76 OSTC3pOperations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
77 OSTC4Operations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
78 OSTC_CR_Operations.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
79 editlogdialog.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
80 crcmodel.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
81 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
82
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
83 set(UIS
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
84 LogEditor.ui
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
85 MainWindow.ui
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
86 Settings.ui
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
87 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
88
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
89 set(RESOURCES
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
90 Resources.qrc
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
91 icon.rc
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
92 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
93
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
94 set(TRANSLATIONS
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
95 Translations/companion_DE.ts
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
96 Translations/companion_FR.ts
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
97 Translations/companion_ES.ts
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
98 Translations/companion_IT.ts
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
99 Translations/companion_RU.ts
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
100 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
101
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
102 set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/icon.rc")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
103
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
104
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
105 add_library(crcmodel STATIC
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
106 crcmodel.c
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
107 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
108 set_source_files_properties(crcmodel.c
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
109 PROPERTIES
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
110 LANGUAGE C
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
111 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
112 target_include_directories(crcmodel PUBLIC
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
113 ${CMAKE_CURRENT_SOURCE_DIR}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
114 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
115 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
116 # Executable erstellen
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
117 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
118 qt_add_executable(${PROJECT_NAME}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
119 ${SOURCES}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
120 ${HEADERS}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
121 ${UIS}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
122 ${RESOURCES}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
123 Utils/Export.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
124 ${app_icon_resource_windows}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
125 ostc45_icon.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
126 ostc45_icon.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
127 crc_wrapper.h
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
128 crc_wrapper.cpp
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
129 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
130
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
131 target_include_directories(${PROJECT_NAME} PRIVATE
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
132 ${CMAKE_CURRENT_SOURCE_DIR} # Root
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
133 ${CMAKE_CURRENT_SOURCE_DIR}/Utils
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
134 ${CMAKE_CURRENT_SOURCE_DIR}/AES
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
135 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
136
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
137 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
138 # Qt Libraries verlinken
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
139 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
140 target_link_libraries(${PROJECT_NAME}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
141 PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Network Qt6::Svg Qt6::Xml Qt6::SerialPort crcmodel
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
142 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
143
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
144 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
145 # Plattform-spezifische Anpassungen
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
146 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
147 if(WIN32)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
148 target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS=1 BUILDING_OSTC_COMPANION)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
149 elseif(APPLE)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
150 target_compile_options(${PROJECT_NAME} PRIVATE -std=c++17 -Wno-inconsistent-missing-override)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
151 elseif(UNIX)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
152 target_compile_options(${PROJECT_NAME} PRIVATE -std=c++17)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
153 set_target_properties(${PROJECT_NAME} PROPERTIES
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
154 BUILD_RPATH "\$ORIGIN/lib"
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
155 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
156 endif()
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
157
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
158 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
159 # Debug/Release-Builds
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
160 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
161 if(CMAKE_BUILD_TYPE MATCHES Debug)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
162 target_compile_definitions(${PROJECT_NAME} PRIVATE DEBUG=1)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
163 endif()
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
164
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
165 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
166 # Version aus Datei einlesen (optional)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
167 # ----------------------------------------
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
168 file(STRINGS "${CMAKE_SOURCE_DIR}/VERSION.txt" VERSION_CONTENT)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
169 string(REGEX MATCH "MAJOR=([0-9]+)" _ ${VERSION_CONTENT})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
170 set(MAJOR_VERSION ${CMAKE_MATCH_1})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
171 string(REGEX MATCH "MINOR=([0-9]+)" _ ${VERSION_CONTENT})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
172 set(MINOR_VERSION ${CMAKE_MATCH_1})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
173 string(REGEX MATCH "PATCH=([0-9]+)" _ ${VERSION_CONTENT})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
174 set(PATCH_VERSION ${CMAKE_MATCH_1})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
175 string(REGEX MATCH "BETA=([0-9]+)" _ ${VERSION_CONTENT})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
176 set(BETA_VERSION ${CMAKE_MATCH_1})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
177
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
178
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
179 message("MAJOR_VERSION = '${MAJOR_VERSION}'")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
180
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
181 target_compile_definitions(${PROJECT_NAME} PRIVATE
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
182 MAJOR_VERSION=${MAJOR_VERSION}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
183 MINOR_VERSION=${MINOR_VERSION}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
184 PATCH_VERSION=${PATCH_VERSION}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
185 BETA_VERSION=${BETA_VERSION}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
186 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
187
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
188 # Show folder in Qt Creator
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
189 file(GLOB ICON_FILES "${CMAKE_SOURCE_DIR}/Images/*")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
190 add_custom_target(Resources ALL SOURCES ${ICON_FILES})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
191
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
192
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
193 qt6_add_translation(QM_FILES ${TRANSLATIONS})
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
194
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
195 if(CMAKE_BUILD_TYPE MATCHES Release)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
196 target_compile_definitions(${PROJECT_NAME} PRIVATE DEBUG=1)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
197
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
198 message("Build release and installer")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
199
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
200 set(CPACK_IFW_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/Images/inst_OSTC_Companion.ico")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
201
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
202 install(FILES ${CMAKE_SOURCE_DIR}/Images/app_OSTC_Companion.ico
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
203 DESTINATION . # relativ zum Package root
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
204 COMPONENT Core)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
205
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
206 install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin COMPONENT Core)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
207
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
208 qt_generate_deploy_app_script(
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
209 TARGET ${PROJECT_NAME}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
210 OUTPUT_SCRIPT deploy_script
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
211 NO_UNSUPPORTED_PLATFORM_ERROR
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
212 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
213
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
214 install(SCRIPT ${deploy_script}
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
215 COMPONENT Core)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
216
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
217 # CPack IFW Konfiguration
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
218 set(CPACK_GENERATOR "IFW")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
219 set(CPACK_IFW_ROOT "D:/Programme/QT/Tools/QtInstallerFramework/4.10")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
220 set(CPACK_PACKAGE_VERSION_MAJOR "3")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
221 set(CPACK_PACKAGE_VERSION_MINOR "3")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
222 set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
223 set(CPACK_PACKAGE_VENDOR "Heinrichs Weikamp")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
224 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OSTC Companion Application")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
225 set (CPACK_IFW_PACKAGE_NAME "${PROJECT_NAME} 3.3.1")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
226 set (CPACK_IFW_PACKAGE_TITLE "${PROJECT_NAME} Installer")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
227 set (CPACK_IFW_PACKAGE_PUBLISHER "Heinrichs Weikamp")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
228 set (CPACK_IFW_PACKAGE_WIZARD_STYLE "Modern")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
229 set (CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST OFF)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
230
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
231 set (CPACK_IFW_PACKAGE_START_MENU_DIRECTORY "OSTC-Tools")
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
232
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
233 include(CPack)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
234 include(CPackIFW)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
235
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
236 # Hauptkomponente
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
237 cpack_add_component(Core
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
238 DISPLAY_NAME "OSTC Companion"
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
239 DESCRIPTION "OSTC maintenance application"
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
240 REQUIRED
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
241 )
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
242
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
243 cpack_ifw_configure_component(Core ESSENTIAL FORCED_INSTALLATION)
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
244 endif()
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
245
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
246
971b9fd4cd30 Linux cares about upper / lower cases => fixed file name
Ideenmodellierer
parents:
diff changeset
247