添加初始代码结构,包括C语言源文件、头文件、构建配置和格式化设置
This commit is contained in:
parent
f4a80d84d2
commit
7ef304a909
57
.clang-format
Normal file
57
.clang-format
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
BasedOnStyle: LLVM
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignArrayOfStructures: Left
|
||||||
|
AlignConsecutiveDeclarations:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignConsecutiveAssignments:
|
||||||
|
Enabled: true
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignCompound: true
|
||||||
|
PadOperators: true
|
||||||
|
AlignConsecutiveMacros:
|
||||||
|
Enabled: false
|
||||||
|
AcrossEmptyLines: false
|
||||||
|
AcrossComments: false
|
||||||
|
AlignOperands: Align
|
||||||
|
AllowAllParametersOfDeclarationOnNextLine: true
|
||||||
|
AllowAllArgumentsOnNextLine: false
|
||||||
|
AllowShortLambdasOnASingleLine: Empty
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortBlocksOnASingleLine: Empty
|
||||||
|
AllowShortIfStatementsOnASingleLine: AllIfsAndElse
|
||||||
|
AllowShortLoopsOnASingleLine: true
|
||||||
|
AlwaysBreakAfterDefinitionReturnType: None
|
||||||
|
AlwaysBreakTemplateDeclarations: "Yes"
|
||||||
|
BinPackArguments: false
|
||||||
|
BinPackParameters: false
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
BreakBeforeBinaryOperators: NonAssignment
|
||||||
|
ColumnLimit: 120
|
||||||
|
CommentPragmas: "^ IWYU pragma:"
|
||||||
|
ConstructorInitializerIndentWidth: 4
|
||||||
|
IndentWidth: 4
|
||||||
|
Language: Cpp
|
||||||
|
MaxEmptyLinesToKeep: 2
|
||||||
|
PointerAlignment: Left
|
||||||
|
TabWidth: 4
|
||||||
|
UseTab: Never
|
||||||
|
SortIncludes: CaseSensitive
|
||||||
|
BraceWrapping:
|
||||||
|
AfterEnum: true
|
||||||
|
AfterStruct: true
|
||||||
|
AfterClass: true
|
||||||
|
AfterUnion: true
|
||||||
|
AfterExternBlock: true
|
||||||
|
AfterFunction: true
|
||||||
|
AfterNamespace: true
|
||||||
|
IndentRequires: true
|
||||||
|
FixNamespaceComments: false
|
||||||
|
NamespaceIndentation: None
|
||||||
|
BreakBeforeConceptDeclarations: Always
|
||||||
|
RequiresClausePosition: OwnLine
|
||||||
|
IndentRequiresClause: true
|
||||||
|
AllowBreakBeforeNoexceptSpecifier: OnlyWithParen
|
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
.cache/
|
||||||
|
.vscode/
|
||||||
|
.xmake/
|
||||||
|
build/
|
||||||
|
compile_commands.json
|
8
include/kqm/defs.h
Normal file
8
include/kqm/defs.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef KQM_DEFS_H
|
||||||
|
#define KQM_DEFS_H
|
||||||
|
|
||||||
|
#define CR "\r"
|
||||||
|
#define LF "\n"
|
||||||
|
#define CRLF "\r\n"
|
||||||
|
|
||||||
|
#endif // KQM_DEFS_H
|
11
include/kqm/types.h
Normal file
11
include/kqm/types.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#ifndef KQM_TYPES_H
|
||||||
|
#define KQM_TYPES_H
|
||||||
|
|
||||||
|
#include <civetweb.h>
|
||||||
|
|
||||||
|
typedef struct mg_callbacks mg_callbacks;
|
||||||
|
typedef struct mg_context mg_context;
|
||||||
|
typedef struct mg_connection mg_connection;
|
||||||
|
typedef struct mg_request_info mg_request_info;
|
||||||
|
|
||||||
|
#endif // KQM_TYPES_H
|
21
src/main.c
Normal file
21
src/main.c
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#include <civetweb.h>
|
||||||
|
|
||||||
|
#include <kqm/defs.h>
|
||||||
|
#include <kqm/types.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
const char* options[] = {"document_root", "./www", "listening_ports", "8080", NULL};
|
||||||
|
mg_callbacks callbacks;
|
||||||
|
mg_context* ctx;
|
||||||
|
|
||||||
|
memset(&callbacks, 0, sizeof(callbacks));
|
||||||
|
ctx = mg_start(&callbacks, NULL, options);
|
||||||
|
|
||||||
|
printf("Server started on port(s) %s\n", mg_get_option(ctx, "listening_ports"));
|
||||||
|
getchar();
|
||||||
|
mg_stop(ctx);
|
||||||
|
}
|
27
xmake.lua
Normal file
27
xmake.lua
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
add_rules("mode.debug", "mode.release")
|
||||||
|
add_rules("plugin.compile_commands.autoupdate")
|
||||||
|
|
||||||
|
set_languages("c23")
|
||||||
|
|
||||||
|
set_warnings("all")
|
||||||
|
set_warnings("error")
|
||||||
|
|
||||||
|
add_requires("civetweb")
|
||||||
|
|
||||||
|
target("math")
|
||||||
|
set_kind("binary")
|
||||||
|
add_packages("civetweb")
|
||||||
|
add_includedirs("include")
|
||||||
|
add_files("src/main.c")
|
||||||
|
|
||||||
|
after_build(function (target)
|
||||||
|
local npm = "npm"
|
||||||
|
if is_host("windows") then
|
||||||
|
npm = "npm.cmd"
|
||||||
|
end
|
||||||
|
os.execv(npm, {"--prefix", "ui", "run", "build"})
|
||||||
|
|
||||||
|
local vue_dist_dir = "ui/dist"
|
||||||
|
local target_dir = target:targetdir() .. "/www"
|
||||||
|
os.cp(vue_dist_dir, target_dir)
|
||||||
|
end)
|
Loading…
Reference in New Issue
Block a user