-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
133 lines (119 loc) · 4.05 KB
/
CMakeLists.txt
File metadata and controls
133 lines (119 loc) · 4.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
cmake_minimum_required(VERSION 3.16)
project(AsusTufController_Windows VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 REQUIRED COMPONENTS Core Gui Quick Widgets QuickControls2 LinguistTools)
qt_standard_project_setup()
# Translation files
set(TS_FILES
translations/AsusTufController_ar.ts
translations/AsusTufController_bn.ts
translations/AsusTufController_de.ts
translations/AsusTufController_es.ts
translations/AsusTufController_fa.ts
translations/AsusTufController_fr.ts
translations/AsusTufController_hi.ts
translations/AsusTufController_id.ts
translations/AsusTufController_it.ts
translations/AsusTufController_ja.ts
translations/AsusTufController_ko.ts
translations/AsusTufController_mr.ts
translations/AsusTufController_pa.ts
translations/AsusTufController_pl.ts
translations/AsusTufController_pt.ts
translations/AsusTufController_ru.ts
translations/AsusTufController_sw.ts
translations/AsusTufController_ta.ts
translations/AsusTufController_tr.ts
translations/AsusTufController_ur.ts
translations/AsusTufController_vi.ts
translations/AsusTufController_zh.ts
)
set(PROJECT_SOURCES
src/main.cpp
src/FanController.h src/FanController.cpp
src/AuraController.h src/AuraController.cpp
src/SystemStatsMonitor.h src/SystemStatsMonitor.cpp
src/FanCurveController.h src/FanCurveController.cpp
src/FanCurveController.h src/FanCurveController.cpp
src/LanguageController.h src/LanguageController.cpp
src/ThemeController.h src/ThemeController.cpp
src/platform/windows/AsusWinIO.h src/platform/windows/AsusWinIO.cpp
src/platform/windows/WmiWrapper.h src/platform/windows/WmiWrapper.cpp
src/platform/windows/AuraHID.h src/platform/windows/AuraHID.cpp
src/platform/windows/AtkAcpi.h src/platform/windows/AtkAcpi.cpp
)
qt_add_executable(AsusTufController_Windows
WIN32
MANUAL_FINALIZATION
src/app.rc
${PROJECT_SOURCES}
)
# QML and Resources
qt_add_qml_module(AsusTufController_Windows
URI "AsusTufController"
VERSION 1.0
RESOURCE_PREFIX "/"
QML_FILES
ui/Main.qml
ui/GraphCard.qml
ui/StatsCard.qml
ui/CircularGauge.qml
ui/components/Sidebar.qml
ui/pages/DashboardPage.qml
ui/pages/FanPage.qml
ui/pages/AuraPage.qml
ui/pages/BatteryPage.qml
ui/pages/SettingsPage.qml
ui/Translations.js
RESOURCES
resources/FanControl.png
resources/AuraSync.png
resources/BatteryManagement.png
resources/SystemInfo.png
ui/app_icon.png
)
# Compile translations (.ts -> .qm) and embed them
qt_add_translations(AsusTufController_Windows
TS_FILES ${TS_FILES}
RESOURCE_PREFIX "/translations"
)
# Libs
target_link_libraries(AsusTufController_Windows
PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Quick
Qt6::QuickControls2
Qt6::Widgets
wbemuuid # WMI
pdh # Performance Counters
iphlpapi # Network Stats
)
# Copy the DLL to the build directory
add_custom_command(TARGET AsusTufController_Windows POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_SOURCE_DIR}/AsusWinIO64.dll"
"$<TARGET_FILE_DIR:AsusTufController_Windows>/AsusWinIO64.dll"
)
# Copy PsExec.exe and run.bat to the build directory
add_custom_command(TARGET AsusTufController_Windows POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_SOURCE_DIR}/PsExec.exe"
"$<TARGET_FILE_DIR:AsusTufController_Windows>/PsExec.exe"
)
add_custom_command(TARGET AsusTufController_Windows POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_SOURCE_DIR}/run.bat"
"$<TARGET_FILE_DIR:AsusTufController_Windows>/run.bat"
)
add_custom_command(TARGET AsusTufController_Windows POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_SOURCE_DIR}/resources"
"$<TARGET_FILE_DIR:AsusTufController_Windows>/resources"
)
install(TARGETS AsusTufController_Windows
BUNDLE DESTINATION .
LIBRARY DESTINATION .
RUNTIME DESTINATION .
)