Initial commit
This commit is contained in:
14
.clang-format
Normal file
14
.clang-format
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
BasedOnStyle: Google
|
||||||
|
ColumnLimit: 120
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignAfterOpenBracket: false
|
||||||
|
IndentWidth: 4
|
||||||
|
BreakBeforeBraces: Attach
|
||||||
|
CommentPragmas: '^[^ ]'
|
||||||
|
IncludeBlocks: Regroup
|
||||||
|
PointerAlignment: Left
|
||||||
|
SortIncludes: Never
|
||||||
|
IndentCaseLabels : false
|
||||||
|
Standard: Cpp11
|
||||||
|
...
|
||||||
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*.o
|
||||||
|
*.exe
|
||||||
|
/build
|
||||||
|
/cDrive.*
|
||||||
16
.vscode/c_cpp_properties.json
vendored
Normal file
16
.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "MinGW64",
|
||||||
|
"includePath": [
|
||||||
|
"${workspaceFolder}/include",
|
||||||
|
"C:\\MinGW64\\include",
|
||||||
|
"C:\\MinGW64\\x86_64-w64-mingw32\\include"
|
||||||
|
],
|
||||||
|
"compilerPath": "C:\\MinGW64\\bin\\gcc.exe",
|
||||||
|
"cStandard": "c11",
|
||||||
|
"cppStandard": "c++17"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version": 4
|
||||||
|
}
|
||||||
33
.vscode/launch.json
vendored
Normal file
33
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
// 使用 IntelliSense 了解相关属性。
|
||||||
|
// 悬停以查看现有属性的描述。
|
||||||
|
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "(gdb) 启动",
|
||||||
|
"type": "cppdbg",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/cDrive.exe",
|
||||||
|
"args": [],
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"environment": [],
|
||||||
|
"externalConsole": false,
|
||||||
|
"MIMode": "gdb",
|
||||||
|
"setupCommands": [
|
||||||
|
{
|
||||||
|
"description": "为 gdb 启用整齐打印",
|
||||||
|
"text": "-enable-pretty-printing",
|
||||||
|
"ignoreFailures": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "将反汇编风格设置为 Intel",
|
||||||
|
"text": "-gdb-set disassembly-flavor intel",
|
||||||
|
"ignoreFailures": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
43
CMakeLists.txt
Normal file
43
CMakeLists.txt
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
|
include(FetchContent)
|
||||||
|
|
||||||
|
FetchContent_Declare(spdlog
|
||||||
|
URL https://github.com/gabime/spdlog/archive/v1.11.0.tar.gz
|
||||||
|
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(spdlog)
|
||||||
|
|
||||||
|
FetchContent_Declare(mbedtls
|
||||||
|
URL https://github.com/Mbed-TLS/mbedtls/archive/v2.28.3.tar.gz
|
||||||
|
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
|
||||||
|
)
|
||||||
|
set(ENABLE_PROGRAMS OFF CACHE INTERNAL "" FORCE)
|
||||||
|
set(ENABLE_TESTING OFF CACHE INTERNAL "" FORCE)
|
||||||
|
FetchContent_MakeAvailable(mbedtls)
|
||||||
|
|
||||||
|
find_package(CURL)
|
||||||
|
if (NOT CURL_FOUND)
|
||||||
|
FetchContent_Declare(curl
|
||||||
|
URL https://curl.se/download/curl-8.5.0.tar.xz
|
||||||
|
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
|
||||||
|
)
|
||||||
|
set(CURL_USE_MBEDTLS ON)
|
||||||
|
set(HTTP_ONLY ON)
|
||||||
|
set(BUILD_CURL_EXE OFF)
|
||||||
|
set(BUILD_TESTING OFF)
|
||||||
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
set(CURL_DISABLE_PROGRESS_METER ON CACHE INTERNAL "" FORCE)
|
||||||
|
FetchContent_MakeAvailable(curl)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_library(qrcodegen_FOUND qrcodegen)
|
||||||
|
if (qrcodegen_FOUND)
|
||||||
|
message(STATUS "found qrcodegen")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
project(clist)
|
||||||
|
file(GLOB_RECURSE MAIN_SRC "${CMAKE_SOURCE_DIR}/src/*.cpp")
|
||||||
|
add_executable(${PROJECT_NAME} ${MAIN_SRC})
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE include)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE spdlog mbedtls qrcodegen CURL::libcurl)
|
||||||
25
Makefile
Normal file
25
Makefile
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
TARGET = cDrive
|
||||||
|
|
||||||
|
SRCS := src src/drive
|
||||||
|
|
||||||
|
VPATH := $(foreach dir,$(SRCS),$(CURDIR)/$(dir))
|
||||||
|
CFILES := $(foreach dir,$(SRCS),$(notdir $(wildcard $(dir)/*.c)))
|
||||||
|
CPPFILES := $(foreach dir,$(SRCS),$(notdir $(wildcard $(dir)/*.cpp)))
|
||||||
|
OFILES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o)
|
||||||
|
|
||||||
|
INCLUDES := -I$(CURDIR)/include
|
||||||
|
CFLAGS := -g -Wall $(INCLUDES) `curl-config --cflags`
|
||||||
|
CXXFLAGS := $(CFLAGS) -fno-rtti -std=c++17
|
||||||
|
LDFLAGS := `curl-config --libs` -lqrcodegen -lmbedcrypto
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
$(TARGET): $(OFILES)
|
||||||
|
$(CXX) -o $@ $^ $(LDFLAGS)
|
||||||
|
|
||||||
|
run: all
|
||||||
|
@./$(TARGET)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) -fr $(BUILD) $(TARGET)
|
||||||
Reference in New Issue
Block a user