commit 34c9d859b853638aa4d61d0f09936091699e6848 Author: pjh456 <147148383@qq.com> Date: Wed Oct 1 07:49:10 2025 +0000 feat: 基于 drogon_ctl 初始化仓库 diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1442938 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,75 @@ +cmake_minimum_required(VERSION 3.5) +project(ouc_reminder CXX) + +include(CheckIncludeFileCXX) + +check_include_file_cxx(any HAS_ANY) +check_include_file_cxx(string_view HAS_STRING_VIEW) +check_include_file_cxx(coroutine HAS_COROUTINE) +if (NOT "${CMAKE_CXX_STANDARD}" STREQUAL "") + # Do nothing +elseif (HAS_ANY AND HAS_STRING_VIEW AND HAS_COROUTINE) + set(CMAKE_CXX_STANDARD 20) +elseif (HAS_ANY AND HAS_STRING_VIEW) + set(CMAKE_CXX_STANDARD 17) +else () + set(CMAKE_CXX_STANDARD 14) +endif () + +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +add_executable(${PROJECT_NAME} main.cc) + +# ############################################################################## +# If you include the drogon source code locally in your project, use this method +# to add drogon +# add_subdirectory(drogon) +# target_link_libraries(${PROJECT_NAME} PRIVATE drogon) +# +# and comment out the following lines +find_package(Drogon CONFIG REQUIRED) +target_link_libraries(${PROJECT_NAME} PRIVATE Drogon::Drogon) + +# ############################################################################## + +if (CMAKE_CXX_STANDARD LESS 17) + message(FATAL_ERROR "c++17 or higher is required") +elseif (CMAKE_CXX_STANDARD LESS 20) + message(STATUS "use c++17") +else () + message(STATUS "use c++20") +endif () + +aux_source_directory(controllers CTL_SRC) +aux_source_directory(filters FILTER_SRC) +aux_source_directory(plugins PLUGIN_SRC) +aux_source_directory(models MODEL_SRC) + +drogon_create_views(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/views + ${CMAKE_CURRENT_BINARY_DIR}) +# use the following line to create views with namespaces. +# drogon_create_views(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/views +# ${CMAKE_CURRENT_BINARY_DIR} TRUE) +# use the following line to create views with namespace CHANGE_ME prefixed +# and path namespaces. +# drogon_create_views(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/views +# ${CMAKE_CURRENT_BINARY_DIR} TRUE CHANGE_ME) + +target_include_directories(${PROJECT_NAME} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/models) +target_sources(${PROJECT_NAME} + PRIVATE + ${SRC_DIR} + ${CTL_SRC} + ${FILTER_SRC} + ${PLUGIN_SRC} + ${MODEL_SRC}) +# ############################################################################## +# uncomment the following line for dynamically loading views +# set_property(TARGET ${PROJECT_NAME} PROPERTY ENABLE_EXPORTS ON) + +# ############################################################################## + +add_subdirectory(test) diff --git a/build/.cmake/api/v1/query/client-vscode/query.json b/build/.cmake/api/v1/query/client-vscode/query.json new file mode 100644 index 0000000..82bb964 --- /dev/null +++ b/build/.cmake/api/v1/query/client-vscode/query.json @@ -0,0 +1 @@ +{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]} \ No newline at end of file diff --git a/build/.cmake/api/v1/reply/cache-v2-ad1c27783191964a85e9.json b/build/.cmake/api/v1/reply/cache-v2-ad1c27783191964a85e9.json new file mode 100644 index 0000000..83cff02 --- /dev/null +++ b/build/.cmake/api/v1/reply/cache-v2-ad1c27783191964a85e9.json @@ -0,0 +1,1831 @@ +{ + "entries" : + [ + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/pjh123/ouc_reminder/build" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "25" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COLOR_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable color output during build." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "STRING", + "value" : "/usr/bin/g++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "BOOL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "/home/pjh123/ouc_reminder/build/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Unix Makefiles" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HAVE_LIBC_PTHREAD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/pjh123/ouc_reminder" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gmake" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "2" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ouc_reminder" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/usr/share/cmake-3.25" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/strip" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CXX_FILESYSTEM_HAVE_FS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "TRUE if we have the C++ filesystem headers" + } + ], + "type" : "BOOL", + "value" : "TRUE" + }, + { + "name" : "CXX_FILESYSTEM_HEADER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The header that should be included to obtain the filesystem APIs" + } + ], + "type" : "STRING", + "value" : "filesystem" + }, + { + "name" : "CXX_FILESYSTEM_IS_EXPERIMENTAL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "TRUE if the C++ filesystem library is the experimental version" + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "CXX_FILESYSTEM_NAMESPACE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The C++ namespace that contains the filesystem APIs" + } + ], + "type" : "STRING", + "value" : "std::filesystem" + }, + { + "name" : "CXX_FILESYSTEM_NO_LINK_NEEDED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CXX_FILESYSTEM_NO_LINK_NEEDED" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CXX_FILESYSTEM_NO_LINK_NEEDED_COMPILED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Result of TRY_COMPILE" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "CXX_FILESYSTEM_NO_LINK_NEEDED_EXITCODE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Result of try_run()" + } + ], + "type" : "INTERNAL", + "value" : "0" + }, + { + "name" : "Drogon_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The directory containing a CMake configuration file for Drogon." + } + ], + "type" : "PATH", + "value" : "/usr/local/lib/cmake/Drogon" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Jsoncpp", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding Jsoncpp" + } + ], + "type" : "INTERNAL", + "value" : "[/usr/include/jsoncpp][/usr/lib/x86_64-linux-gnu/libjsoncpp.so][v()]" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding OpenSSL" + } + ], + "type" : "INTERNAL", + "value" : "[/usr/lib/x86_64-linux-gnu/libcrypto.so][/usr/include][c ][v3.0.17()]" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding Threads" + } + ], + "type" : "INTERNAL", + "value" : "[TRUE][v()]" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_ZLIB", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding ZLIB" + } + ], + "type" : "INTERNAL", + "value" : "[/usr/lib/x86_64-linux-gnu/libz.so][/usr/include][v1.2.13()]" + }, + { + "name" : "Filesystem_FOUND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "TRUE if we can run a program using std::filesystem" + } + ], + "type" : "BOOL", + "value" : "TRUE" + }, + { + "name" : "HAS_ANY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Have include any" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "HAS_COROUTINE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Have include coroutine" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "HAS_STRING_VIEW", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Have include string_view" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "JSONCPP_INCLUDE_DIRS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "jsoncpp include dir" + } + ], + "type" : "PATH", + "value" : "/usr/include/jsoncpp" + }, + { + "name" : "JSONCPP_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "jsoncpp library" + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so" + }, + { + "name" : "OPENSSL_CRYPTO_LIBRARY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libcrypto.so" + }, + { + "name" : "OPENSSL_INCLUDE_DIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a file." + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "OPENSSL_SSL_LIBRARY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libssl.so" + }, + { + "name" : "PKG_CONFIG_ARGN", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Arguments to supply to pkg-config" + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "PKG_CONFIG_EXECUTABLE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "pkg-config executable" + } + ], + "type" : "FILEPATH", + "value" : "PKG_CONFIG_EXECUTABLE-NOTFOUND" + }, + { + "name" : "Trantor_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The directory containing a CMake configuration file for Trantor." + } + ], + "type" : "PATH", + "value" : "/usr/local/lib/cmake/Trantor" + }, + { + "name" : "UUID_INCLUDE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to a file." + } + ], + "type" : "PATH", + "value" : "/usr/include/uuid" + }, + { + "name" : "UUID_INCLUDE_DIRS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "UUID_LIBRARIES", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "(This variable does not exist and should not be used)" + } + ], + "type" : "UNINITIALIZED", + "value" : "" + }, + { + "name" : "UUID_LIBRARY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libuuid.so" + }, + { + "name" : "UUID_LIBRARY_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "UUID_LIBRARY_DEBUG-NOTFOUND" + }, + { + "name" : "ZLIB_INCLUDE_DIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a file." + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "ZLIB_LIBRARY_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "ZLIB_LIBRARY_DEBUG-NOTFOUND" + }, + { + "name" : "ZLIB_LIBRARY_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libz.so" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "_CXX_FILESYSTEM_HAVE_HEADER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Have include filesystem" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "_OPENSSL_CFLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_CFLAGS_I", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_CFLAGS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_FOUND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_INCLUDEDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_LIBDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_LIBS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_LIBS_L", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_LIBS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_LIBS_PATHS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_MODULE_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_CFLAGS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_CFLAGS_I", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_CFLAGS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_LIBDIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_LIBS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_LIBS_L", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_LIBS_OTHER", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_STATIC_LIBS_PATHS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "_OPENSSL_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "__pkg_config_checked__OPENSSL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "ouc_reminder_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/pjh123/ouc_reminder/build" + }, + { + "name" : "ouc_reminder_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "ouc_reminder_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/pjh123/ouc_reminder" + }, + { + "name" : "ouc_reminder_test_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/pjh123/ouc_reminder/build/test" + }, + { + "name" : "ouc_reminder_test_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "ouc_reminder_test_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/pjh123/ouc_reminder/test" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/cmakeFiles-v1-95155ec811e3f587ed1b.json b/build/.cmake/api/v1/reply/cmakeFiles-v1-95155ec811e3f587ed1b.json new file mode 100644 index 0000000..59ed83a --- /dev/null +++ b/build/.cmake/api/v1/reply/cmakeFiles-v1-95155ec811e3f587ed1b.json @@ -0,0 +1,600 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.25.1/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeUnixFindMake.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckIncludeFileCXX.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/DrogonConfigVersion.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/DrogonConfig.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeFindDependencyMacro.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/FindJsoncpp.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Trantor/TrantorConfigVersion.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Trantor/TrantorConfig.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeFindDependencyMacro.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindOpenSSL.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPkgConfig.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckIncludeFileCXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckCXXSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Trantor/TrantorTargets.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Trantor/TrantorTargets-release.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/FindUUID.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindZLIB.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/FindFilesystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakePushCheckState.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckIncludeFileCXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckCXXSourceRuns.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Internal/CheckSourceRuns.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/FindFilesystem.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/DrogonTargets.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/DrogonTargets-release.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/DrogonUtilities.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/local/lib/cmake/Drogon/ParseAndAddDrogonTests.cmake" + }, + { + "path" : "test/CMakeLists.txt" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/pjh123/ouc_reminder/build", + "source" : "/home/pjh123/ouc_reminder" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/codemodel-v2-3c3bcfbdf751dea83ce7.json b/build/.cmake/api/v1/reply/codemodel-v2-3c3bcfbdf751dea83ce7.json new file mode 100644 index 0000000..a87192f --- /dev/null +++ b/build/.cmake/api/v1/reply/codemodel-v2-3c3bcfbdf751dea83ce7.json @@ -0,0 +1,102 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1 + ], + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0 + ] + }, + { + "build" : "test", + "jsonFile" : "directory-test-Debug-451c0598f41488bb20b9.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 1, + "source" : "test", + "targetIndexes" : + [ + 1 + ] + } + ], + "name" : "Debug", + "projects" : + [ + { + "childIndexes" : + [ + 1 + ], + "directoryIndexes" : + [ + 0 + ], + "name" : "ouc_reminder", + "targetIndexes" : + [ + 0 + ] + }, + { + "directoryIndexes" : + [ + 1 + ], + "name" : "ouc_reminder_test", + "parentIndex" : 0, + "targetIndexes" : + [ + 1 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "ouc_reminder::@6890427a1f51a3e7e1df", + "jsonFile" : "target-ouc_reminder-Debug-81b47bd732f61310e735.json", + "name" : "ouc_reminder", + "projectIndex" : 0 + }, + { + "directoryIndex" : 1, + "id" : "ouc_reminder_test::@36f028580bb02cc8272a", + "jsonFile" : "target-ouc_reminder_test-Debug-8d031fd535f60c4da46d.json", + "name" : "ouc_reminder_test", + "projectIndex" : 1 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/pjh123/ouc_reminder/build", + "source" : "/home/pjh123/ouc_reminder" + }, + "version" : + { + "major" : 2, + "minor" : 4 + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json b/build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json new file mode 100644 index 0000000..4826a59 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-test-Debug-451c0598f41488bb20b9.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "test", + "source" : "test" + } +} diff --git a/build/.cmake/api/v1/reply/index-2025-10-01T07-46-18-0178.json b/build/.cmake/api/v1/reply/index-2025-10-01T07-46-18-0178.json new file mode 100644 index 0000000..b914447 --- /dev/null +++ b/build/.cmake/api/v1/reply/index-2025-10-01T07-46-18-0178.json @@ -0,0 +1,132 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Unix Makefiles" + }, + "paths" : + { + "cmake" : "/usr/bin/cmake", + "cpack" : "/usr/bin/cpack", + "ctest" : "/usr/bin/ctest", + "root" : "/usr/share/cmake-3.25" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 25, + "patch" : 1, + "string" : "3.25.1", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-3c3bcfbdf751dea83ce7.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "cache-v2-ad1c27783191964a85e9.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-95155ec811e3f587ed1b.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-42775fdf442bdfcd0131.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-vscode" : + { + "query.json" : + { + "requests" : + [ + { + "kind" : "cache", + "version" : 2 + }, + { + "kind" : "codemodel", + "version" : 2 + }, + { + "kind" : "toolchains", + "version" : 1 + }, + { + "kind" : "cmakeFiles", + "version" : 1 + } + ], + "responses" : + [ + { + "jsonFile" : "cache-v2-ad1c27783191964a85e9.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "codemodel-v2-3c3bcfbdf751dea83ce7.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "toolchains-v1-42775fdf442bdfcd0131.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-95155ec811e3f587ed1b.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ] + } + } + } +} diff --git a/build/.cmake/api/v1/reply/target-ouc_reminder-Debug-81b47bd732f61310e735.json b/build/.cmake/api/v1/reply/target-ouc_reminder-Debug-81b47bd732f61310e735.json new file mode 100644 index 0000000..0ab92af --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ouc_reminder-Debug-81b47bd732f61310e735.json @@ -0,0 +1,290 @@ +{ + "artifacts" : + [ + { + "path" : "ouc_reminder" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_libraries", + "set_target_properties", + "include", + "find_package", + "find_dependency", + "target_include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "/usr/local/lib/cmake/Drogon/DrogonTargets.cmake", + "/usr/local/lib/cmake/Drogon/DrogonConfig.cmake", + "/usr/local/lib/cmake/Trantor/TrantorTargets.cmake", + "/usr/local/lib/cmake/Trantor/TrantorConfig.cmake", + "/usr/share/cmake-3.25/Modules/CMakeFindDependencyMacro.cmake", + "/usr/local/lib/cmake/Drogon/FindJsoncpp.cmake", + "/usr/local/lib/cmake/Drogon/FindUUID.cmake" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 22, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 32, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 31, + "parent" : 0 + }, + { + "file" : 2, + "parent" : 3 + }, + { + "command" : 3, + "file" : 2, + "line" : 79, + "parent" : 4 + }, + { + "file" : 1, + "parent" : 5 + }, + { + "command" : 2, + "file" : 1, + "line" : 61, + "parent" : 6 + }, + { + "command" : 5, + "file" : 2, + "line" : 40, + "parent" : 4 + }, + { + "command" : 4, + "file" : 5, + "line" : 47, + "parent" : 8 + }, + { + "file" : 4, + "parent" : 9 + }, + { + "command" : 3, + "file" : 4, + "line" : 57, + "parent" : 10 + }, + { + "file" : 3, + "parent" : 11 + }, + { + "command" : 2, + "file" : 3, + "line" : 61, + "parent" : 12 + }, + { + "command" : 5, + "file" : 2, + "line" : 39, + "parent" : 4 + }, + { + "command" : 4, + "file" : 5, + "line" : 47, + "parent" : 14 + }, + { + "file" : 6, + "parent" : 15 + }, + { + "command" : 2, + "file" : 6, + "line" : 67, + "parent" : 16 + }, + { + "command" : 5, + "file" : 2, + "line" : 42, + "parent" : 4 + }, + { + "command" : 4, + "file" : 5, + "line" : 47, + "parent" : 18 + }, + { + "file" : 7, + "parent" : 19 + }, + { + "command" : 2, + "file" : 7, + "line" : 110, + "parent" : 20 + }, + { + "command" : 6, + "file" : 0, + "line" : 59, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g" + }, + { + "fragment" : "-std=c++17" + } + ], + "includes" : + [ + { + "backtrace" : 22, + "path" : "/home/pjh123/ouc_reminder" + }, + { + "backtrace" : 22, + "path" : "/home/pjh123/ouc_reminder/models" + }, + { + "backtrace" : 2, + "isSystem" : true, + "path" : "/usr/include/jsoncpp" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "ouc_reminder::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "/usr/local/lib/libdrogon.a", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "/usr/local/lib/libtrantor.a", + "role" : "libraries" + }, + { + "backtrace" : 13, + "fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so", + "role" : "libraries" + }, + { + "backtrace" : 13, + "fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so", + "role" : "libraries" + }, + { + "backtrace" : 13, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "-ldl", + "role" : "libraries" + }, + { + "backtrace" : 17, + "fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so", + "role" : "libraries" + }, + { + "backtrace" : 21, + "fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "ouc_reminder", + "nameOnDisk" : "ouc_reminder", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "main.cc", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/build/.cmake/api/v1/reply/target-ouc_reminder_test-Debug-8d031fd535f60c4da46d.json b/build/.cmake/api/v1/reply/target-ouc_reminder_test-Debug-8d031fd535f60c4da46d.json new file mode 100644 index 0000000..31d128f --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ouc_reminder_test-Debug-8d031fd535f60c4da46d.json @@ -0,0 +1,279 @@ +{ + "artifacts" : + [ + { + "path" : "test/ouc_reminder_test" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_libraries", + "set_target_properties", + "include", + "find_package", + "find_dependency" + ], + "files" : + [ + "test/CMakeLists.txt", + "/usr/local/lib/cmake/Drogon/DrogonTargets.cmake", + "/usr/local/lib/cmake/Drogon/DrogonConfig.cmake", + "CMakeLists.txt", + "/usr/local/lib/cmake/Trantor/TrantorTargets.cmake", + "/usr/local/lib/cmake/Trantor/TrantorConfig.cmake", + "/usr/share/cmake-3.25/Modules/CMakeFindDependencyMacro.cmake", + "/usr/local/lib/cmake/Drogon/FindJsoncpp.cmake", + "/usr/local/lib/cmake/Drogon/FindUUID.cmake" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 4, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "file" : 3 + }, + { + "command" : 4, + "file" : 3, + "line" : 31, + "parent" : 3 + }, + { + "file" : 2, + "parent" : 4 + }, + { + "command" : 3, + "file" : 2, + "line" : 79, + "parent" : 5 + }, + { + "file" : 1, + "parent" : 6 + }, + { + "command" : 2, + "file" : 1, + "line" : 61, + "parent" : 7 + }, + { + "command" : 5, + "file" : 2, + "line" : 40, + "parent" : 5 + }, + { + "command" : 4, + "file" : 6, + "line" : 47, + "parent" : 9 + }, + { + "file" : 5, + "parent" : 10 + }, + { + "command" : 3, + "file" : 5, + "line" : 57, + "parent" : 11 + }, + { + "file" : 4, + "parent" : 12 + }, + { + "command" : 2, + "file" : 4, + "line" : 61, + "parent" : 13 + }, + { + "command" : 5, + "file" : 2, + "line" : 39, + "parent" : 5 + }, + { + "command" : 4, + "file" : 6, + "line" : 47, + "parent" : 15 + }, + { + "file" : 7, + "parent" : 16 + }, + { + "command" : 2, + "file" : 7, + "line" : 67, + "parent" : 17 + }, + { + "command" : 5, + "file" : 2, + "line" : 42, + "parent" : 5 + }, + { + "command" : 4, + "file" : 6, + "line" : 47, + "parent" : 19 + }, + { + "file" : 8, + "parent" : 20 + }, + { + "command" : 2, + "file" : 8, + "line" : 110, + "parent" : 21 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g" + }, + { + "fragment" : "-std=c++17" + } + ], + "includes" : + [ + { + "backtrace" : 2, + "isSystem" : true, + "path" : "/usr/include/jsoncpp" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "ouc_reminder_test::@36f028580bb02cc8272a", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "/usr/local/lib/libdrogon.a", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "/usr/local/lib/libtrantor.a", + "role" : "libraries" + }, + { + "backtrace" : 14, + "fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so", + "role" : "libraries" + }, + { + "backtrace" : 14, + "fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so", + "role" : "libraries" + }, + { + "backtrace" : 14, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "-ldl", + "role" : "libraries" + }, + { + "backtrace" : 18, + "fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so", + "role" : "libraries" + }, + { + "backtrace" : 22, + "fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "ouc_reminder_test", + "nameOnDisk" : "ouc_reminder_test", + "paths" : + { + "build" : "test", + "source" : "test" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "test/test_main.cc", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/build/.cmake/api/v1/reply/toolchains-v1-42775fdf442bdfcd0131.json b/build/.cmake/api/v1/reply/toolchains-v1-42775fdf442bdfcd0131.json new file mode 100644 index 0000000..2a9900a --- /dev/null +++ b/build/.cmake/api/v1/reply/toolchains-v1-42775fdf442bdfcd0131.json @@ -0,0 +1,67 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/12", + "/usr/include/x86_64-linux-gnu/c++/12", + "/usr/include/c++/12/backward", + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/bin/g++", + "version" : "12.2.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "m", + "mm", + "mpp", + "CPP", + "ixx", + "cppm" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/config.json b/config.json new file mode 100644 index 0000000..a02bba1 --- /dev/null +++ b/config.json @@ -0,0 +1,350 @@ +/* This is a JSON format configuration file + */ +{ + /* + //ssl:The global SSL settings. "key" and "cert" are the path to the SSL key and certificate. While + // "conf" is an array of 1 or 2-element tuples that supplies file style options for `SSL_CONF_cmd`. + "ssl": { + "cert": "../../trantor/trantor/tests/server.crt", + "key": "../../trantor/trantor/tests/server.key", + "conf": [ + //["Options", "-SessionTicket"], + //["Options", "Compression"] + ] + }, + "listeners": [ + { + //address: Ip address,0.0.0.0 by default + "address": "0.0.0.0", + //port: Port number + "port": 80, + //https: If true, use https for security,false by default + "https": false + }, + { + "address": "0.0.0.0", + "port": 443, + "https": true, + //cert,key: Cert file path and key file path, empty by default, + //if empty, use the global setting + "cert": "", + "key": "", + //use_old_tls: enable the TLS1.0/1.1, false by default + "use_old_tls": false, + "ssl_conf": [ + //["MinProtocol", "TLSv1.3"] + ] + } + ], + "db_clients": [ + { + //name: Name of the client,'default' by default + "name": "default", + //rdbms: Server type, postgresql,mysql or sqlite3, "postgresql" by default + "rdbms": "postgresql", + //filename: Sqlite3 db file name + //"filename":"", + //host: Server address,localhost by default + "host": "127.0.0.1", + //port: Server port, 5432 by default + "port": 5432, + //dbname: Database name + "dbname": "test", + //user: 'postgres' by default + "user": "", + //passwd: '' by default + "passwd": "", + //is_fast: false by default, if it is true, the client is faster but user can't call + //any synchronous interface of it. + "is_fast": false, + //client_encoding: The character set used by the client. it is empty string by default which + //means use the default character set. + //"client_encoding": "", + //number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of + //connections per IO thread, otherwise it is the total number of all connections. + "number_of_connections": 1, + //timeout: -1.0 by default, in seconds, the timeout for executing a SQL query. + //zero or negative value means no timeout. + "timeout": -1.0, + //auto_batch: this feature is only available for the PostgreSQL driver(version >= 14.0), see + //the wiki for more details. + "auto_batch": false + //connect_options: extra options for the connection. Only works for PostgreSQL now. + //For more information, see https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-CONNECT-OPTIONS + //"connect_options": { "statement_timeout": "1s" } + } + ], + "redis_clients": [ + { + //name: Name of the client,'default' by default + "name": "default", + //host: Server IP, 127.0.0.1 by default + "host": "127.0.0.1", + //port: Server port, 6379 by default + "port": 6379, + //username: '' by default which means 'default' in redis ACL + "username": "", + //passwd: '' by default + "passwd": "", + //db index: 0 by default + "db": 0, + //is_fast: false by default, if it is true, the client is faster but user can't call + //any synchronous interface of it. + "is_fast": false, + //number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of + //connections per IO thread, otherwise it is the total number of all connections. + "number_of_connections": 1, + //timeout: -1.0 by default, in seconds, the timeout for executing a command. + //zero or negative value means no timeout. + "timeout": -1.0 + } + ],*/ + "app": { + //number_of_threads: The number of IO threads, 1 by default, if the value is set to 0, the number of threads + //is the number of CPU cores + "number_of_threads": 1, + //enable_session: False by default + "enable_session": false, + "session_timeout": 0, + //string value of SameSite attribute of the Set-Cookie HTTP response header + //valid value is either 'Null' (default), 'Lax', 'Strict' or 'None' + "session_same_site" : "Null", + //session_cookie_key: The cookie key of the session, "JSESSIONID" by default + "session_cookie_key": "JSESSIONID", + //session_max_age: The max age of the session cookie, -1 by default + "session_max_age": -1, + //document_root: Root path of HTTP document, default path is ./ + "document_root": "./", + //home_page: Set the HTML file of the home page, the default value is "index.html" + //If there isn't any handler registered to the path "/", the home page file in the "document_root" is send to clients as a response + //to the request for "/". + "home_page": "index.html", + //use_implicit_page: enable implicit pages if true, true by default + "use_implicit_page": true, + //implicit_page: Set the file which would the server access in a directory that a user accessed. + //For example, by default, http://localhost/a-directory resolves to http://localhost/a-directory/index.html. + "implicit_page": "index.html", + //static_file_headers: Headers for static files + /*"static_file_headers": [ + { + "name": "field-name", + "value": "field-value" + } + ],*/ + //upload_path: The path to save the uploaded file. "uploads" by default. + //If the path isn't prefixed with /, ./ or ../, + //it is relative path of document_root path + "upload_path": "uploads", + /* file_types: + * HTTP download file types,The file types supported by drogon + * by default are "html", "js", "css", "xml", "xsl", "txt", "svg", + * "ttf", "otf", "woff2", "woff" , "eot", "png", "jpg", "jpeg", + * "gif", "bmp", "ico", "icns", etc. */ + "file_types": [ + "gif", + "png", + "jpg", + "js", + "css", + "html", + "ico", + "swf", + "xap", + "apk", + "cur", + "xml", + "webp", + "svg" + ], + // mime: A dictionary that extends the internal MIME type support. Maps extensions into new MIME types + // note: This option only adds MIME to the sever. `file_types` above have to be set for the server to serve them. + "mime": { + // "text/markdown": "md", + // "text/gemini": ["gmi", "gemini"] + }, + //locations: An array of locations of static files for GET requests. + "locations": [ + { + //uri_prefix: The URI prefix of the location prefixed with "/", the default value is "" that disables the location. + //"uri_prefix": "/.well-known/acme-challenge/", + //default_content_type: The default content type of the static files without + //an extension. empty string by default. + "default_content_type": "text/plain", + //alias: The location in file system, if it is prefixed with "/", it + //presents an absolute path, otherwise it presents a relative path to + //the document_root path. + //The default value is "" which means use the document root path as the location base path. + "alias": "", + //is_case_sensitive: indicates whether the URI prefix is case sensitive. + "is_case_sensitive": false, + //allow_all: true by default. If it is set to false, only static files with a valid extension can be accessed. + "allow_all": true, + //is_recursive: true by default. If it is set to false, files in sub directories can't be accessed. + "is_recursive": true, + //filters: string array, the filters applied to the location. + "filters": [] + } + ], + //max_connections: maximum number of connections, 100000 by default + "max_connections": 100000, + //max_connections_per_ip: maximum number of connections per client, 0 by default which means no limit + "max_connections_per_ip": 0, + //Load_dynamic_views: False by default, when set to true, drogon + //compiles and loads dynamically "CSP View Files" in directories defined + //by "dynamic_views_path" + "load_dynamic_views": false, + //dynamic_views_path: If the path isn't prefixed with /, ./ or ../, + //it is relative path of document_root path + "dynamic_views_path": [ + "./views" + ], + //dynamic_views_output_path: Default by an empty string which means the output path of source + //files is the path where the csp files locate. If the path isn't prefixed with /, it is relative + //path of the current working directory. + "dynamic_views_output_path": "", + //json_parser_stack_limit: 1000 by default, the maximum number of stack depth when reading a json string by the jsoncpp library. + "json_parser_stack_limit": 1000, + //enable_unicode_escaping_in_json: true by default, enable unicode escaping in json. + "enable_unicode_escaping_in_json": true, + //float_precision_in_json: set precision of float number in json. + "float_precision_in_json": { + //precision: 0 by default, 0 means use the default precision of the jsoncpp lib. + "precision": 0, + //precision_type: must be "significant" or "decimal", defaults to "significant" that means + //setting max number of significant digits in string, "decimal" means setting max number of + //digits after "." in string + "precision_type": "significant" + }, + //log: Set log output, drogon output logs to stdout by default + "log": { + //use_spdlog: Use spdlog library to log + "use_spdlog": false, + //log_path: Log file path,empty by default,in which case,logs are output to the stdout + //"log_path": "./", + //logfile_base_name: Log file base name,empty by default which means drogon names logfile as + //drogon.log ... + "logfile_base_name": "", + //log_size_limit: 100000000 bytes by default, + //When the log file size reaches "log_size_limit", the log file is switched. + "log_size_limit": 100000000, + //max_files: 0 by default, + //When the number of old log files exceeds "max_files", the oldest file will be deleted. 0 means never delete. + "max_files": 0, + //log_level: "DEBUG" by default,options:"TRACE","DEBUG","INFO","WARN" + //The TRACE level is only valid when built in DEBUG mode. + "log_level": "DEBUG", + //display_local_time: false by default, if true, the log time is displayed in local time + "display_local_time": false + }, + //run_as_daemon: False by default + "run_as_daemon": false, + //handle_sig_term: True by default + "handle_sig_term": true, + //relaunch_on_error: False by default, if true, the program will be restart by the parent after exiting; + "relaunch_on_error": false, + //use_sendfile: True by default, if true, the program + //uses sendfile() system-call to send static files to clients; + "use_sendfile": true, + //use_gzip: True by default, use gzip to compress the response body's content; + "use_gzip": true, + //use_brotli: False by default, use brotli to compress the response body's content; + "use_brotli": false, + //static_files_cache_time: 5 (seconds) by default, the time in which the static file response is cached, + //0 means cache forever, the negative value means no cache + "static_files_cache_time": 5, + //simple_controllers_map: Used to configure mapping from path to simple controller + //"simple_controllers_map": [ + // { + // "path": "/path/name", + // "controller": "controllerClassName", + // "http_methods": [ + // "get", + // "post" + // ], + // "filters": [ + // "FilterClassName" + // ] + // } + //], + //idle_connection_timeout: Defaults to 60 seconds, the lifetime + //of the connection without read or write + "idle_connection_timeout": 60, + //server_header_field: Set the 'Server' header field in each response sent by drogon, + //empty string by default with which the 'Server' header field is set to "Server: drogon/version string\r\n" + "server_header_field": "", + //enable_server_header: Set true to force drogon to add a 'Server' header to each HTTP response. The default + //value is true. + "enable_server_header": true, + //enable_date_header: Set true to force drogon to add a 'Date' header to each HTTP response. The default + //value is true. + "enable_date_header": true, + //keepalive_requests: Set the maximum number of requests that can be served through one keep-alive connection. + //After the maximum number of requests are made, the connection is closed. + //The default value of 0 means no limit. + "keepalive_requests": 0, + //pipelining_requests: Set the maximum number of unhandled requests that can be cached in pipelining buffer. + //After the maximum number of requests are made, the connection is closed. + //The default value of 0 means no limit. + "pipelining_requests": 0, + //gzip_static: If it is set to true, when the client requests a static file, drogon first finds the compressed + //file with the extension ".gz" in the same path and send the compressed file to the client. + //The default value of gzip_static is true. + "gzip_static": true, + //br_static: If it is set to true, when the client requests a static file, drogon first finds the compressed + //file with the extension ".br" in the same path and send the compressed file to the client. + //The default value of br_static is true. + "br_static": true, + //client_max_body_size: Set the maximum body size of HTTP requests received by drogon. The default value is "1M". + //One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit. + "client_max_body_size": "1M", + //max_memory_body_size: Set the maximum body size in memory of HTTP requests received by drogon. The default value is "64K" bytes. + //If the body size of a HTTP request exceeds this limit, the body is stored to a temporary file for processing. + //Setting it to "" means no limit. + "client_max_memory_body_size": "64K", + //client_max_websocket_message_size: Set the maximum size of messages sent by WebSocket client. The default value is "128K". + //One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit. + "client_max_websocket_message_size": "128K", + //reuse_port: Defaults to false, users can run multiple processes listening on the same port at the same time. + "reuse_port": false, + // enabled_compressed_request: Defaults to false. If true the server will automatically decompress compressed request bodies. + // Currently only gzip and br are supported. Note: max_memory_body_size and max_body_size applies twice for compressed requests. + // Once when receiving and once when decompressing. i.e. if the decompressed body is larger than max_body_size, the request + // will be rejected. + "enabled_compressed_request": false, + // enable_request_stream: Defaults to false. If true the server will enable stream mode for http requests. + // See the wiki for more details. + "enable_request_stream": false, + }, + //plugins: Define all plugins running in the application + "plugins": [ + { + //name: The class name of the plugin + "name": "drogon::plugin::PromExporter", + //dependencies: Plugins that the plugin depends on. It can be commented out + "dependencies": [], + //config: The configuration of the plugin. This json object is the parameter to initialize the plugin. + //It can be commented out + "config": { + "path": "/metrics" + } + }, + { + "name": "drogon::plugin::AccessLogger", + "dependencies": [], + "config": { + "use_spdlog": false, + "log_path": "", + "log_format": "", + "log_file": "access.log", + "log_size_limit": 0, + "use_local_time": true, + "log_index": 0, + // "show_microseconds": true, + // "custom_time_format": "", + // "use_real_ip": false + } + } + ], + //custom_config: custom configuration for users. This object can be get by the app().getCustomConfig() method. + "custom_config": {} +} diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..d83304b --- /dev/null +++ b/config.yaml @@ -0,0 +1,313 @@ +# This is a YAML format configuration file + +# ssl:The global SSL settings. "key" and "cert" are the path to the SSL key and certificate. While +# "conf" is an array of 1 or 2-element tuples that supplies file style options for `SSL_CONF_cmd`. +# ssl: +# cert: ../../trantor/trantor/tests/server.crt +# key: ../../trantor/trantor/tests/server.key +# conf: [ +# # [Options, -SessionTicket], +# # [Options, Compression] +# ] +# listeners: +# # address: Ip address,0.0.0.0 by default +# - address: 0.0.0.0 +# # port: Port number +# port: 80 +# # https: If true, use https for security,false by default +# https: false +# - address: 0.0.0.0 +# port: 443 +# https: true +# # cert,key: Cert file path and key file path, empty by default, +# # if empty, use the global setting +# cert: '' +# key: '' +# # use_old_tls: enable the TLS1.0/1.1, false by default +# use_old_tls: false +# ssl_conf: [ +# # [MinProtocol, TLSv1.3] +# ] +# db_clients: +# # name: Name of the client,'default' by default +# - name: default +# # rdbms: Server type, postgresql,mysql or sqlite3, "postgresql" by default +# rdbms: postgresql +# # filename: Sqlite3 db file name +# # filename: '' +# # host: Server address,localhost by default +# host: 127.0.0.1 +# # port: Server port, 5432 by default +# port: 5432 +# # dbname: Database name +# dbname: test +# # user: 'postgres' by default +# user: '' +# # passwd: '' by default +# passwd: '' +# # is_fast: false by default, if it is true, the client is faster but user can't call +# # any synchronous interface of it. +# is_fast: false +# # client_encoding: The character set used by the client. it is empty string by default which +# # means use the default character set. +# # client_encoding: '' +# # number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of +# # connections per IO thread, otherwise it is the total number of all connections. +# number_of_connections: 1 +# # timeout: -1 by default, in seconds, the timeout for executing a SQL query. +# # zero or negative value means no timeout. +# timeout: -1 +# # auto_batch: this feature is only available for the PostgreSQL driver(version >= 14.0), see +# # the wiki for more details. +# auto_batch: false +# # connect_options: extra options for the connection. Only works for PostgreSQL now. +# # For more information, see https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-CONNECT-OPTIONS +# # connect_options: +# # statement_timeout: '1s' +# redis_clients: +# # name: Name of the client,'default' by default +# - name: default +# # host: Server IP, 127.0.0.1 by default +# host: 127.0.0.1 +# # port: Server port, 6379 by default +# port: 6379 +# # username: '' by default which means 'default' in redis ACL +# username: '' +# # passwd: '' by default +# passwd: '' +# # db index: 0 by default +# db: 0 +# # is_fast: false by default, if it is true, the client is faster but user can't call +# # any synchronous interface of it. +# is_fast: false +# # number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of +# # connections per IO thread, otherwise it is the total number of all connections. +# number_of_connections: 1 +# # timeout: -1.0 by default, in seconds, the timeout for executing a command. +# # zero or negative value means no timeout. +# timeout: -1 +app: + # number_of_threads: The number of IO threads, 1 by default, if the value is set to 0, the number of threads + # is the number of CPU cores + number_of_threads: 1 + # enable_session: False by default + enable_session: false + session_timeout: 0 + # string value of SameSite attribute of the Set-Cookie HTTP response header + # valid value is either 'Null' (default), 'Lax', 'Strict' or 'None' + session_same_site: 'Null' + # session_cookie_key: The cookie key of the session, "JSESSIONID" by default + session_cookie_key: 'JSESSIONID' + # session_max_age: The max age of the session cookie, -1 by default + session_max_age: -1 + # document_root: Root path of HTTP document, default path is ./ + document_root: ./ + # home_page: Set the HTML file of the home page, the default value is "index.html" + # If there isn't any handler registered to the path "/", the home page file in the "document_root" is send to clients as a response + # to the request for "/". + home_page: index.html + # use_implicit_page: enable implicit pages if true, true by default + use_implicit_page: true + # implicit_page: Set the file which would the server access in a directory that a user accessed. + # For example, by default, http://localhost/a-directory resolves to http://localhost/a-directory/index.html. + implicit_page: index.html + # static_file_headers: Headers for static files + # static_file_headers: + # - name: field-name + # value: field-value + # upload_path: The path to save the uploaded file. "uploads" by default. + # If the path isn't prefixed with /, ./ or ../, + # it is relative path of document_root path + upload_path: uploads + # file_types: + # HTTP download file types,The file types supported by drogon + # by default are "html", "js", "css", "xml", "xsl", "txt", "svg", + # "ttf", "otf", "woff2", "woff" , "eot", "png", "jpg", "jpeg", + # "gif", "bmp", "ico", "icns", etc. + file_types: + - gif + - png + - jpg + - js + - css + - html + - ico + - swf + - xap + - apk + - cur + - xml + # mime: A dictionary that extends the internal MIME type support. Maps extensions into new MIME types + # note: This option only adds MIME to the sever. `file_types` above have to be set for the server to serve them. + mime: { + # text/markdown: md + # text/gemini: + # - gmi + # - gemini + } + # locations: An array of locations of static files for GET requests. + locations: + # uri_prefix: The URI prefix of the location prefixed with "/", the default value is "" that disables the location. + - uri_prefix: '' # /.well-known/acme-challenge/ + # default_content_type: The default content type of the static files without + # an extension. empty string by default. + default_content_type: text/plain + # alias: The location in file system, if it is prefixed with "/", it + # presents an absolute path, otherwise it presents a relative path to + # the document_root path. + # The default value is "" which means use the document root path as the location base path. + alias: '' + # is_case_sensitive: indicates whether the URI prefix is case sensitive. + is_case_sensitive: false + # allow_all: true by default. If it is set to false, only static files with a valid extension can be accessed. + allow_all: true + # is_recursive: true by default. If it is set to false, files in sub directories can't be accessed. + is_recursive: true + # filters: string array, the filters applied to the location. + filters: [] + # max_connections: maximum number of connections, 100000 by default + max_connections: 100000 + # max_connections_per_ip: maximum number of connections per client, 0 by default which means no limit + max_connections_per_ip: 0 + # Load_dynamic_views: False by default, when set to true, drogon + # compiles and loads dynamically "CSP View Files" in directories defined + # by "dynamic_views_path" + load_dynamic_views: false + # dynamic_views_path: If the path isn't prefixed with /, ./ or ../, + # it is relative path of document_root path + dynamic_views_path: + - ./views + # dynamic_views_output_path: Default by an empty string which means the output path of source + # files is the path where the csp files locate. If the path isn't prefixed with /, it is relative + # path of the current working directory. + dynamic_views_output_path: '' + # json_parser_stack_limit: 1000 by default, the maximum number of stack depth when reading a json string by the jsoncpp library. + json_parser_stack_limit: 1000 + # enable_unicode_escaping_in_json: true by default, enable unicode escaping in json. + enable_unicode_escaping_in_json: true + # float_precision_in_json: set precision of float number in json. + float_precision_in_json: + # precision: 0 by default, 0 means use the default precision of the jsoncpp lib. + precision: 0 + # precision_type: must be "significant" or "decimal", defaults to "significant" that means + # setting max number of significant digits in string, "decimal" means setting max number of + # digits after "." in string + precision_type: significant + # log: Set log output, drogon output logs to stdout by default + log: + # use_spdlog: Use spdlog library to log + use_spdlog: false + # log_path: Log file path,empty by default,in which case,logs are output to the stdout + # log_path: ./ + # logfile_base_name: Log file base name,empty by default which means drogon names logfile as + # drogon.log ... + logfile_base_name: '' + # log_size_limit: 100000000 bytes by default, + # When the log file size reaches "log_size_limit", the log file is switched. + log_size_limit: 100000000 + # max_files: 0 by default, + # When the number of old log files exceeds "max_files", the oldest file will be deleted. 0 means never delete. + max_files: 0 + # log_level: "DEBUG" by default,options:"TRACE","DEBUG","INFO","WARN" + # The TRACE level is only valid when built in DEBUG mode. + log_level: DEBUG + # display_local_time: false by default, if true, the log time is displayed in local time + display_local_time: false + # run_as_daemon: False by default + run_as_daemon: false + # handle_sig_term: True by default + handle_sig_term: true + # relaunch_on_error: False by default, if true, the program will be restart by the parent after exiting; + relaunch_on_error: false + # use_sendfile: True by default, if true, the program + # uses sendfile() system-call to send static files to clients; + use_sendfile: true + # use_gzip: True by default, use gzip to compress the response body's content; + use_gzip: true + # use_brotli: False by default, use brotli to compress the response body's content; + use_brotli: false + # static_files_cache_time: 5 (seconds) by default, the time in which the static file response is cached, + # 0 means cache forever, the negative value means no cache + static_files_cache_time: 5 + # simple_controllers_map: Used to configure mapping from path to simple controller + # simple_controllers_map: + # - path: /path/name + # controller: controllerClassName + # http_methods: + # - get + # - post + # filters: + # - FilterClassName + # idle_connection_timeout: Defaults to 60 seconds, the lifetime + # of the connection without read or write + idle_connection_timeout: 60 + # server_header_field: Set the 'Server' header field in each response sent by drogon, + # empty string by default with which the 'Server' header field is set to "Server: drogon/version string\r\n" + server_header_field: '' + # enable_server_header: Set true to force drogon to add a 'Server' header to each HTTP response. The default + # value is true. + enable_server_header: true + # enable_date_header: Set true to force drogon to add a 'Date' header to each HTTP response. The default + # value is true. + enable_date_header: true + # keepalive_requests: Set the maximum number of requests that can be served through one keep-alive connection. + # After the maximum number of requests are made, the connection is closed. + # The default value of 0 means no limit. + keepalive_requests: 0 + # pipelining_requests: Set the maximum number of unhandled requests that can be cached in pipelining buffer. + # After the maximum number of requests are made, the connection is closed. + # The default value of 0 means no limit. + pipelining_requests: 0 + # gzip_static: If it is set to true, when the client requests a static file, drogon first finds the compressed + # file with the extension ".gz" in the same path and send the compressed file to the client. + # The default value of gzip_static is true. + gzip_static: true + # br_static: If it is set to true, when the client requests a static file, drogon first finds the compressed + # file with the extension ".br" in the same path and send the compressed file to the client. + # The default value of br_static is true. + br_static: true + # client_max_body_size: Set the maximum body size of HTTP requests received by drogon. The default value is "1M". + # One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit. + client_max_body_size: 1M + # max_memory_body_size: Set the maximum body size in memory of HTTP requests received by drogon. The default value is "64K" bytes. + # If the body size of a HTTP request exceeds this limit, the body is stored to a temporary file for processing. + # Setting it to "" means no limit. + client_max_memory_body_size: 64K + # client_max_websocket_message_size: Set the maximum size of messages sent by WebSocket client. The default value is "128K". + # One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit. + client_max_websocket_message_size: 128K + # reuse_port: Defaults to false, users can run multiple processes listening on the same port at the same time. + reuse_port: false + # enabled_compressed_request: Defaults to false. If true the server will automatically decompress compressed request bodies. + # Currently only gzip and br are supported. Note: max_memory_body_size and max_body_size applies twice for compressed requests. + # Once when receiving and once when decompressing. i.e. if the decompressed body is larger than max_body_size, the request + # will be rejected. + enabled_compressed_request: false + # enable_request_stream: Defaults to false. If true the server will enable stream mode for http requests. + # See the wiki for more details. + enable_request_stream: false +# plugins: Define all plugins running in the application +plugins: + # name: The class name of the plugin + - name: drogon::plugin::PromExporter + # dependencies: Plugins that the plugin depends on. It can be commented out + dependencies: [] + # config: The configuration of the plugin. This json object is the parameter to initialize the plugin. + # It can be commented out + config: + path: /metrics + - name: drogon::plugin::AccessLogger + dependencies: [] + config: + use_spdlog: false + log_path: '' + log_format: '' + log_file: access.log + log_size_limit: 0 + use_local_time: true + log_index: 0 + # show_microseconds: true + # custom_time_format: '' + # use_real_ip: false +# custom_config: custom configuration for users. This object can be get by the app().getCustomConfig() method. +custom_config: {} diff --git a/main.cc b/main.cc new file mode 100644 index 0000000..97c7ddb --- /dev/null +++ b/main.cc @@ -0,0 +1,11 @@ +#include +int main() { + //Set HTTP listener address and port + drogon::app().addListener("0.0.0.0", 5555); + //Load config file + //drogon::app().loadConfigFile("../config.json"); + //drogon::app().loadConfigFile("../config.yaml"); + //Run HTTP framework,the method will block in the internal event loop + drogon::app().run(); + return 0; +} diff --git a/models/model.json b/models/model.json new file mode 100644 index 0000000..c5045ae --- /dev/null +++ b/models/model.json @@ -0,0 +1,104 @@ +{ + //rdbms: server type, postgresql,mysql or sqlite3 + "rdbms": "postgresql", + //filename: sqlite3 db file name + //"filename":"", + //host: server address,localhost by default; + "host": "127.0.0.1", + //port: server port, 5432 by default; + "port": 5432, + //dbname: Database name; + "dbname": "", + //schema: valid for postgreSQL, "public" by default; + "schema": "public", + //user: User name + "user": "", + //password or passwd: Password + "password": "", + //client_encoding: The character set used by drogon_ctl. it is empty string by default which + //means use the default character set. + //"client_encoding": "", + //table: An array of tables to be modelized. if the array is empty, all revealed tables are modelized. + "tables": [], + //convert: the value can be changed by a function call before it is stored into database or + //after it is read from database + "convert": { + "enabled": false, + "items":[{ + "table": "user", + "column": "password", + "method": { + //after_db_read: name of the method which is called after reading from database, signature: void([const] std::shared_ptr [&]) + "after_db_read": "decrypt_password", + //before_db_write: name of the method which is called before writing to database, signature: void([const] std::shared_ptr [&]) + "before_db_write": "encrypt_password" + }, + "includes": [ + "\"file_local_search_path.h\"","" + ] + }] + }, + "relationships": { + "enabled": false, + "items": [{ + "type": "has one", + "original_table_name": "products", + "original_table_alias": "product", + "original_key": "id", + "target_table_name": "skus", + "target_table_alias": "SKU", + "target_key": "product_id", + "enable_reverse": true + }, + { + "type": "has many", + "original_table_name": "products", + "original_table_alias": "product", + "original_key": "id", + "target_table_name": "reviews", + "target_table_alias": "", + "target_key": "product_id", + "enable_reverse": true + }, + { + "type": "many to many", + "original_table_name": "products", + "original_table_alias": "", + "original_key": "id", + "pivot_table": { + "table_name": "carts_products", + "original_key": "product_id", + "target_key": "cart_id" + }, + "target_table_name": "carts", + "target_table_alias": "", + "target_key": "id", + "enable_reverse": true + } + ] + }, + "restful_api_controllers": { + "enabled": false, + // resource_uri: The URI to access the resource, the default value + // is '/*' in which the asterisk represents the table name. + // If this option is set to a empty string, the URI is composed of the namespaces and the class name. + "resource_uri": "/*", + // class_name: "Restful*Ctrl" by default, the asterisk represents the table name. + // This option can contain namespaces. + "class_name": "Restful*Ctrl", + // filters: an array of filter names. + "filters": [], + // db_client: the database client used by the controller. this option must be consistent with + // the configuration of the application. + "db_client": { + //name: Name of the client,'default' by default + "name": "default", + //is_fast: + "is_fast": false + }, + // directory: The directory where the controller source files are stored. + "directory": "controllers", + // generate_base_only: false by default. Set to true to avoid overwriting custom subclasses. + "generate_base_only": false + } +} diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..00a1800 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.5) +project(ouc_reminder_test CXX) + +add_executable(${PROJECT_NAME} test_main.cc) + +# ############################################################################## +# If you include the drogon source code locally in your project, use this method +# to add drogon +# target_link_libraries(${PROJECT_NAME} PRIVATE drogon) +# +# and comment out the following lines +target_link_libraries(${PROJECT_NAME} PRIVATE Drogon::Drogon) + +ParseAndAddDrogonTests(${PROJECT_NAME}) diff --git a/test/test_main.cc b/test/test_main.cc new file mode 100644 index 0000000..7370b29 --- /dev/null +++ b/test/test_main.cc @@ -0,0 +1,32 @@ +#define DROGON_TEST_MAIN +#include +#include + +DROGON_TEST(BasicTest) +{ + // Add your tests here +} + +int main(int argc, char** argv) +{ + using namespace drogon; + + std::promise p1; + std::future f1 = p1.get_future(); + + // Start the main loop on another thread + std::thread thr([&]() { + // Queues the promise to be fulfilled after starting the loop + app().getLoop()->queueInLoop([&p1]() { p1.set_value(); }); + app().run(); + }); + + // The future is only satisfied after the event loop started + f1.get(); + int status = test::run(argc, argv); + + // Ask the event loop to shutdown and wait + app().getLoop()->queueInLoop([]() { app().quit(); }); + thr.join(); + return status; +}