Skip to content

Commit 4ded6dc

Browse files
committed
wip
1 parent 719cbd5 commit 4ded6dc

12 files changed

+87
-64
lines changed

.clang-format

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
# References:
2+
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
3+
# https://code.qt.io/cgit/qt/qt5.git/tree/_clang-format
4+
15
BasedOnStyle: LLVM
26

7+
Standard: c++17
8+
39
# 指针和引用的对齐方式。
410
# 可能的值有:
511
# PAS_Left (在配置中: Left) 指针左对齐。
@@ -103,16 +109,22 @@ AlignAfterOpenBracket: Align
103109
NamespaceIndentation: All
104110

105111
# 一行最长列数
106-
ColumnLimit: 120
112+
ColumnLimit: 100
107113

108114
# 按层次缩进宏定义
109115
IndentPPDirectives: AfterHash
110116

117+
# 预处理语句缩进为 2
118+
PPIndentWidth: 2
119+
111120
# 数组元素对齐
112121
AlignArrayOfStructures: Left
113122

114-
# ContinuationIndentWidth: 0
123+
# 不对头文件排序
124+
SortIncludes: Never
115125

116126
FixNamespaceComments: false
117127

118-
StatementMacros: ['__qas_attr__', '__qas_exclude__', '__qas_include__']
128+
StatementMacros: ['__qas_attr__', '__qas_exclude__', '__qas_include__']
129+
130+
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ]

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ project(DiffScope VERSION 0.0.1.1 LANGUAGES CXX)
66
# Build Options
77
# ----------------------------------
88
option(DIFFSCOPE_INSTALL "Install application" ON)
9+
option(DIFFSCOPE_ENABLE_BREAKPAD "Enable breakpad configuration" OFF)
910

1011
# ----------------------------------
1112
# CMake Settings
@@ -41,4 +42,4 @@ qm_init_directories()
4142
# ----------------------------------
4243
add_subdirectory(libs)
4344

44-
# add_subdirectory(src)
45+
add_subdirectory(src)

libs/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ add_subdirectory(choruskit)
44

55
add_subdirectory(svscraft)
66

7-
add_subdirectory(opendspx)
7+
add_subdirectory(opendspx)
8+
9+
set(CK_CMAKE_MODULES_DIR ${CMAKE_CURRENT_LIST_DIR}/choruskit/cmake PARENT_SCOPE)

libs/choruskit

src/CMakeLists.txt

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
11
# Add `ChorusKitAPI`
2-
if(BUILD_LIBRARIES_IN_PLACE)
3-
include(../libs/choruskit/cmake/ChorusKitAPI.cmake)
4-
else()
2+
if(NOT TARGET ChorusKit::Loader)
53
find_package(ChorusKit REQUIRED)
64
endif()
75

8-
ck_init_build_system(${PROJECT_NAME}
9-
ROOT ..
10-
VENDOR "OpenVPI"
11-
)
6+
include(${CK_CMAKE_MODULES_DIR}/ChorusKitAPI.cmake)
127

138
# ----------------------------------
14-
# Compile Definitions
9+
# Project Variables
1510
# ----------------------------------
16-
ck_add_definition(APP_NAME ${PROJECT_NAME})
17-
ck_add_definition(APP_VERSION ${PROJECT_VERSION})
11+
set(CK_APPLICATION_NAME ${PROJECT_NAME})
12+
set(CK_APPLICATION_DESCRIPTION ${PROJECT_NAME})
13+
set(CK_APPLICATION_VERSION ${PROJECT_VERSION})
14+
set(CK_APPLICATION_VENDOR OpenVPI)
15+
set(CK_DEV_START_YEAR 2019)
1816

19-
ck_add_definition(CONFIG_ENABLE_BREAKPAD ${DIFFSCOPE_ENABLE_BREAKPAD})
17+
# ----------------------------------
18+
# Initializations
19+
# ----------------------------------
20+
ck_init_buildsystem()
21+
22+
# ----------------------------------
23+
# Compile Definitions
24+
# ----------------------------------
25+
qm_add_definition(APP_NAME ${PROJECT_NAME} STRING_LITERAL)
26+
qm_add_definition(APP_VERSION ${PROJECT_VERSION} STRING_LITERAL)
27+
qm_add_definition(CONFIG_ENABLE_BREAKPAD CONDITION DIFFSCOPE_ENABLE_BREAKPAD)
2028

2129
# ----------------------------------
2230
# Main Project
@@ -29,8 +37,7 @@ add_subdirectory(plugins)
2937

3038
add_subdirectory(share)
3139

32-
# if(DIFFSCOPE_BUILD_TESTS)
33-
# add_subdirectory(tests)
34-
# endif()
35-
36-
ck_finish_build_system()
40+
# ----------------------------------
41+
# Finale
42+
# ----------------------------------
43+
ck_finish_buildsystem()

src/app/CMakeLists.txt

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
ck_configure_application(
22
ICO app.ico
33
ICNS app.icns
4-
NAME ${PROJECT_NAME}
5-
VERSION ${PROJECT_VERSION}
6-
DESCRIPTION ${PROJECT_NAME}
74
)
85

9-
ck_target_components(${PROJECT_NAME}
6+
qm_configure_target(${PROJECT_NAME}
107
SOURCES main.cpp
118
QT_LINKS Core Widgets
12-
LINKS_PRIVATE ChorusKit::Loader ChorusKit::AppCore ChorusKit::qBreakpad
9+
LINKS_PRIVATE ChorusKit::Loader ChorusKit::AppCore
1310
INCLUDE_PRIVATE ${CK_BUILD_INCLUDE_DIR}
1411
)
1512

13+
if(DIFFSCOPE_ENABLE_BREAKPAD)
14+
find_package(qBreakpad REQUIRED)
15+
target_link_libraries(${PROJECT_NAME} PRIVATE qBreakpad::qBreakpad)
16+
endif()
17+
1618
# Set configration file variables
1719
set(APP_CONFIG_SPLASH_IMAGE "splash.svg")
1820
set(APP_CONFIG_PADDING 20)
@@ -32,31 +34,36 @@ endif()
3234
# Deploy docs
3335
ck_add_shared_files(
3436
SKIP_BUILD
35-
SRC share/doc/* DEST ${_app_doc_dir}
37+
SRC share/doc/ DEST ${_app_doc_dir}
3638
)
3739

3840
# Deploy resources
3941
ck_add_shared_files(
40-
SRC ${_config_file} ${APP_CONFIG_SPLASH_IMAGE} DEST ${_app_res_dir}
42+
SRC ${_config_file} ${APP_CONFIG_SPLASH_IMAGE} DEST share/${_app_res_dir}
4143
)
4244

4345
# Deploy config files
4446
ck_add_shared_files(
45-
SRC conf/${CK_PLATFORM_LOWER}/* DEST ${CK_BUILD_QT_CONF_DIR}
47+
SKIP_BUILD
48+
SRC conf/${CK_PLATFORM_LOWER}/qt.conf DEST ${CK_BUILD_QT_CONF_DIR}
49+
)
50+
51+
ck_add_shared_files(
52+
SRC conf/${CK_PLATFORM_LOWER}/qtmediate.json DEST ${CK_BUILD_QT_CONF_DIR}
4653
)
4754

4855
if(WIN32)
4956
# Deploy windows icons
5057
ck_add_shared_files(
5158
SKIP_BUILD
52-
SRC share/win-icons/* DEST ${PROJECT_NAME}/icons
59+
SRC share/win-icons/ DEST share/${PROJECT_NAME}/icons
5360
)
5461
elseif(APPLE)
5562
# TODO...
5663
else()
5764
# Add linux files
5865
ck_add_shared_files(
5966
SKIP_BUILD
60-
SRC share/applications share/icons DEST ${PROJECT_NAME}
67+
SRC share/applications share/icons DEST share/${PROJECT_NAME}
6168
)
6269
endif()

src/app/conf/linux/qtmediate.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22
"Prefix": "..",
33
"Libraries": "lib",
44
"Share": "share",
5-
"Plugins": [
6-
"lib/qtmediate/plugins"
7-
],
5+
"Plugins": [],
86
"Translations": [
9-
"share/qtmediate/translations",
107
"share/ChorusKit/translations"
118
],
129
"Themes": [

src/app/conf/mac/qtmediate.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22
"Prefix": ".",
33
"Libraries": "Frameworks",
44
"Share": "Resources",
5-
"Plugins": [
6-
"Frameworks/qtmediate/plugins"
7-
],
5+
"Plugins": [],
86
"Translations": [
9-
"Resources/qtmediate/translations",
107
"Resources/ChorusKit/translations"
118
],
129
"Themes": [

src/app/conf/win/qtmediate.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22
"Prefix": "..",
33
"Libraries": "lib",
44
"Share": "share",
5-
"Plugins": [
6-
"lib/qtmediate/plugins"
7-
],
5+
"Plugins": [],
86
"Translations": [
9-
"share/qtmediate/translations",
107
"share/ChorusKit/translations"
118
],
129
"Themes": [

src/app/main.cpp

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,23 @@
44

55
#include <extensionsystem/pluginmanager.h>
66

7-
#include <QBreakpadHandler.h>
7+
#ifdef CONFIG_ENABLE_BREAKPAD
8+
# include <QBreakpadHandler.h>
9+
#endif
810

9-
#include <QMAppExtension.h>
10-
#include <QMDecoratorV2.h>
11-
#include <QMSystem.h>
11+
#include <QMCore/QMSystem.h>
12+
#include <QMWidgets/QMAppExtension.h>
13+
#include <QMWidgets/QMDecoratorV2.h>
1214

13-
#include <CoreApi/ILoader.h>
15+
#include <CoreApi/iloader.h>
1416

15-
#include <loaderconfig.h>
17+
#include <CkLoader/loaderconfig.h>
1618

17-
#include "choruskit_config.h"
19+
#include <choruskit_config.h>
1820

19-
static const char APP_PLUGIN_IID[] = "org.ChorusKit." APP_NAME ".Plugin";
21+
static const char APP_PLUGIN_IID[] = "org.OpenVPI." APP_NAME ".Plugin";
2022

21-
class MyLoaderConfiguration : public LoaderConfiguration {
23+
class MyLoaderConfiguration : public Loader::LoaderConfiguration {
2224
public:
2325
MyLoaderConfiguration() {
2426
allowRoot = false;
@@ -76,10 +78,12 @@ class MyLoaderConfiguration : public LoaderConfiguration {
7678

7779
// Set ILoader settings path
7880
Core::ILoader &loader = *Core::ILoader::instance();
79-
loader.setSettingsPath(QSettings::UserScope,
80-
QString("%1/%2.settings.json").arg(userSettingsPath, qApp->applicationName()));
81-
loader.setSettingsPath(QSettings::SystemScope,
82-
QString("%1/%2.settings.json").arg(systemSettingsPath, qApp->applicationName()));
81+
loader.setSettingsPath(
82+
QSettings::UserScope,
83+
QString("%1/%2.settings.json").arg(userSettingsPath, qApp->applicationName()));
84+
loader.setSettingsPath(
85+
QSettings::SystemScope,
86+
QString("%1/%2.settings.json").arg(systemSettingsPath, qApp->applicationName()));
8387

8488
// Add initial routine to loader object pool
8589
auto initRoutine = new Core::InitialRoutine(screen);
@@ -97,18 +101,17 @@ class MyLoaderConfiguration : public LoaderConfiguration {
97101

98102
int main(int argc, char *argv[]) {
99103
QApplication a(argc, argv);
100-
QMAppExtension host;
101-
102104
a.setApplicationName(APP_NAME);
103105
a.setApplicationVersion(APP_VERSION);
104-
a.setOrganizationName("ChorusKit");
105-
a.setOrganizationDomain("ChorusKit");
106+
a.setOrganizationName("OpenVPI");
107+
a.setOrganizationDomain("org.openvpi");
106108

107-
Core::ILoader loader;
109+
QMAppExtension host;
108110

109111
#ifdef CONFIG_ENABLE_BREAKPAD
110112
QBreakpadInstance.setDumpPath(host.appDataDir() + "/crashes");
111113
#endif
112114

115+
Core::ILoader loader;
113116
return MyLoaderConfiguration().run();
114117
}

0 commit comments

Comments
 (0)