1- cmake_minimum_required (VERSION 3.18 )
1+ cmake_minimum_required (VERSION 3.21 )
22
33project (updater LANGUAGES CXX)
44
@@ -7,17 +7,14 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
77
88set (CMAKE_AUTORCC ON )
99
10- # Allow building with old CMake
11- set (QT_FORCE_MIN_CMAKE_VERSION_FOR_USING_QT 3.18)
12-
13- # Silence warning with CMake < 3.19
14- set (QT_QML_GENERATE_AOTSTATS OFF )
15-
1610set (ARIA2_LIBS "${CMAKE_CURRENT_SOURCE_DIR} /aria2/src/.libs/libaria2.a" CACHE STRING "aria2 libraries" )
1711set (ARIA2_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /aria2/include" CACHE STRING "aria2 include directory" )
1812
1913find_package (Qt6 REQUIRED COMPONENTS Core Qml Quick QuickControls2 QuickDialogs2 Network Svg Gui Widgets )
2014
15+ # Actually only used by Fluid and Quazip, not us. HACK: prevent warning spam
16+ find_package (Qt6 COMPONENTS Core5Compat)
17+
2118qt_standard_project_setup(REQUIRES 6.8)
2219
2320option (FLUID_WITH_GALLERY "" OFF )
@@ -42,6 +39,16 @@ set(SOURCES
4239 splashcontroller.cpp splashcontroller.h
4340 system .h
4441)
42+ set (QML_SOURCES
43+ DownloadInfo.qml
44+ main.qml
45+ News.qml
46+ NewsCard.qml
47+ Settings.qml
48+ splash.qml
49+ UpdateFailed.qml
50+ utils.js
51+ )
4552
4653if (APPLE )
4754 list (APPEND SOURCES osx.cpp)
@@ -51,23 +58,30 @@ else()
5158 list (APPEND SOURCES linux.cpp)
5259endif ()
5360
54- qt_add_executable(updater MANUAL_FINALIZATION
61+ qt_add_executable(updater
5562 ${SOURCES}
5663 qml.qrc
5764)
5865
59-
60- # target_compile_definitions(updater PRIVATE QUAZIP_STATIC )
66+ qt_add_qml_module(updater
67+ URI UnvUpdater
68+ QML_FILES ${QML_SOURCES}
69+ RESOURCE_PREFIX "/"
70+ )
6171
6272target_link_libraries (updater PRIVATE
6373 Qt6::Network
6474 Qt6::Widgets
75+ QuaZip::QuaZip
76+ Fluid
77+ ${ARIA2_LIBS}
6578)
6679
67- target_link_libraries (updater INTERFACE
80+ target_link_libraries (updater PRIVATE
6881 Qt6::Qml
69- Qt6::QuickDialogs2
7082 Qt6::Quick
83+ Qt6::QuickControls2
84+ Qt6::QuickDialogs2
7185)
7286
7387
@@ -86,13 +100,6 @@ elseif(UNIX)
86100 )
87101endif ()
88102
89-
90-
91- target_link_libraries (updater PUBLIC
92- QuaZip::QuaZip
93- Fluid
94- )
95-
96103# Turn on warning errors since the warnings are hard to see in Docker
97104if (NOT APPLE )
98105 target_compile_options (updater PRIVATE -Werror)
@@ -113,10 +120,3 @@ if(APPLE)
113120endif ()
114121
115122
116- qt_finalize_target(updater)
117-
118- target_link_libraries (updater PUBLIC
119- Qt6::Qml
120- Qt6::Quick
121- )
122-
0 commit comments