@@ -8,7 +8,7 @@ option(BUILD_DEVICE_MOBILE "Enable behaviors for mobile devices" OFF)
8
8
option (BUILD_SIMULATOR "Build the simulation tool for OSMIN" OFF )
9
9
10
10
set (APP_VERSION "1.14.0" )
11
- set (APP_VERSION_CODE 87 )
11
+ set (APP_VERSION_CODE 90 )
12
12
set (APP_ID "io.github.janbar.osmin" )
13
13
set (APP_NAME "osmin" )
14
14
@@ -95,27 +95,23 @@ else()
95
95
set (CMAKE_IGNORE_PATH "/opt/local/bin;/opt/local/include;/opt/local/lib" )
96
96
endif ()
97
97
98
- set (QT_VERSION_PREFERRED "5 " CACHE STRING "preferred Qt version" FORCE )
98
+ set (QT_VERSION_PREFERRED "6 " CACHE STRING "preferred Qt version" FORCE )
99
99
include (qtchooser )
100
100
if (NOT QT_FOUND )
101
101
message (FATAL_ERROR "Qt${QT_VERSION_PREFERRED} NOT found" )
102
- elseif (Qt5Core_VERSION VERSION_LESS 5.15.2 )
103
- message (FATAL_ERROR "Qt version not supported" )
104
102
endif ()
105
103
106
104
add_subdirectory (backend )
107
105
108
106
set (CMAKE_AUTOMOC ON )
109
- find_package (Qt5 ${QT_VERSION} COMPONENTS
107
+ find_package (Qt6 ${QT_VERSION} COMPONENTS
110
108
Core Gui Qml Quick QuickControls2 Widgets Xml Svg Network Sensors
111
- Multimedia RemoteObjects Positioning REQUIRED )
109
+ Multimedia RemoteObjects Positioning Core5Compat REQUIRED )
112
110
113
- if (ANDROID )
114
- find_package (Qt5AndroidExtras REQUIRED )
115
- elseif (UNIX AND NOT APPLE )
111
+ if (UNIX AND NOT APPLE )
116
112
find_library (DBUS_LIBRARIES dbus-1 )
117
113
if (DBUS_LIBRARIES )
118
- find_package (Qt5 ${QT_VERSION} COMPONENTS DBus REQUIRED )
114
+ find_package (Qt6 ${QT_VERSION} COMPONENTS DBus REQUIRED )
119
115
set (HAVE_DBUS 1 )
120
116
endif ()
121
117
endif ()
@@ -189,43 +185,49 @@ add_definitions(-DQT_STATICPLUGIN)
189
185
190
186
include_directories (${PROJECT_BINARY_DIR} ${LIBOSMSCOUT_INCLUDE_DIRS} )
191
187
192
- qt5_generate_repc (osmin_SOURCES src/servicemessenger.rep SOURCE )
193
- qt5_generate_repc (osmin_SOURCES src/servicemessenger.rep REPLICA )
194
- qt5_add_resources (osmin-resources gui/osmin_controls2_515.qrc )
188
+ qt_add_resources (osmin-resources gui/osmin_controls2_690.qrc )
195
189
190
+ #qt_add_executable(osmin ${osmin_SOURCES} ${osmin_HEADERS} ${osmin-resources} MANUAL_FINALIZATION)
196
191
if (ANDROID )
197
192
add_library (osmin SHARED ${osmin_SOURCES} ${osmin_HEADERS} ${osmin-resources} )
198
193
else ()
199
- add_executable (osmin ${osmin_SOURCES} ${osmin_HEADERS} ${osmin-resources} )
194
+ add_executable (osmin ${osmin_SOURCES} ${osmin_HEADERS} ${osmin-resources} )
200
195
endif ()
196
+ qt6_add_repc_sources (osmin src/servicemessenger.rep )
197
+ qt6_add_repc_replicas (osmin src/servicemessenger.rep )
201
198
202
199
target_link_libraries (osmin PRIVATE ${LIBOSMSCOUT_LIBRARIES} )
203
200
target_link_libraries (osmin PRIVATE
204
- Qt5::QuickControls2 Qt5::RemoteObjects Qt5::Positioning
205
- Qt5::Qml Qt5::Quick Qt5::Widgets Qt5::Gui Qt5::Xml Qt5::Svg
206
- Qt5::Network Qt5::Sensors Qt5::Multimedia Qt5::Core )
201
+ Qt::RemoteObjects Qt::Positioning
202
+ Qt::QuickControls2 Qt::Qml Qt::Quick
203
+ Qt::Widgets Qt::Gui Qt::Xml
204
+ Qt::Svg Qt::Network Qt::Sensors
205
+ Qt::Multimedia Qt::Core
206
+ Qt6::Core5Compat )
207
207
208
208
if (ANDROID )
209
209
add_definitions (-DDEVICE_MOBILE )
210
210
add_definitions (-frtti ) # dynamic_cast: https://github.com/android/ndk/issues/519
211
- target_link_libraries (osmin PRIVATE Qt5::AndroidExtras android log )
211
+ set_property (TARGET osmin PROPERTY SUFFIX "_${ANDROID_ABI} .so" )
212
+ #set_property(TARGET osmin APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android/package-sources")
213
+ target_link_libraries (osmin PRIVATE android log Qt6::CorePrivate )
214
+
215
+ # Provides dependency openssl
216
+ if (NOT ANDROID_SDK_ROOT )
217
+ set (ANDROID_SDK_ROOT "$ENV{ANDROID_SDK_ROOT} " )
218
+ if (NOT ANDROID_SDK_ROOT )
219
+ message (FATAL_ERROR "The ANDROID_SDK_ROOT environment variable is not set" )
220
+ endif ()
221
+ endif ()
222
+ include (${ANDROID_SDK_ROOT} /android_openssl/android_openssl.cmake )
223
+ add_android_openssl_libraries (osmin )
224
+ get_target_property (ANDROID_EXTRA_LIBS osmin QT_ANDROID_EXTRA_LIBS )
225
+
212
226
# Fix import of shared omp with android ndk rev 21
213
227
if (OpenMP_CXX_LIBRARIES MATCHES libomp.so )
214
- set ( SHARED_LIBOMP ${OpenMP_CXX_LIBRARIES} )
228
+ list ( APPEND ANDROID_EXTRA_LIBS ${OpenMP_CXX_LIBRARIES} )
215
229
endif ()
216
- add_dependencies (osmin ssl crypto )
217
230
218
- include (android/AddQtAndroidApk.cmake )
219
- add_qt_android_apk (osmin-apk osmin
220
- NAME ${APP_NAME}
221
- VERSION_CODE ${APP_VERSION_CODE}
222
- PACKAGE_NAME ${APP_ID}
223
- PACKAGE_SOURCES ${PROJECT_SOURCE_DIR} /android/package-sources
224
- DEPENDS ssl crypto ${SHARED_LIBOMP}
225
- ASSETS ${PROJECT_SOURCE_DIR} /resources
226
- KEYSTORE ${KEYSTORE_FILE} ${KEYSTORE_ALIAS}
227
- KEYSTORE_PASSWORD ${KEYSTORE_PASSWORD}
228
- )
229
231
else ()
230
232
if (BUILD_DEVICE_MOBILE )
231
233
message (STATUS "Enable Device Mobile" )
@@ -234,7 +236,7 @@ else()
234
236
if (HAVE_DBUS )
235
237
message (STATUS "Enable DBus interfaces" )
236
238
add_definitions (-DHAVE_DBUS )
237
- target_link_libraries (osmin PRIVATE Qt5 ::DBus )
239
+ target_link_libraries (osmin PRIVATE Qt ::DBus )
238
240
endif ()
239
241
240
242
set_target_properties (osmin PROPERTIES OUTPUT_NAME "${EXEC} " )
@@ -278,3 +280,21 @@ else()
278
280
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR} /cmake_uninstall.cmake
279
281
)
280
282
endif ()
283
+
284
+ #qt_finalize_executable(osmin)
285
+
286
+ if (ANDROID )
287
+ include (android/AddQtAndroidApk.cmake )
288
+ add_qt_android_apk (osmin-apk osmin
289
+ NAME ${APP_NAME}
290
+ VERSION_CODE ${APP_VERSION_CODE}
291
+ PACKAGE_NAME ${APP_ID}
292
+ PACKAGE_SOURCES ${PROJECT_SOURCE_DIR} /android/package-sources
293
+ DEPENDS ${ANDROID_EXTRA_LIBS}
294
+ PLUGINS platforms tls iconengines imageformats multimedia
295
+ position sensors networkinformation qmltooling styles
296
+ ASSETS ${PROJECT_SOURCE_DIR} /resources
297
+ KEYSTORE ${KEYSTORE_FILE} ${KEYSTORE_ALIAS}
298
+ KEYSTORE_PASSWORD ${KEYSTORE_PASSWORD}
299
+ )
300
+ endif ()
0 commit comments