This commit is contained in:
wangjiyu 2025-04-07 11:31:21 +08:00
commit f6a9d677cd
881 changed files with 139384 additions and 0 deletions

875
CMakeLists.txt Executable file
View File

@ -0,0 +1,875 @@
cmake_minimum_required(VERSION 3.5)
project(drogon)
message(STATUS "compiler: " ${CMAKE_CXX_COMPILER_ID})
# If your cross compile is failing, you should set
# CMAKE_SYSTEM_NAME in your toolchain file
if (NOT CMAKE_CROSSCOMPILING)
set(BUILD_PROGRAMS ON)
else ()
set(BUILD_PROGRAMS OFF)
endif ()
option(BUILD_CTL "Build drogon_ctl" ${BUILD_PROGRAMS})
#option(BUILD_EXAMPLES "Build examples" ${BUILD_PROGRAMS})
option(BUILD_SRC "Build src" ${BUILD_PROGRAMS})
option(BUILD_ORM "Build orm" ON)
option(COZ_PROFILING "Use coz for profiling" OFF)
option(BUILD_SHARED_LIBS "Build drogon as a shared lib" OFF)
option(BUILD_DOC "Build Doxygen documentation" OFF)
option(BUILD_BROTLI "Build Brotli" ON)
option(BUILD_YAML_CONFIG "Build yaml config" ON)
option(USE_SUBMODULE "Use trantor as a submodule" ON)
include(CMakeDependentOption)
CMAKE_DEPENDENT_OPTION(BUILD_POSTGRESQL "Build with postgresql support" ON "BUILD_ORM" OFF)
CMAKE_DEPENDENT_OPTION(LIBPQ_BATCH_MODE "Use batch mode for libpq" ON "BUILD_POSTGRESQL" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_MYSQL "Build with mysql support" ON "BUILD_ORM" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_SQLITE "Build with sqlite3 support" ON "BUILD_ORM" OFF)
CMAKE_DEPENDENT_OPTION(BUILD_REDIS "Build with redis support" ON "BUILD_ORM" OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
set(DROGON_MAJOR_VERSION 1)
set(DROGON_MINOR_VERSION 8)
set(DROGON_PATCH_VERSION 4)
set(DROGON_VERSION
${DROGON_MAJOR_VERSION}.${DROGON_MINOR_VERSION}.${DROGON_PATCH_VERSION})
set(DROGON_VERSION_STRING "${DROGON_VERSION}")
include(GNUInstallDirs)
# Offer the user the choice of overriding the installation directories
set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries")
set(INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Installation directory for executables")
set(INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Installation directory for header files")
set(DEF_INSTALL_DROGON_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/Drogon)
set(INSTALL_DROGON_CMAKE_DIR ${DEF_INSTALL_DROGON_CMAKE_DIR}
CACHE PATH "Installation directory for cmake files")
if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
# Force MSVC to use UTF-8 because that's what we use. Otherwise it uses
# the default of whatever Windows sets and causes encoding issues.
message(STATUS "You are using MSVC. Forceing to use UTF-8")
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
endif ()
add_library(${PROJECT_NAME}
src/rtc/rtc.cc
src/rtc_send/rtcSend.cc
src/websocket_client/WebSocketClient.cc
src/websocket_server/WebSocketServer.cc
src/websocket2rtc/WebSocket2RTC.cc
src/file2rtc/File2RTC.cc
src/file2websocket/File2WebSocket.cc
)
if (BUILD_SHARED_LIBS)
find_package(Threads)
# set(BUILD_EXAMPLES FALSE)
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
"${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}" isSystemDir)
if ("${isSystemDir}" STREQUAL "-1")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR}")
endif ("${isSystemDir}" STREQUAL "-1")
set_target_properties(${PROJECT_NAME} PROPERTIES
VERSION ${DROGON_VERSION}
SOVERSION ${DROGON_MAJOR_VERSION})
target_link_libraries(${PROJECT_NAME} PUBLIC Threads::Threads)
if (WIN32)
target_link_libraries(${PROJECT_NAME} PUBLIC Rpcrt4 ws2_32 crypt32 Advapi32)
if (CMAKE_CXX_COMPILER_ID MATCHES MSVC)
# Ignore MSVC C4251 and C4275 warning of exporting std objects with no dll export
# We export class to facilitate maintenance, thus if you compile
# drogon on windows as a shared library, you will need to use
# exact same compiler for drogon and your app.
target_compile_options(${PROJECT_NAME} PUBLIC /wd4251 /wd4275)
endif ()
endif ()
endif (BUILD_SHARED_LIBS)
if (NOT ${CMAKE_PLATFORM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES GNU)
target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror)
endif ()
include(GenerateExportHeader)
generate_export_header(${PROJECT_NAME} EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/exports/drogon/exports.h)
include(cmake/DrogonUtilities.cmake)
include(cmake/ParseAndAddDrogonTests.cmake)
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)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (NOT "${CMAKE_CXX_STANDARD}" STREQUAL "")
set(DROGON_CXX_STANDARD ${CMAKE_CXX_STANDARD})
elseif (HAS_ANY AND HAS_STRING_VIEW AND HAS_COROUTINE)
set(DROGON_CXX_STANDARD 20)
elseif (HAS_ANY AND HAS_STRING_VIEW)
set(DROGON_CXX_STANDARD 17)
else ()
set(DROGON_CXX_STANDARD 14)
endif ()
if(USE_SUBMODULE)
target_include_directories(
${PROJECT_NAME}
PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/trantor>)
endif()
target_include_directories(
${PROJECT_NAME}
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lib/inc>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/orm_lib/inc>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/nosql_lib/redis/inc>
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/exports>
$<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>)
if (WIN32)
target_include_directories(
${PROJECT_NAME}
PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/third_party/mman-win32>)
endif (WIN32)
if(USE_SUBMODULE)
add_subdirectory(trantor)
target_link_libraries(${PROJECT_NAME} PUBLIC trantor)
else()
find_package(Trantor CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC Trantor::Trantor)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
target_link_libraries(${PROJECT_NAME} PRIVATE network)
elseif (NOT WIN32 AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
target_link_libraries(${PROJECT_NAME} PRIVATE dl)
elseif (WIN32)
target_link_libraries(${PROJECT_NAME} PRIVATE shlwapi)
endif ()
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules/)
find_package(Filesystem COMPONENTS Final)
if(CXX_FILESYSTEM_HAVE_FS)
message(STATUS "Found std::filesystem")
endif()
# Check for C++ filesystem support
set(NEED_BOOST_FS 0)
if (DROGON_CXX_STANDARD EQUAL 14)
# With C++14, use Boost to support any and string_view
message(STATUS "use c++14")
find_package(Boost 1.61.0 REQUIRED)
message(STATUS "Using Boost filesystem, string_view and any")
message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::boost)
list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${Boost_INCLUDE_DIR})
set(NEED_BOOST_FS 1)
elseif (DROGON_CXX_STANDARD EQUAL 17)
# With C++17, use Boost if std::filesystem::path is missing
message(STATUS "use c++17")
# Check for partial implementation of c++17 (Windows/OSX only?)
if (CXX_FILESYSTEM_HAVE_FS)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
try_compile(check_filesystem_path ${CMAKE_BINARY_DIR}/cmaketest
${PROJECT_SOURCE_DIR}/cmake/tests/check_has_std_filesystem_path.cc
CXX_STANDARD 17)
set(CMAKE_TRY_COMPILE_TARGET_TYPE)
if (NOT check_filesystem_path)
message(STATUS "The std::filesystem seems to be a partial implementation"
" Falling back to boost::filesystem")
set(NEED_BOOST_FS 1)
endif()
else()
set(NEED_BOOST_FS 1)
endif()
else ()
message(STATUS "use c++20")
endif ()
# Workaround: 2021-08-09 Android NDK does not provide proper std::filesystem
# support. Force boost::filesystem instead.
if (${CMAKE_SYSTEM_NAME} STREQUAL "Android")
message(STATUS "WORKAROUND: Forcing boost::filesystem on Android")
set(NEED_BOOST_FS 1)
endif ()
if(NEED_BOOST_FS)
find_package(Boost 1.49.0 COMPONENTS filesystem system REQUIRED)
message(STATUS "Using Boost filesytem::path")
message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIR})
include_directories(${BOOST_INCLUDE_DIRS})
message(STATUS "Boost libraries: " ${Boost_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::filesystem Boost::system)
list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${Boost_INCLUDE_DIR})
option(HAS_STD_FILESYSTEM_PATH "use boost::filesystem" OFF)
else()
option(HAS_STD_FILESYSTEM_PATH "use std::filesystem" ON)
# HACK: Needed to be compiled on Yocto Linux
if(TARGET std::filesystem)
get_property(CAN_LINK_FS TARGET std::filesystem PROPERTY INTERFACE_LINK_LIBRARIES SET)
if ( CAN_LINK_FS )
target_link_libraries(${PROJECT_NAME} PUBLIC std::filesystem)
endif()
endif()
endif()
# jsoncpp
find_package(Jsoncpp REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC Jsoncpp_lib)
list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${JSONCPP_INCLUDE_DIRS})
# yamlcpp
if(BUILD_YAML_CONFIG)
find_package(yaml-cpp QUIET)
if(yaml-cpp_FOUND)
message(STATUS "yaml-cpp found")
target_link_libraries(${PROJECT_NAME} PUBLIC ${YAML_CPP_LIBRARIES})
target_compile_definitions(${PROJECT_NAME} PUBLIC HAS_YAML_CPP)
else()
message(STATUS "yaml-cpp not used")
endif(yaml-cpp_FOUND)
else()
message(STATUS "yaml-cpp not used")
endif(BUILD_YAML_CONFIG)
if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD"
AND NOT WIN32)
find_package(UUID REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE UUID_lib)
try_compile(normal_uuid ${CMAKE_BINARY_DIR}/cmaketest
${PROJECT_SOURCE_DIR}/cmake/tests/normal_uuid_lib_test.cc
LINK_LIBRARIES UUID_lib)
try_compile(ossp_uuid ${CMAKE_BINARY_DIR}/cmaketest
${PROJECT_SOURCE_DIR}/cmake/tests/ossp_uuid_lib_test.cc
LINK_LIBRARIES UUID_lib)
if (normal_uuid)
add_definitions(-DUSE_OSSP_UUID=0)
elseif (ossp_uuid)
add_definitions(-DUSE_OSSP_UUID=1)
else ()
message(FATAL_ERROR "uuid lib error")
endif ()
endif (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD"
AND NOT WIN32)
if (BUILD_BROTLI)
find_package(Brotli)
if (Brotli_FOUND)
message(STATUS "Brotli found")
add_definitions(-DUSE_BROTLI)
target_link_libraries(${PROJECT_NAME} PRIVATE Brotli_lib)
endif (Brotli_FOUND)
endif (BUILD_BROTLI)
set(DROGON_SOURCES
lib/src/AOPAdvice.cc
lib/src/CacheFile.cc
lib/src/ConfigLoader.cc
lib/src/Cookie.cc
lib/src/DrClassMap.cc
lib/src/DrTemplateBase.cc
lib/src/FiltersFunction.cc
lib/src/HttpAppFrameworkImpl.cc
lib/src/HttpBinder.cc
lib/src/HttpClientImpl.cc
lib/src/HttpControllersRouter.cc
lib/src/HttpFileImpl.cc
lib/src/HttpFileUploadRequest.cc
lib/src/HttpRequestImpl.cc
lib/src/HttpRequestParser.cc
lib/src/HttpResponseImpl.cc
lib/src/HttpResponseParser.cc
lib/src/HttpServer.cc
lib/src/HttpSimpleControllersRouter.cc
lib/src/HttpUtils.cc
lib/src/HttpViewData.cc
lib/src/IntranetIpFilter.cc
lib/src/ListenerManager.cc
lib/src/LocalHostFilter.cc
lib/src/MultiPart.cc
lib/src/NotFound.cc
lib/src/PluginsManager.cc
lib/src/RangeParser.cc
lib/src/SecureSSLRedirector.cc
lib/src/AccessLogger.cc
lib/src/RealIpResolver.cc
lib/src/SessionManager.cc
lib/src/StaticFileRouter.cc
lib/src/TaskTimeoutFlag.cc
lib/src/Utilities.cc
lib/src/WebSocketClientImpl.cc
lib/src/WebSocketConnectionImpl.cc
lib/src/WebsocketControllersRouter.cc
lib/src/RateLimiter.cc
lib/src/FixedWindowRateLimiter.cc
lib/src/SlidingWindowRateLimiter.cc
lib/src/TokenBucketRateLimiter.cc
lib/src/Hodor.cc
lib/src/drogon_test.cc
lib/src/ConfigAdapterManager.cc
lib/src/JsonConfigAdapter.cc
lib/src/YamlConfigAdapter.cc)
set(private_headers
lib/src/AOPAdvice.h
lib/src/CacheFile.h
lib/src/ConfigLoader.h
lib/src/filesystem.h
lib/src/FiltersFunction.h
lib/src/HttpAppFrameworkImpl.h
lib/src/HttpClientImpl.h
lib/src/HttpControllersRouter.h
lib/src/HttpFileImpl.h
lib/src/HttpFileUploadRequest.h
lib/src/HttpMessageBody.h
lib/src/HttpRequestImpl.h
lib/src/HttpRequestParser.h
lib/src/HttpResponseImpl.h
lib/src/HttpResponseParser.h
lib/src/HttpServer.h
lib/src/HttpSimpleControllersRouter.h
lib/src/HttpUtils.h
lib/src/impl_forwards.h
lib/src/ListenerManager.h
lib/src/PluginsManager.h
lib/src/SessionManager.h
lib/src/SpinLock.h
lib/src/StaticFileRouter.h
lib/src/TaskTimeoutFlag.h
lib/src/WebSocketClientImpl.h
lib/src/WebSocketConnectionImpl.h
lib/src/WebsocketControllersRouter.h
lib/src/FixedWindowRateLimiter.h
lib/src/SlidingWindowRateLimiter.h
lib/src/TokenBucketRateLimiter.h
lib/src/ConfigAdapterManager.h
lib/src/JsonConfigAdapter.h
lib/src/YamlConfigAdapter.h
lib/src/ConfigAdapter.h)
if (NOT WIN32)
set(DROGON_SOURCES
${DROGON_SOURCES}
lib/src/SharedLibManager.cc)
set(private_headers
${private_headers}
lib/src/SharedLibManager.h)
else (NOT WIN32)
set(DROGON_SOURCES
${DROGON_SOURCES}
third_party/mman-win32/mman.c)
set(private_headers
${private_headers}
third_party/mman-win32/mman.h)
endif (NOT WIN32)
include_directories(${PROJECT_SOURCE_DIR}/third_party/rtc/include)
if (BUILD_POSTGRESQL)
# find postgres
find_package(pg)
if (pg_FOUND)
message(STATUS "libpq inc path:" ${PG_INCLUDE_DIRS})
message(STATUS "libpq lib:" ${PG_LIBRARIES})
target_link_libraries(${PROJECT_NAME} PRIVATE pg_lib)
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/postgresql_impl/PostgreSQLResultImpl.cc
orm_lib/src/postgresql_impl/PgListener.cc)
set(private_headers
${private_headers}
orm_lib/src/postgresql_impl/PostgreSQLResultImpl.h
orm_lib/src/postgresql_impl/PgListener.h)
if (LIBPQ_BATCH_MODE)
try_compile(libpq_supports_batch ${CMAKE_BINARY_DIR}/cmaketest
${PROJECT_SOURCE_DIR}/cmake/tests/test_libpq_batch_mode.cc
LINK_LIBRARIES ${PostgreSQL_LIBRARIES}
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${PostgreSQL_INCLUDE_DIR}")
endif (LIBPQ_BATCH_MODE)
if (libpq_supports_batch)
message(STATUS "The libpq supports batch mode")
option(LIBPQ_SUPPORTS_BATCH_MODE "libpq batch mode" ON)
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/postgresql_impl/PgBatchConnection.cc)
else (libpq_supports_batch)
option(LIBPQ_SUPPORTS_BATCH_MODE "libpq batch mode" OFF)
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/postgresql_impl/PgConnection.cc)
set(private_headers
${private_headers}
orm_lib/src/postgresql_impl/PgConnection.h)
endif (libpq_supports_batch)
endif (pg_FOUND)
endif (BUILD_POSTGRESQL)
if (BUILD_MYSQL)
# Find mysql, only mariadb client library is supported
find_package(MySQL QUIET)
find_package(unofficial-libmariadb QUIET)
if (MySQL_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE MySQL_lib)
set(DROGON_FOUND_MYSQL TRUE)
set(MYSQL_LIB_NAME MySQL_lib)
elseif (unofficial-libmariadb_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::libmariadb)
set(DROGON_FOUND_MYSQL TRUE)
set(MYSQL_LIB_NAME unofficial::libmariadb)
endif ()
if (DROGON_FOUND_MYSQL)
message(STATUS "Ok! We find mariadb!")
include(CheckLibraryExists)
check_library_exists(${MYSQL_LIB_NAME} mysql_optionsv "" HAS_MYSQL_OPTIONSV)
if (HAS_MYSQL_OPTIONSV)
message(STATUS "Mariadb support mysql_optionsv")
add_definitions(-DHAS_MYSQL_OPTIONSV)
endif(HAS_MYSQL_OPTIONSV)
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/mysql_impl/MysqlConnection.cc
orm_lib/src/mysql_impl/MysqlResultImpl.cc)
set(private_headers
${private_headers}
orm_lib/src/mysql_impl/MysqlConnection.h
orm_lib/src/mysql_impl/MysqlResultImpl.h)
else (DROGON_FOUND_MYSQL)
message(STATUS "MySql was not found.")
endif (DROGON_FOUND_MYSQL)
endif (BUILD_MYSQL)
if (BUILD_SQLITE)
# Find sqlite3.
find_package(SQLite3 QUIET)
find_package(unofficial-sqlite3 QUIET)
if (SQLite3_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib)
set(DROGON_FOUND_SQLite3 TRUE)
elseif (unofficial-sqlite3_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3)
set(DROGON_FOUND_SQLite3 TRUE)
endif ()
if (DROGON_FOUND_SQLite3)
message(STATUS "Ok! We find sqlite3!")
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/sqlite3_impl/Sqlite3Connection.cc
orm_lib/src/sqlite3_impl/Sqlite3ResultImpl.cc)
set(private_headers
${private_headers}
orm_lib/src/sqlite3_impl/Sqlite3Connection.h
orm_lib/src/sqlite3_impl/Sqlite3ResultImpl.h)
else (DROGON_FOUND_SQLite3)
message(STATUS "sqlite3 was not found.")
endif (DROGON_FOUND_SQLite3)
endif (BUILD_SQLITE)
if (BUILD_REDIS)
find_package(Hiredis)
if (Hiredis_FOUND)
add_definitions(-DUSE_REDIS)
target_link_libraries(${PROJECT_NAME} PRIVATE Hiredis_lib)
set(DROGON_SOURCES
${DROGON_SOURCES}
nosql_lib/redis/src/RedisClientImpl.cc
nosql_lib/redis/src/RedisClientLockFree.cc
nosql_lib/redis/src/RedisClientManager.cc
nosql_lib/redis/src/RedisConnection.cc
nosql_lib/redis/src/RedisResult.cc
nosql_lib/redis/src/RedisTransactionImpl.cc
nosql_lib/redis/src/SubscribeContext.cc
nosql_lib/redis/src/RedisSubscriberImpl.cc)
set(private_headers
${private_headers}
nosql_lib/redis/src/RedisClientImpl.h
nosql_lib/redis/src/RedisClientLockFree.h
nosql_lib/redis/src/RedisConnection.h
nosql_lib/redis/src/RedisTransactionImpl.h
nosql_lib/redis/src/SubscribeContext.h
nosql_lib/redis/src/RedisSubscriberImpl.h)
endif (Hiredis_FOUND)
endif (BUILD_REDIS)
if (NOT Hiredis_FOUND)
set(DROGON_SOURCES
${DROGON_SOURCES}
lib/src/RedisClientSkipped.cc
lib/src/RedisResultSkipped.cc
lib/src/RedisClientManagerSkipped.cc)
set(private_headers
${private_headers}
lib/src/RedisClientManager.h)
endif (NOT Hiredis_FOUND)
if (BUILD_TESTING)
add_subdirectory(nosql_lib/redis/tests)
endif (BUILD_TESTING)
find_package(ZLIB REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB)
find_package(OpenSSL)
if (OpenSSL_FOUND)
target_link_libraries(${PROJECT_NAME} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
else (OpenSSL_FOUND)
set(DROGON_SOURCES
${DROGON_SOURCES}
lib/src/ssl_funcs/Md5.cc
lib/src/ssl_funcs/Sha1.cc)
set(private_headers
${private_headers}
lib/src/ssl_funcs/Md5.h
lib/src/ssl_funcs/Sha1.h)
endif (OpenSSL_FOUND)
execute_process(COMMAND "git" rev-parse HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_SHA1
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
configure_file("${PROJECT_SOURCE_DIR}/cmake/templates/version.h.in"
"${PROJECT_SOURCE_DIR}/lib/inc/drogon/version.h" @ONLY)
if (DROGON_CXX_STANDARD EQUAL 20)
option(USE_COROUTINE "Enable C++20 coroutine support" ON)
else (DROGON_CXX_STANDARD EQUAL 20)
option(USE_COROUTINE "Enable C++20 coroutine support" OFF)
endif (DROGON_CXX_STANDARD EQUAL 20)
if (BUILD_EXAMPLES)
add_subdirectory(examples)
endif (BUILD_EXAMPLES)
if (BUILD_SRC)
add_subdirectory(src)
endif (BUILD_SRC)
if (BUILD_CTL)
add_subdirectory(drogon_ctl)
endif (BUILD_CTL)
if (COZ_PROFILING)
find_package(coz-profiler REQUIRED)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DCOZ_PROFILING=1)
# If linked will not need to be ran with `coz run --- [executable]` to run the
# profiler, but drogon_ctl currently won't build because it doesn't find debug
# information while trying to generate it's own sources
# target_link_libraries(${PROJECT_NAME} PUBLIC coz::coz)
target_include_directories(${PROJECT_NAME} PUBLIC ${COZ_INCLUDE_DIRS})
endif (COZ_PROFILING)
message(STATUS "Link directory: ${PROJECT_SOURCE_DIR}/third_party/rtc/lib")
link_directories(${PROJECT_SOURCE_DIR}/third_party/rtc/lib)
link_libraries(${PROJECT_SOURCE_DIR}/third_party/rtc/lib)
message(STATUS "Link directories: ${LINK_DIRECTORIES}")
#target_link_libraries(${PROJECT_NAME} PRIVATE MRTCEngine)
target_link_libraries(${PROJECT_NAME} PUBLIC /usr/local/lib/libMRTCEngine.so)
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/ArrayParser.cc
orm_lib/src/Criteria.cc
orm_lib/src/DbClient.cc
orm_lib/src/DbClientImpl.cc
orm_lib/src/DbClientLockFree.cc
orm_lib/src/DbConnection.cc
orm_lib/src/DbListener.cc
orm_lib/src/Exception.cc
orm_lib/src/Field.cc
orm_lib/src/Result.cc
orm_lib/src/Row.cc
orm_lib/src/SqlBinder.cc
orm_lib/src/TransactionImpl.cc
orm_lib/src/RestfulController.cc)
set(DROGON_HEADERS
lib/inc/drogon/Attribute.h
lib/inc/drogon/CacheMap.h
lib/inc/drogon/Cookie.h
lib/inc/drogon/DrClassMap.h
lib/inc/drogon/DrObject.h
lib/inc/drogon/DrTemplate.h
lib/inc/drogon/DrTemplateBase.h
lib/inc/drogon/HttpAppFramework.h
lib/inc/drogon/HttpBinder.h
lib/inc/drogon/HttpClient.h
lib/inc/drogon/HttpController.h
lib/inc/drogon/HttpFilter.h
lib/inc/drogon/HttpRequest.h
lib/inc/drogon/HttpResponse.h
lib/inc/drogon/HttpSimpleController.h
lib/inc/drogon/HttpTypes.h
lib/inc/drogon/HttpViewData.h
lib/inc/drogon/IntranetIpFilter.h
lib/inc/drogon/IOThreadStorage.h
lib/inc/drogon/LocalHostFilter.h
lib/inc/drogon/MultiPart.h
lib/inc/drogon/NotFound.h
lib/inc/drogon/Session.h
lib/inc/drogon/UploadFile.h
lib/inc/drogon/WebSocketClient.h
lib/inc/drogon/WebSocketConnection.h
lib/inc/drogon/WebSocketController.h
lib/inc/drogon/drogon.h
lib/inc/drogon/version.h
lib/inc/drogon/drogon_callbacks.h
lib/inc/drogon/PubSubService.h
lib/inc/drogon/drogon_test.h
lib/inc/drogon/RateLimiter.h
${CMAKE_CURRENT_BINARY_DIR}/exports/drogon/exports.h)
set(private_headers
${private_headers}
lib/src/DbClientManager.h
orm_lib/src/DbClientImpl.h
orm_lib/src/DbConnection.h
orm_lib/src/ResultImpl.h
orm_lib/src/TransactionImpl.h)
if (pg_FOUND OR DROGON_FOUND_MYSQL OR DROGON_FOUND_SQLite3)
set(DROGON_SOURCES
${DROGON_SOURCES}
orm_lib/src/DbClientManager.cc)
else (pg_FOUND OR DROGON_FOUND_MYSQL OR DROGON_FOUND_SQLite3)
set(DROGON_SOURCES
${DROGON_SOURCES}
lib/src/DbClientManagerSkipped.cc)
endif (pg_FOUND OR DROGON_FOUND_MYSQL OR DROGON_FOUND_SQLite3)
set_target_properties(${PROJECT_NAME}
PROPERTIES CXX_STANDARD ${DROGON_CXX_STANDARD})
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF)
set_target_properties(${PROJECT_NAME} PROPERTIES EXPORT_NAME Drogon)
if (pg_FOUND OR DROGON_FOUND_MYSQL OR DROGON_FOUND_SQLite3)
if (pg_FOUND)
option(USE_POSTGRESQL "Enable PostgreSQL" ON)
else (pg_FOUND)
option(USE_POSTGRESQL "Disable PostgreSQL" OFF)
endif (pg_FOUND)
if (DROGON_FOUND_MYSQL)
option(USE_MYSQL "Enable Mysql" ON)
else (DROGON_FOUND_MYSQL)
option(USE_MYSQL "Disable Mysql" OFF)
endif (DROGON_FOUND_MYSQL)
if (DROGON_FOUND_SQLite3)
option(USE_SQLITE3 "Enable Sqlite3" ON)
else (DROGON_FOUND_SQLite3)
option(USE_SQLITE3 "Disable Sqlite3" OFF)
endif (DROGON_FOUND_SQLite3)
endif (pg_FOUND OR DROGON_FOUND_MYSQL OR DROGON_FOUND_SQLite3)
set(COMPILER_COMMAND ${CMAKE_CXX_COMPILER})
set(COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
if (CMAKE_BUILD_TYPE)
string(TOLOWER ${CMAKE_BUILD_TYPE} _type)
if (_type STREQUAL release)
set(COMPILATION_FLAGS "${CMAKE_CXX_FLAGS_RELEASE} -std=c++")
elseif (_type STREQUAL debug)
set(COMPILATION_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -std=c++")
else ()
set(COMPILATION_FLAGS "-std=c++")
endif ()
else (CMAKE_BUILD_TYPE)
set(COMPILATION_FLAGS "-std=c++")
endif (CMAKE_BUILD_TYPE)
list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW
"${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDE_DIR}")
list(REMOVE_DUPLICATES INCLUDE_DIRS_FOR_DYNAMIC_VIEW)
set(INS_STRING "")
foreach (loop_var ${INCLUDE_DIRS_FOR_DYNAMIC_VIEW})
set(INS_STRING "${INS_STRING} -I${loop_var}")
endforeach (loop_var)
set(INCLUDING_DIRS ${INS_STRING})
configure_file(${PROJECT_SOURCE_DIR}/cmake/templates/config.h.in
${PROJECT_BINARY_DIR}/drogon/config.h @ONLY)
if (BUILD_TESTING)
message(STATUS "Building tests")
enable_testing()
add_subdirectory(lib/tests)
if (pg_FOUND)
add_subdirectory(${PROJECT_SOURCE_DIR}/orm_lib/src/postgresql_impl/test)
endif (pg_FOUND)
if (DROGON_FOUND_MYSQL)
add_subdirectory(${PROJECT_SOURCE_DIR}/orm_lib/src/mysql_impl/test)
endif (DROGON_FOUND_MYSQL)
if (DROGON_FOUND_SQLite3)
add_subdirectory(${PROJECT_SOURCE_DIR}/orm_lib/src/sqlite3_impl/test)
endif (DROGON_FOUND_SQLite3)
add_subdirectory(${PROJECT_SOURCE_DIR}/orm_lib/tests)
endif (BUILD_TESTING)
# Installation
install(TARGETS ${PROJECT_NAME}
EXPORT DrogonTargets
RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT lib)
install(FILES ${DROGON_HEADERS} DESTINATION ${INSTALL_INCLUDE_DIR}/drogon)
set(ORM_HEADERS
orm_lib/inc/drogon/orm/ArrayParser.h
orm_lib/inc/drogon/orm/Criteria.h
orm_lib/inc/drogon/orm/DbClient.h
orm_lib/inc/drogon/orm/DbListener.h
orm_lib/inc/drogon/orm/DbTypes.h
orm_lib/inc/drogon/orm/Exception.h
orm_lib/inc/drogon/orm/Field.h
orm_lib/inc/drogon/orm/FunctionTraits.h
orm_lib/inc/drogon/orm/Mapper.h
orm_lib/inc/drogon/orm/CoroMapper.h
orm_lib/inc/drogon/orm/Result.h
orm_lib/inc/drogon/orm/ResultIterator.h
orm_lib/inc/drogon/orm/Row.h
orm_lib/inc/drogon/orm/RowIterator.h
orm_lib/inc/drogon/orm/SqlBinder.h
orm_lib/inc/drogon/orm/RestfulController.h)
install(FILES ${ORM_HEADERS} DESTINATION ${INSTALL_INCLUDE_DIR}/drogon/orm)
set(NOSQL_HEADERS
nosql_lib/redis/inc/drogon/nosql/RedisClient.h
nosql_lib/redis/inc/drogon/nosql/RedisResult.h
nosql_lib/redis/inc/drogon/nosql/RedisSubscriber.h
nosql_lib/redis/inc/drogon/nosql/RedisException.h)
install(FILES ${NOSQL_HEADERS} DESTINATION ${INSTALL_INCLUDE_DIR}/drogon/nosql)
set(DROGON_UTIL_HEADERS
lib/inc/drogon/utils/any.h
lib/inc/drogon/utils/apply.h
lib/inc/drogon/utils/coroutine.h
lib/inc/drogon/utils/FunctionTraits.h
lib/inc/drogon/utils/HttpConstraint.h
lib/inc/drogon/utils/optional.h
lib/inc/drogon/utils/OStringStream.h
lib/inc/drogon/utils/string_view.h
lib/inc/drogon/utils/Utilities.h)
install(FILES ${DROGON_UTIL_HEADERS}
DESTINATION ${INSTALL_INCLUDE_DIR}/drogon/utils)
set(DROGON_PLUGIN_HEADERS
lib/inc/drogon/plugins/Plugin.h
lib/inc/drogon/plugins/SecureSSLRedirector.h
lib/inc/drogon/plugins/AccessLogger.h
lib/inc/drogon/plugins/RealIpResolver.h
lib/inc/drogon/plugins/Hodor.h)
install(FILES ${DROGON_PLUGIN_HEADERS}
DESTINATION ${INSTALL_INCLUDE_DIR}/drogon/plugins)
target_sources(${PROJECT_NAME} PRIVATE
${DROGON_SOURCES}
${private_headers}
${DROGON_HEADERS}
${ORM_HEADERS}
${DROGON_UTIL_HEADERS}
${DROGON_PLUGIN_HEADERS}
${NOSQL_HEADERS})
source_group("Public API"
FILES
${DROGON_HEADERS}
${ORM_HEADERS}
${DROGON_UTIL_HEADERS}
${DROGON_PLUGIN_HEADERS}
${NOSQL_HEADERS})
source_group("Private Headers"
FILES
${private_headers})
# Export the package for use from the build-tree (this registers the build-tree
# with a global cmake-registry) export(PACKAGE Drogon)
include(CMakePackageConfigHelpers)
# ... for the install tree
configure_package_config_file(
cmake/templates/DrogonConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/DrogonConfig.cmake
INSTALL_DESTINATION
${INSTALL_DROGON_CMAKE_DIR})
# version
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/DrogonConfigVersion.cmake
VERSION ${DROGON_VERSION}
COMPATIBILITY SameMajorVersion)
# Install the DrogonConfig.cmake and DrogonConfigVersion.cmake
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/DrogonConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/DrogonConfigVersion.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindUUID.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindJsoncpp.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindSQLite3.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindMySQL.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/Findpg.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindBrotli.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/Findcoz-profiler.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindHiredis.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindFilesystem.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/DrogonUtilities.cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/ParseAndAddDrogonTests.cmake"
DESTINATION "${INSTALL_DROGON_CMAKE_DIR}"
COMPONENT dev)
# Install the export set for use with the install-tree
install(EXPORT DrogonTargets
DESTINATION "${INSTALL_DROGON_CMAKE_DIR}"
NAMESPACE Drogon::
COMPONENT dev)
# Doxygen documentation
find_package(Doxygen OPTIONAL_COMPONENTS dot dia)
if(DOXYGEN_FOUND)
set(DOXYGEN_PROJECT_BRIEF "C++14/17-based HTTP application framework")
set(DOXYGEN_OUTPUT_DIRECTORY docs/${PROJECT_NAME})
set(DOXYGEN_GENERATE_LATEX NO)
set(DOXYGEN_BUILTIN_STL_SUPPORT YES)
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE README.md)
set(DOXYGEN_STRIP_FROM_INC_PATH ${PROJECT_SOURCE_DIR}/lib/inc
${PROJECT_SOURCE_DIR}/orm_lib/inc
${CMAKE_CURRENT_BINARY_DIR}/exports)
set(DOXYGEN_EXAMPLE_PATTERNS *)
if(WIN32)
set(DOXYGEN_PREDEFINED _WIN32)
endif(WIN32)
doxygen_add_docs(doc_${PROJECT_NAME}
README.md
README.zh-CN.md
README.zh-TW.md
ChangeLog.md
CONTRIBUTING.md
${DROGON_HEADERS}
${DROGON_UTIL_HEADERS}
${DROGON_PLUGIN_HEADERS}
${ORM_HEADERS}
COMMENT "Generate documentation")
if(NOT TARGET doc)
add_custom_target(doc)
endif()
add_dependencies(doc doc_${PROJECT_NAME})
if (BUILD_DOC)
add_dependencies(${PROJECT_NAME} doc_${PROJECT_NAME})
# Don't install twice, so limit to Debug (assume developer)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs/${PROJECT_NAME}
TYPE DOC
CONFIGURATIONS Debug)
endif(BUILD_DOC)
endif(DOXYGEN_FOUND)
include(cmake/Packages.cmake)

78
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,78 @@
# Contributing
**Drogon** is an open source project at its heart and every contribution is
welcome. By participating in this project you agree to stick to common sense and
contribute in an overall positive way.
## Getting Started
1. Fork, then clone the repository: `git clone
git@github.com:your-username/drogon.git`
1. Follow the [official installation steps on
DocsForge](https://drogon.docsforge.com/master/installation/). Its best to
make sure to have the `drogon_ctl` executable in your shells `PATH`
environment variable in case you use a terminal.
Now you can create branches, start adding features & bugfixes to the code, and
[create pull requests](https://github.com/an-tao/drogon/compare).
## Pull Requests
Feel free to [create a pull request](https://github.com/an-tao/drogon/compare)
if you think you can contribute to the project. You will be listed as a
[contributor](https://github.com/an-tao/drogon/graphs/contributors), agree to
this document, and the
[LICENSE](https://github.com/an-tao/drogon/blob/master/LICENSE).
There are also some recommendations you can follow. These arent requirements,
but they will make the development more straightforward:
1. If you are unsure about a specific change, have questions, or want to get
feedback about a feature you want to introduce, [open a new
issue](https://github.com/an-tao/drogon/issues) (please make sure that there
is no previous issue about a similar topic).
1. You should branch off the current state of the `master` branch, and also
merge it into your local branch before creating a pull request if there were
other changes introduced in the meantime.
1. You can use the following branch names to make your intent clearer:
* `bugfix/123-fix-template-parser` when you want to fix a bug in the
template parser.
* `feature/123-add-l10n-and-i18n` if you want to add localization (l10n) and
internationalization (i18n) as a new feature to the project.
* If theres no open issue and no need to open one you can skip the number,
and just use the descriptive part: `bugfix/fix-typo-in-docs`.
1. Write a brief, but good, and descriptive commit message / pull request title in English,
e. g. “Added Internationalization and Localization”.
If you follow these recommendations your pull request will have more success:
1. Keep the style consistent to the project, when in doubt refer to the [Google
C++ Style Guide](https://google.github.io/styleguide/cppguide.html#C++_Version).
1. Please write all comments in English. Comments for new public API introduced by
your pull request must be added and written in [Doxygen](http://www.doxygen.nl/) format.
1. Format the code with `clang-format` (>= 8.0.0). The configuration is already
provided in the `.clang-format` file, just run the `./format.sh` script
before submitting your pull request.
1. Install [Google Test](https://github.com/google/googletest), and write a test
case.
1. In case it is a bugfix, its best to write a test that breaks in the old
version, but works in the new one. This way regressions can be tracked
over time.
1. If you add a feature, it is best to write the test as if it would be an
example how to use the newly introduced feature and to test all major,
newly introduced code.
## Project Maintainers & Collaborators
In addition to the guidelines mentioned above, collaborators with write access
to the repository should also follow these guidelines:
1. If there are new tests as part of the pull request, you should make sure that
they succeed.
1. When merging **Pull Requests** you should use the option *Squash & Merge* and
chose a descriptive commit message for the bugfix / feature (if not already
done by the individual contributor).
This way the history in the `master` branch will be free of small
corrections and easier to follow for people who arent engaged in the
project on a day-to-day basis.

1372
ChangeLog.md Normal file

File diff suppressed because it is too large Load Diff

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019-2021 An Tao
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

190
README.md Executable file
View File

@ -0,0 +1,190 @@
![](https://github.com/an-tao/drogon/wiki/images/drogon-white.jpg)
[![Build Status](https://travis-ci.com/an-tao/drogon.svg?branch=master)](https://travis-ci.com/an-tao/drogon)
![Build Status](https://github.com/an-tao/drogon/workflows/Build%20Drogon/badge.svg?branch=master)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/an-tao/drogon.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/an-tao/drogon/alerts/)
[![Join the chat at https://gitter.im/drogon-web/community](https://badges.gitter.im/drogon-web/community.svg)](https://gitter.im/drogon-web/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join the telegram group at https://t.me/joinchat/_mMNGv0748ZkMDAx](https://img.shields.io/badge/Telegram-2CA5E0?style=flat&logo=telegram&logoColor=white)](https://t.me/joinchat/_mMNGv0748ZkMDAx)
[![Docker image](https://img.shields.io/badge/Docker-image-blue.svg)](https://cloud.docker.com/u/drogonframework/repository/docker/drogonframework/drogon)
English | [简体中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md)
### Overview
**Drogon** is a C++14/17-based HTTP application framework. Drogon can be used to easily build various types of web application server programs using C++. **Drogon** is the name of a dragon in the American TV series "Game of Thrones" that I really like.
Drogon is a cross-platform framework, It supports Linux, macOS, FreeBSD, OpenBSD, HaikuOS, and Windows. Its main features are as follows:
* Use a non-blocking I/O network lib based on epoll (kqueue under macOS/FreeBSD) to provide high-concurrency, high-performance network IO, please visit the [TFB Tests Results](https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=composite) for more details;
* Provide a completely asynchronous programming mode;
* Support Http1.0/1.1 (server side and client side);
* Based on template, a simple reflection mechanism is implemented to completely decouple the main program framework, controllers and views.
* Support cookies and built-in sessions;
* Support back-end rendering, the controller generates the data to the view to generate the Html page. Views are described by CSP template files, C++ codes are embedded into Html pages through CSP tags. And the drogon command-line tool automatically generates the C++ code files for compilation;
* Support view page dynamic loading (dynamic compilation and loading at runtime);
* Provide a convenient and flexible routing solution from the path to the controller handler;
* Support filter chains to facilitate the execution of unified logic (such as login verification, Http Method constraint verification, etc.) before handling HTTP requests;
* Support https (based on OpenSSL);
* Support WebSocket (server side and client side);
* Support JSON format request and response, very friendly to the Restful API application development;
* Support file download and upload;
* Support gzip, brotli compression transmission;
* Support pipelining;
* Provide a lightweight command line tool, drogon_ctl, to simplify the creation of various classes in Drogon and the generation of view code;
* Support non-blocking I/O based asynchronously reading and writing database (PostgreSQL and MySQL(MariaDB) database);
* Support asynchronously reading and writing sqlite3 database based on thread pool;
* Support Redis with asynchronous reading and writing;
* Support ARM Architecture;
* Provide a convenient lightweight ORM implementation that supports for regular object-to-database bidirectional mapping;
* Support plugins which can be installed by the configuration file at load time;
* Support AOP with build-in joinpoints.
* Support C++ coroutines
## A very simple example
Unlike most C++ frameworks, the main program of the drogon application can be kept clean and simple. Drogon uses a few tricks to decouple controllers from the main program. The routing settings of controllers can be done through macros or configuration file.
Below is the main program of a typical drogon application:
```c++
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
app().setLogPath("./")
.setLogLevel(trantor::Logger::kWarn)
.addListener("0.0.0.0", 80)
.setThreadNum(16)
.enableRunAsDaemon()
.run();
}
```
It can be further simplified by using configuration file as follows:
```c++
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
app().loadConfigFile("./config.json").run();
}
```
Drogon provides some interfaces for adding controller logic directly in the main() function, for example, user can register a handler like this in Drogon:
```c++
app().registerHandler("/test?username={name}",
[](const HttpRequestPtr& req,
std::function<void (const HttpResponsePtr &)> &&callback,
const std::string &name)
{
Json::Value json;
json["result"]="ok";
json["message"]=std::string("hello,")+name;
auto resp=HttpResponse::newHttpJsonResponse(json);
callback(resp);
},
{Get,"LoginFilter"});
```
While such interfaces look intuitive, they are not suitable for complex business logic scenarios. Assuming there are tens or even hundreds of handlers that need to be registered in the framework, isn't it a better practice to implement them separately in their respective classes? So unless your logic is very simple, we don't recommend using above interfaces. Instead, we can create an HttpSimpleController as follows:
```c++
/// The TestCtrl.h file
#pragma once
#include <drogon/HttpSimpleController.h>
using namespace drogon;
class TestCtrl:public drogon::HttpSimpleController<TestCtrl>
{
public:
void asyncHandleHttpRequest(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback) override;
PATH_LIST_BEGIN
PATH_ADD("/test",Get);
PATH_LIST_END
};
/// The TestCtrl.cc file
#include "TestCtrl.h"
void TestCtrl::asyncHandleHttpRequest(const HttpRequestPtr& req,
std::function<void (const HttpResponsePtr &)> &&callback)
{
//write your application logic here
auto resp = HttpResponse::newHttpResponse();
resp->setBody("<p>Hello, world!</p>");
resp->setExpiredTime(0);
callback(resp);
}
```
**Most of the above programs can be automatically generated by the command line tool `drogon_ctl` provided by drogon** (The command is `drogon_ctl create controller TestCtrl`). All the user needs to do is add their own business logic. In the example, the controller returns a `Hello, world!` string when the client accesses the `http://ip/test` URL.
For JSON format response, we create the controller as follows:
```c++
/// The header file
#pragma once
#include <drogon/HttpSimpleController.h>
using namespace drogon;
class JsonCtrl : public drogon::HttpSimpleController<JsonCtrl>
{
public:
void asyncHandleHttpRequest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback) override;
PATH_LIST_BEGIN
//list path definitions here;
PATH_ADD("/json", Get);
PATH_LIST_END
};
/// The source file
#include "JsonCtrl.h"
void JsonCtrl::asyncHandleHttpRequest(const HttpRequestPtr &req,
std::function<void(const HttpResponsePtr &)> &&callback)
{
Json::Value ret;
ret["message"] = "Hello, World!";
auto resp = HttpResponse::newHttpJsonResponse(ret);
callback(resp);
}
```
Let's go a step further and create a demo RESTful API with the HttpController class, as shown below (Omit the source file):
```c++
/// The header file
#pragma once
#include <drogon/HttpController.h>
using namespace drogon;
namespace api
{
namespace v1
{
class User : public drogon::HttpController<User>
{
public:
METHOD_LIST_BEGIN
//use METHOD_ADD to add your custom processing function here;
METHOD_ADD(User::getInfo, "/{id}", Get); //path is /api/v1/User/{arg1}
METHOD_ADD(User::getDetailInfo, "/{id}/detailinfo", Get); //path is /api/v1/User/{arg1}/detailinfo
METHOD_ADD(User::newUser, "/{name}", Post); //path is /api/v1/User/{arg1}
METHOD_LIST_END
//your declaration of processing function maybe like this:
void getInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
void getDetailInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
void newUser(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, std::string &&userName);
public:
User()
{
LOG_DEBUG << "User constructor!";
}
};
} // namespace v1
} // namespace api
```
As you can see, users can use the `HttpController` to map paths and parameters at the same time. This is a very convenient way to create a RESTful API application.
In addition, you can also find that all handler interfaces are in asynchronous mode, where the response is returned by a callback object. This design is for performance reasons because in asynchronous mode the drogon application can handle a large number of concurrent requests with a small number of threads.
After compiling all of the above source files, we get a very simple web application. This is a good start. **For more information, please visit the [wiki](https://github.com/an-tao/drogon/wiki/ENG-01-Overview) or [DocsForge](https://drogon.docsforge.com/master/overview/)**
## Contributions
Every contribution is welcome. Please refer to the [contribution guidelines](CONTRIBUTING.md) for more information.

198
README.zh-CN.md Executable file
View File

@ -0,0 +1,198 @@
![](https://github.com/an-tao/drogon/wiki/images/drogon-white.jpg)
[![Build Status](https://travis-ci.com/an-tao/drogon.svg?branch=master)](https://travis-ci.com/an-tao/drogon)
![Build Status](https://github.com/an-tao/drogon/workflows/Build%20Drogon/badge.svg?branch=master)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/an-tao/drogon.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/an-tao/drogon/alerts/)
[![Join the chat at https://gitter.im/drogon-web/community](https://badges.gitter.im/drogon-web/community.svg)](https://gitter.im/drogon-web/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join the telegram group at https://t.me/joinchat/_mMNGv0748ZkMDAx](https://img.shields.io/badge/Telegram-2CA5E0?style=flat&logo=telegram&logoColor=white)](https://t.me/joinchat/_mMNGv0748ZkMDAx)
[![Docker image](https://img.shields.io/badge/Docker-image-blue.svg)](https://cloud.docker.com/u/drogonframework/repository/docker/drogonframework/drogon)
[English](./README.md) | 简体中文 | [繁體中文](./README.zh-TW.md)
**Drogon**是一个基于C++14/17的Http应用框架使用Drogon可以方便的使用C++构建各种类型的Web应用服务端程序。
本版本库是github上[Drogon工程](https://github.com/an-tao/drogon)的镜像库。**Drogon**是作者非常喜欢的美剧《权力的游戏》中的一条龙的名字(汉译作卓耿)和龙有关但并不是dragon的误写为了不至于引起不必要的误会这里说明一下。
Drogon是一个跨平台框架它支持Linux也支持macOS、FreeBSDOpenBSDHaikuOS和Windows。它的主要特点如下
* 网络层使用基于epoll(macOS/FreeBSD下是kqueue)的非阻塞IO框架提供高并发、高性能的网络IO。详细请见[TFB Tests Results](https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=composite)
* 全异步编程模式;
* 支持Http1.0/1.1(server端和client端)
* 基于template实现了简单的反射机制使主程序框架、控制器(controller)和视图(view)完全解耦;
* 支持cookies和内建的session
* 支持后端渲染把控制器生成的数据交给视图生成Html页面视图由CSP模板文件描述通过CSP标签把C++代码嵌入到Html页面由drogon的命令行工具在编译阶段自动生成C++代码并编译;
* 支持运行期的视图页面动态加载(动态编译和加载so文件)
* 非常方便灵活的路径(path)到控制器处理函数(handler)的映射方案;
* 支持过滤器(filter)链,方便在控制器之前执行统一的逻辑(如登录验证、Http Method约束验证等)
* 支持https(基于OpenSSL实现);
* 支持websocket(server端和client端);
* 支持Json格式请求和应答, 对Restful API应用开发非常友好;
* 支持文件下载和上传,支持sendfile系统调用
* 支持gzip/brotli压缩传输
* 支持pipelining
* 提供一个轻量的命令行工具drogon_ctl帮助简化各种类的创建和视图代码的生成过程
* 基于非阻塞IO实现的异步数据库读写目前支持PostgreSQL和MySQL(MariaDB)数据库;
* 基于线程池实现sqlite3数据库的异步读写提供与上文数据库相同的接口
* 支持Redis异步读写
* 支持ARM架构
* 方便的轻量级ORM实现支持常规的对象到数据库的双向映射操作
* 支持插件,可通过配置文件在加载期动态拆装;
* 支持内建插入点的AOP
* 支持C++协程
## 一个非常简单的例子
不像大多数C++框架那样drogon的主程序可以保持非常简单。 Drogon使用了一些小技巧使主程序和控制器解耦合. 控制器的路由设置可以在控制器类中定义或者配置文件中完成.
下面是一个典型的主程序的样子:
```c++
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
app().setLogPath("./")
.setLogLevel(trantor::Logger::kWarn)
.addListener("0.0.0.0", 80)
.setThreadNum(16)
.enableRunAsDaemon()
.run();
}
```
如果使用配置文件,可以进一步简化成如下的样子:
```c++
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
app().loadConfigFile("./config.json").run();
}
```
当然Drogon也提供了一些接口使用户可以在main()函数中直接添加控制器逻辑比如用户可以注册一个lambda处理器到drogon框架中如下所示
```c++
app().registerHandler("/test?username={name}",
[](const HttpRequestPtr& req,
std::function<void (const HttpResponsePtr &)> &&callback,
const std::string &name)
{
Json::Value json;
json["result"]="ok";
json["message"]=std::string("hello,")+name;
auto resp=HttpResponse::newHttpJsonResponse(json);
callback(resp);
},
{Get,"LoginFilter"});
```
这看起来是很方便但是这并不适用于复杂的应用试想假如有数十个或者数百个处理函数要注册进框架main()函数将膨胀到不可读的程度。显然让每个包含处理函数的类在自己的定义中完成注册是更好的选择。所以除非你的应用逻辑非常简单我们不推荐使用上述接口更好的实践是我们可以创建一个HttpSimpleController对象如下
```c++
/// The TestCtrl.h file
#pragma once
#include <drogon/HttpSimpleController.h>
using namespace drogon;
class TestCtrl:public drogon::HttpSimpleController<TestCtrl>
{
public:
void asyncHandleHttpRequest(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback) override;
PATH_LIST_BEGIN
PATH_ADD("/test",Get);
PATH_LIST_END
};
/// The TestCtrl.cc file
#include "TestCtrl.h"
void TestCtrl::asyncHandleHttpRequest(const HttpRequestPtr& req,
std::function<void (const HttpResponsePtr &)> &&callback)
{
//write your application logic here
auto resp = HttpResponse::newHttpResponse();
resp->setBody("<p>Hello, world!</p>");
resp->setExpiredTime(0);
callback(resp);
}
```
**上面程序的大部分代码都可以由`drogon_ctl`命令创建**(这个命令是`drogon_ctl create controller TestCtr`。用户所需做的就是添加自己的业务逻辑。在这个例子中当客户端访问URL`http://ip/test`时,控制器简单的返回了一个`Hello, world!`页面。
对于JSON格式的响应我们可以像下面这样创建控制器
```c++
/// The header file
#pragma once
#include <drogon/HttpSimpleController.h>
using namespace drogon;
class JsonCtrl : public drogon::HttpSimpleController<JsonCtrl>
{
public:
void asyncHandleHttpRequest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback) override;
PATH_LIST_BEGIN
//list path definitions here;
PATH_ADD("/json", Get);
PATH_LIST_END
};
/// The source file
#include "JsonCtrl.h"
void JsonCtrl::asyncHandleHttpRequest(const HttpRequestPtr &req,
std::function<void(const HttpResponsePtr &)> &&callback)
{
Json::Value ret;
ret["message"] = "Hello, World!";
auto resp = HttpResponse::newHttpJsonResponse(ret);
callback(resp);
}
```
让我们更进一步通过HttpController类创建一个RESTful API的例子如下所示忽略了实现文件
```c++
/// The header file
#pragma once
#include <drogon/HttpController.h>
using namespace drogon;
namespace api
{
namespace v1
{
class User : public drogon::HttpController<User>
{
public:
METHOD_LIST_BEGIN
//use METHOD_ADD to add your custom processing function here;
METHOD_ADD(User::getInfo, "/{id}", Get); //path is /api/v1/User/{arg1}
METHOD_ADD(User::getDetailInfo, "/{id}/detailinfo", Get); //path is /api/v1/User/{arg1}/detailinfo
METHOD_ADD(User::newUser, "/{name}", Post); //path is /api/v1/User/{arg1}
METHOD_LIST_END
//your declaration of processing function maybe like this:
void getInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
void getDetailInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
void newUser(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, std::string &&userName);
public:
User()
{
LOG_DEBUG << "User constructor!";
}
};
} // namespace v1
} // namespace api
```
如你所见,通过`HttpController`类用户可以同时映射路径和路径参数这对RESTful API应用来说非常方便。
另外,你可以发现前面所有的处理函数接口都是异步的,处理器的响应是通过回调对象返回的。这种设计是出于对高性能的考虑,因为在异步模式下,可以使用少量的线程(比如和处理器核心数相等的线程)处理大量的并发请求。
编译上述的所有源文件后我们得到了一个非常简单的web应用程序这是一个不错的开始。**请访问[wiki](https://github.com/an-tao/drogon/wiki/CHN-01-概述)或者[DocsForge](https://drogon.docsforge.com/master/overview/)以获取更多的信息**
## 贡献方式
欢迎您的贡献。 请阅读[贡献指南](CONTRIBUTING.md)以获取更多的信息。
## QQ交流群1137909452
欢迎交流探讨。

198
README.zh-TW.md Normal file
View File

@ -0,0 +1,198 @@
![](https://github.com/an-tao/drogon/wiki/images/drogon-white.jpg)
[![Build Status](https://travis-ci.com/an-tao/drogon.svg?branch=master)](https://travis-ci.com/an-tao/drogon)
![Build Status](https://github.com/an-tao/drogon/workflows/Build%20Drogon/badge.svg?branch=master)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/an-tao/drogon.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/an-tao/drogon/alerts/)
[![Join the chat at https://gitter.im/drogon-web/community](https://badges.gitter.im/drogon-web/community.svg)](https://gitter.im/drogon-web/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join the telegram group at https://t.me/joinchat/_mMNGv0748ZkMDAx](https://img.shields.io/badge/Telegram-2CA5E0?style=flat&logo=telegram&logoColor=white)](https://t.me/joinchat/_mMNGv0748ZkMDAx)
[![Docker image](https://img.shields.io/badge/Docker-image-blue.svg)](https://cloud.docker.com/u/drogonframework/repository/docker/drogonframework/drogon)
[English](./README.md) | [简体中文](./README.zh-CN.md) | 繁體中文
**Drogon**是一個基於C++14/17的Http應用框架使用Drogon可以方便的使用C++構建各種類型的Web App伺服器程式。
本版本庫是github上[Drogon](https://github.com/an-tao/drogon)的鏡像庫。 **Drogon**是作者非常喜歡的美劇《冰與火之歌:權力遊戲》中的一條龍的名字(漢譯作卓耿)和龍有關但並不是dragon的誤寫為了不至於引起不必要的誤會這裡說明一下。
Drogon是一個跨平台框架它支援Linux也支援macOS、FreeBSD/OpenBSD、HaikuOS和Windows。它的主要特點如下
* 網路層使用基於epoll(macOS/FreeBSD下是kqueue)的非阻塞IO框架提供高並發、高性能的網路IO。詳細請見[TFB Tests Results](https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=composite)
* 全異步程式設計;
* 支援Http1.0/1.1(server端和client端)
* 基於模板(template)實現了簡單的反射機制,使主程式框架、控制器(controller)和視圖(view)完全去耦;
* 支援cookies和內建的session
* 支援後端渲染把控制器生成的數據交給視圖生成Html頁面視圖由CSP模板文件描述通過CSP標籤把C++程式碼嵌入到Html頁面由drogon的指令列工具在編譯階段自動生成C++程式碼並編譯;
* 支援運行期的視圖頁面動態加載(動態編譯和載入so文件)
* 非常方便靈活的路徑(path)到控制器處理函數(handler)的映射方案;
* 支援過濾器(filter)鏈,方便在控制器之前執行統一的邏輯(如登錄驗證、Http Method約束驗證等)
* 支援https(基於OpenSSL);
* 支援websocket(server端和client端);
* 支援Json格式的請求和回應, 方便開發Restful API;
* 支援文件下載和上傳,支援sendfile系統呼叫
* 支援gzip/brotli壓縮傳輸
* 支援pipelining
* 提供一個輕量的指令列工具drogon_ctl幫助簡化各種類的創造和視圖程式碼的生成過程
* 非同步的讀寫資料庫目前支援PostgreSQL和MySQL(MariaDB)資料庫;
* 支援異步讀寫Redis;
* 基於執行序池實現sqlite3資料庫的異步讀寫提供與上文資料庫相同的接口
* 支援ARM架構
* 方便的輕量級ORM實現一般物件到資料庫的雙向映射
* 支援外掛,可通過設定文件在載入時動態載入;
* 支援內建插入點的AOP
* 支援C++ coroutine
## 一個非常簡單的例子
不像大多數C++框架那樣drogon的主程式可以非常簡單。 Drogon使用了一些小技巧使主程式和控制器去耦. 控制器的路由設定可以在控制器類別中定義或者設定文件中完成.
下面是一個典型的主程式的樣子:
```c++
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
app().setLogPath("./")
.setLogLevel(trantor::Logger::kWarn)
.addListener("0.0.0.0", 80)
.setThreadNum(16)
.enableRunAsDaemon()
.run();
}
```
如果使用設定文件,可以進一步簡化成這樣:
```c++
#include <drogon/drogon.h>
using namespace drogon;
int main()
{
app().loadConfigFile("./config.json").run();
}
```
當然Drogon也提供了一些函數使使用者可以在main()函數中直接添加控制器邏輯比如使用者可以註冊一個lambda處理器到drogon框架中如下所示
```c++
app().registerHandler("/test?username={name}",
[](const HttpRequestPtr& req,
std::function<void (const HttpResponsePtr &)> &&callback,
const std::string &name)
{
Json::Value json;
json["result"]="ok";
json["message"]=std::string("hello,")+name;
auto resp=HttpResponse::newHttpJsonResponse(json);
callback(resp);
},
{Get,"LoginFilter"});
```
這看起來是很方便但是這並不適用於復雜的場景試想假如有數十個或者數百個處理函數要註冊進框架main()函數將膨脹到不可讀的程度。顯然讓每個包含處理函數的類在自己的定義中完成註冊是更好的選擇。所以除非你的應用邏輯非常簡單我們不推薦使用上述接口更好的實踐是我們可以創造一個HttpSimpleController類別如下
```c++
/// The TestCtrl.h file
#pragma once
#include <drogon/HttpSimpleController.h>
using namespace drogon;
class TestCtrl:public drogon::HttpSimpleController<TestCtrl>
{
public:
void asyncHandleHttpRequest(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback) override;
PATH_LIST_BEGIN
PATH_ADD("/test",Get);
PATH_LIST_END
};
/// The TestCtrl.cc file
#include "TestCtrl.h"
void TestCtrl::asyncHandleHttpRequest(const HttpRequestPtr& req,
std::function<void (const HttpResponsePtr &)> &&callback)
{
//write your application logic here
auto resp = HttpResponse::newHttpResponse();
resp->setBody("<p>Hello, world!</p>");
resp->setExpiredTime(0);
callback(resp);
}
```
**上面程式的大部分程式碼都可以由`drogon_ctl`指令創造**(這個指令是`drogon_ctl create controller TestCtr`。使用者所需做的就是添加自己的業務邏輯。在這個例子中當客戶端訪問URL`http://ip/test`時,控制器簡單的回傳了一個`Hello, world!`頁面。
對於JSON格式的回應我們可以像下面這樣創造控制器
```c++
/// The header file
#pragma once
#include <drogon/HttpSimpleController.h>
using namespace drogon;
class JsonCtrl : public drogon::HttpSimpleController<JsonCtrl>
{
public:
void asyncHandleHttpRequest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback) override;
PATH_LIST_BEGIN
//list path definitions here;
PATH_ADD("/json", Get);
PATH_LIST_END
};
/// The source file
#include "JsonCtrl.h"
void JsonCtrl::asyncHandleHttpRequest(const HttpRequestPtr &req,
std::function<void(const HttpResponsePtr &)> &&callback)
{
Json::Value ret;
ret["message"] = "Hello, World!";
auto resp = HttpResponse::newHttpJsonResponse(ret);
callback(resp);
}
```
讓我們更進一步通過HttpController類別創造一個RESTful API的例子如下所示忽略了實做文件
```c++
/// The header file
#pragma once
#include <drogon/HttpController.h>
using namespace drogon;
namespace api
{
namespace v1
{
class User : public drogon::HttpController<User>
{
public:
METHOD_LIST_BEGIN
//use METHOD_ADD to add your custom processing function here;
METHOD_ADD(User::getInfo, "/{id}", Get); //path is /api/v1/User/{arg1}
METHOD_ADD(User::getDetailInfo, "/{id}/detailinfo", Get); //path is /api/v1/User/{arg1}/detailinfo
METHOD_ADD(User::newUser, "/{name}", Post); //path is /api/v1/User/{arg1}
METHOD_LIST_END
//your declaration of processing function maybe like this:
void getInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
void getDetailInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
void newUser(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, std::string &&userName);
public:
User()
{
LOG_DEBUG << "User constructor!";
}
};
} // namespace v1
} // namespace api
```
如你所見,通過`HttpController`類別使用者可以同時映射路徑和路徑參數這對RESTful API應用來說非常方便。
另外,你可以發現前面所有的處理函數接口都是異步的,處理器的回應是通過回調對象回傳的。這種設計是出於對高性能的考慮,因為在異步模式下,可以使用少量的執行序(比如和處理器核心數相等的執行序)處理大量的並發請求。
編譯上述的所有源文件後我們得到了一個非常簡單的web應用程式這是一個不錯的開始。 **請瀏覽[wiki](https://github.com/an-tao/drogon/wiki/CHN-01-概述)或者[DocsForge](https://drogon.docsforge.com/master/overview/)以獲取更多的信息**
## 貢獻方式
歡迎您的貢獻。請閱讀[貢獻指南](CONTRIBUTING.md)以獲取更多的信息。
## QQ交流群1137909452
歡迎交流探討。

1
_config.yml Normal file
View File

@ -0,0 +1 @@
theme: jekyll-theme-cayman

105
build.sh Executable file
View File

@ -0,0 +1,105 @@
#!/usr/bin/env bash
#build drogon
function build_drogon() {
#Update the submodule and initialize
git submodule update --init
#Remove the config.h generated by the old version of drogon.
rm -f lib/inc/drogon/config.h
#Save current directory
current_dir="${PWD}"
#The folder in which we will build drogon
build_dir='./build'
if [ -d $build_dir ]; then
echo "Deleted folder: ${build_dir}"
rm -rf $build_dir
fi
#Create building folder
echo "Created building folder: ${build_dir}"
mkdir $build_dir
echo "Entering folder: ${build_dir}"
cd $build_dir
echo "Start building drogon ..."
if [ $1 -eq 1 ]; then
echo "build1=========================="
cmake .. -DBUILD_TESTING=YES $cmake_gen
elif [ $1 -eq 2 ]; then
echo "build2=========================="
cmake .. -DBUILD_TESTING=YES -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN=1 $cmake_gen
else
echo "build3=========================="
#cmake .. -DCMAKE_BUILD_TYPE=release $cmake_gen
cmake .. -DCMAKE_BUILD_TYPE=release -DCMAKE_LIBRARY_PATH="/Users/wangjiyu/Clion/drogon/third_party/rtc/lib" -DLINK_DIRECTORIES="/Users/wangjiyu/Clion/drogon/third_party/rtc/lib" $cmake_gen
fi
#If errors then exit
if [ "$?" != "0" ]; then
exit -1
fi
$make_program $make_flags
#If errors then exit
if [ "$?" != "0" ]; then
exit -1
fi
echo "Installing ..."
$make_program install
#Go back to the current directory
cd $current_dir
#Ok!
}
make_program=make
make_flags=''
cmake_gen=''
parallel=1
case $(uname) in
FreeBSD)
nproc=$(sysctl -n hw.ncpu)
;;
Darwin)
nproc=$(sysctl -n hw.ncpu) # sysctl -n hw.ncpu is the equivalent to nproc on macOS.
;;
*)
nproc=$(nproc)
;;
esac
# simulate ninja's parallelism
case nproc in
1)
parallel=$(( nproc + 1 ))
;;
2)
parallel=$(( nproc + 1 ))
;;
*)
parallel=$(( nproc + 2 ))
;;
esac
if [ -f /bin/ninja ]; then
make_program=ninja
cmake_gen='-GNinja'
else
make_flags="$make_flags -j$parallel"
fi
if [ "$1" = "-t" ]; then
build_drogon 1
elif [ "$1" = "-tshared" ]; then
build_drogon 2
else
build_drogon 0
fi

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,648 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake"
},
{
"isGenerated" : true,
"path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeCCompiler.cmake"
},
{
"isGenerated" : true,
"path" : "cmake-build-debug/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDependentOption.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/GenerateExportHeader.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckFlagCommonConfig.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCXXCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCXXSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/exportheader.cmake.in"
},
{
"path" : "cmake/DrogonUtilities.cmake"
},
{
"path" : "cmake/ParseAndAddDrogonTests.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFileCXX.cmake"
},
{
"path" : "cmake_modules/FindFilesystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePushCheckState.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFileCXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCXXSourceRuns.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceRuns.cmake"
},
{
"path" : "cmake/tests/check_has_std_filesystem_path.cc"
},
{
"path" : "cmake_modules/FindJsoncpp.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake_modules/FindUUID.cmake"
},
{
"path" : "cmake/tests/normal_uuid_lib_test.cc"
},
{
"path" : "cmake/tests/ossp_uuid_lib_test.cc"
},
{
"path" : "cmake_modules/FindBrotli.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake_modules/Findpg.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPostgreSQL.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/SelectLibraryConfigurations.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake/tests/test_libpq_batch_mode.cc"
},
{
"path" : "cmake_modules/FindMySQL.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake_modules/FindSQLite3.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake_modules/FindHiredis.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindZLIB.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/SelectLibraryConfigurations.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindOpenSSL.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPkgConfig.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake/templates/version.h.in"
},
{
"path" : "cmake/templates/config.h.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"path" : "cmake/templates/DrogonConfig.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/BasicConfigVersion-SameMajorVersion.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindDoxygen.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "cmake/Packages.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CPack.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CPackComponent.cmake"
},
{
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Templates/CPackConfig.cmake.in"
},
{
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Templates/CPackConfig.cmake.in"
},
{
"path" : "trantor/CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/GenerateExportHeader.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCXXCompilerFlag.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/exportheader.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindOpenSSL.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPkgConfig.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "trantor/cmake_modules/Findc-ares.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"path" : "trantor/cmake/templates/TrantorConfig.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/BasicConfigVersion-SameMajorVersion.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindDoxygen.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake"
},
{
"path" : "src/CMakeLists.txt"
},
{
"path" : "drogon_ctl/CMakeLists.txt"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/home/wjy/Code/drogon/cmake-build-debug",
"source" : "/home/wjy/Code/drogon"
},
"version" :
{
"major" : 1,
"minor" : 1
}
}

View File

@ -0,0 +1,218 @@
{
"configurations" :
[
{
"directories" :
[
{
"build" : ".",
"childIndexes" :
[
1,
2,
3
],
"hasInstallRule" : true,
"jsonFile" : "directory-.-Debug-c73e1a7af5eb563badf6.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"projectIndex" : 0,
"source" : ".",
"targetIndexes" :
[
1
]
},
{
"build" : "trantor",
"hasInstallRule" : true,
"jsonFile" : "directory-trantor-Debug-cf1d3fe2abc9632b7f2f.json",
"minimumCMakeVersion" :
{
"string" : "3.5"
},
"parentIndex" : 0,
"projectIndex" : 1,
"source" : "trantor",
"targetIndexes" :
[
7
]
},
{
"build" : "src",
"jsonFile" : "directory-src-Debug-b6cf2213fc5053b67c22.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 0,
"source" : "src",
"targetIndexes" :
[
3,
4,
5,
6,
8,
9,
10
]
},
{
"build" : "drogon_ctl",
"hasInstallRule" : true,
"jsonFile" : "directory-drogon_ctl-Debug-1c94b9eba2abf622f4be.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 0,
"source" : "drogon_ctl",
"targetIndexes" :
[
0,
2
]
}
],
"name" : "Debug",
"projects" :
[
{
"childIndexes" :
[
1
],
"directoryIndexes" :
[
0,
2,
3
],
"name" : "drogon",
"targetIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
8,
9,
10
]
},
{
"directoryIndexes" :
[
1
],
"name" : "trantor",
"parentIndex" : 0,
"targetIndexes" :
[
7
]
}
],
"targets" :
[
{
"directoryIndex" : 3,
"id" : "_drogon_ctl::@10d9b3e6efcee8d69830",
"jsonFile" : "target-_drogon_ctl-Debug-7565258b4d2eb56c55db.json",
"name" : "_drogon_ctl",
"projectIndex" : 0
},
{
"directoryIndex" : 0,
"id" : "drogon::@6890427a1f51a3e7e1df",
"jsonFile" : "target-drogon-Debug-6b6b5ae8934d2a4783ab.json",
"name" : "drogon",
"projectIndex" : 0
},
{
"directoryIndex" : 3,
"id" : "drogon_ctl::@10d9b3e6efcee8d69830",
"jsonFile" : "target-drogon_ctl-Debug-1adee9fef371af8542bf.json",
"name" : "drogon_ctl",
"projectIndex" : 0
},
{
"directoryIndex" : 2,
"id" : "file2rtc::@145eef247bfb46b6828c",
"jsonFile" : "target-file2rtc-Debug-44b49d6bf5985656b35c.json",
"name" : "file2rtc",
"projectIndex" : 0
},
{
"directoryIndex" : 2,
"id" : "file2websocket::@145eef247bfb46b6828c",
"jsonFile" : "target-file2websocket-Debug-6c667900d8019e6cc865.json",
"name" : "file2websocket",
"projectIndex" : 0
},
{
"directoryIndex" : 2,
"id" : "rtc::@145eef247bfb46b6828c",
"jsonFile" : "target-rtc-Debug-3a8b759c25c4e9ad4cba.json",
"name" : "rtc",
"projectIndex" : 0
},
{
"directoryIndex" : 2,
"id" : "rtc_send::@145eef247bfb46b6828c",
"jsonFile" : "target-rtc_send-Debug-88e8eabdad24b7be52ca.json",
"name" : "rtc_send",
"projectIndex" : 0
},
{
"directoryIndex" : 1,
"id" : "trantor::@135e1d2372f0a48525e0",
"jsonFile" : "target-trantor-Debug-86afaa82675cf009f307.json",
"name" : "trantor",
"projectIndex" : 1
},
{
"directoryIndex" : 2,
"id" : "websocket2rtc::@145eef247bfb46b6828c",
"jsonFile" : "target-websocket2rtc-Debug-889e0d495be8672ab48a.json",
"name" : "websocket2rtc",
"projectIndex" : 0
},
{
"directoryIndex" : 2,
"id" : "websocket_client::@145eef247bfb46b6828c",
"jsonFile" : "target-websocket_client-Debug-f9b8b179ddf47143d52a.json",
"name" : "websocket_client",
"projectIndex" : 0
},
{
"directoryIndex" : 2,
"id" : "websocket_server::@145eef247bfb46b6828c",
"jsonFile" : "target-websocket_server-Debug-cef2843b853ac081dc77.json",
"name" : "websocket_server",
"projectIndex" : 0
}
]
}
],
"kind" : "codemodel",
"paths" :
{
"build" : "/home/wjy/Code/drogon/cmake-build-debug",
"source" : "/home/wjy/Code/drogon"
},
"version" :
{
"major" : 2,
"minor" : 7
}
}

View File

@ -0,0 +1,240 @@
{
"backtraceGraph" :
{
"commands" :
[
"install"
],
"files" :
[
"CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 719,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 725,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 744,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 751,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 763,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 772,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 813,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 831,
"parent" : 0
}
]
},
"installers" :
[
{
"backtrace" : 1,
"component" : "lib",
"destination" : "lib",
"paths" :
[
"libdrogon.a"
],
"targetId" : "drogon::@6890427a1f51a3e7e1df",
"targetIndex" : 1,
"type" : "target"
},
{
"backtrace" : 2,
"component" : "Unspecified",
"destination" : "include/drogon",
"paths" :
[
"lib/inc/drogon/Attribute.h",
"lib/inc/drogon/CacheMap.h",
"lib/inc/drogon/Cookie.h",
"lib/inc/drogon/DrClassMap.h",
"lib/inc/drogon/DrObject.h",
"lib/inc/drogon/DrTemplate.h",
"lib/inc/drogon/DrTemplateBase.h",
"lib/inc/drogon/HttpAppFramework.h",
"lib/inc/drogon/HttpBinder.h",
"lib/inc/drogon/HttpClient.h",
"lib/inc/drogon/HttpController.h",
"lib/inc/drogon/HttpFilter.h",
"lib/inc/drogon/HttpRequest.h",
"lib/inc/drogon/HttpResponse.h",
"lib/inc/drogon/HttpSimpleController.h",
"lib/inc/drogon/HttpTypes.h",
"lib/inc/drogon/HttpViewData.h",
"lib/inc/drogon/IntranetIpFilter.h",
"lib/inc/drogon/IOThreadStorage.h",
"lib/inc/drogon/LocalHostFilter.h",
"lib/inc/drogon/MultiPart.h",
"lib/inc/drogon/NotFound.h",
"lib/inc/drogon/Session.h",
"lib/inc/drogon/UploadFile.h",
"lib/inc/drogon/WebSocketClient.h",
"lib/inc/drogon/WebSocketConnection.h",
"lib/inc/drogon/WebSocketController.h",
"lib/inc/drogon/drogon.h",
"lib/inc/drogon/version.h",
"lib/inc/drogon/drogon_callbacks.h",
"lib/inc/drogon/PubSubService.h",
"lib/inc/drogon/drogon_test.h",
"lib/inc/drogon/RateLimiter.h",
"cmake-build-debug/exports/drogon/exports.h"
],
"type" : "file"
},
{
"backtrace" : 3,
"component" : "Unspecified",
"destination" : "include/drogon/orm",
"paths" :
[
"orm_lib/inc/drogon/orm/ArrayParser.h",
"orm_lib/inc/drogon/orm/Criteria.h",
"orm_lib/inc/drogon/orm/DbClient.h",
"orm_lib/inc/drogon/orm/DbListener.h",
"orm_lib/inc/drogon/orm/DbTypes.h",
"orm_lib/inc/drogon/orm/Exception.h",
"orm_lib/inc/drogon/orm/Field.h",
"orm_lib/inc/drogon/orm/FunctionTraits.h",
"orm_lib/inc/drogon/orm/Mapper.h",
"orm_lib/inc/drogon/orm/CoroMapper.h",
"orm_lib/inc/drogon/orm/Result.h",
"orm_lib/inc/drogon/orm/ResultIterator.h",
"orm_lib/inc/drogon/orm/Row.h",
"orm_lib/inc/drogon/orm/RowIterator.h",
"orm_lib/inc/drogon/orm/SqlBinder.h",
"orm_lib/inc/drogon/orm/RestfulController.h"
],
"type" : "file"
},
{
"backtrace" : 4,
"component" : "Unspecified",
"destination" : "include/drogon/nosql",
"paths" :
[
"nosql_lib/redis/inc/drogon/nosql/RedisClient.h",
"nosql_lib/redis/inc/drogon/nosql/RedisResult.h",
"nosql_lib/redis/inc/drogon/nosql/RedisSubscriber.h",
"nosql_lib/redis/inc/drogon/nosql/RedisException.h"
],
"type" : "file"
},
{
"backtrace" : 5,
"component" : "Unspecified",
"destination" : "include/drogon/utils",
"paths" :
[
"lib/inc/drogon/utils/any.h",
"lib/inc/drogon/utils/apply.h",
"lib/inc/drogon/utils/coroutine.h",
"lib/inc/drogon/utils/FunctionTraits.h",
"lib/inc/drogon/utils/HttpConstraint.h",
"lib/inc/drogon/utils/optional.h",
"lib/inc/drogon/utils/OStringStream.h",
"lib/inc/drogon/utils/string_view.h",
"lib/inc/drogon/utils/Utilities.h"
],
"type" : "file"
},
{
"backtrace" : 6,
"component" : "Unspecified",
"destination" : "include/drogon/plugins",
"paths" :
[
"lib/inc/drogon/plugins/Plugin.h",
"lib/inc/drogon/plugins/SecureSSLRedirector.h",
"lib/inc/drogon/plugins/AccessLogger.h",
"lib/inc/drogon/plugins/RealIpResolver.h",
"lib/inc/drogon/plugins/Hodor.h"
],
"type" : "file"
},
{
"backtrace" : 7,
"component" : "dev",
"destination" : "lib/cmake/Drogon",
"paths" :
[
"cmake-build-debug/CMakeFiles/DrogonConfig.cmake",
"cmake-build-debug/DrogonConfigVersion.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindMySQL.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findcoz-profiler.cmake",
"cmake_modules/FindHiredis.cmake",
"cmake_modules/FindFilesystem.cmake",
"cmake/DrogonUtilities.cmake",
"cmake/ParseAndAddDrogonTests.cmake"
],
"type" : "file"
},
{
"backtrace" : 8,
"component" : "dev",
"destination" : "lib/cmake/Drogon",
"exportName" : "DrogonTargets",
"exportTargets" :
[
{
"id" : "drogon::@6890427a1f51a3e7e1df",
"index" : 1
}
],
"paths" :
[
"CMakeFiles/Export/9fe51f2b716a6bd37518a903e3e9a4cf/DrogonTargets.cmake"
],
"type" : "export"
}
],
"paths" :
{
"build" : ".",
"source" : "."
}
}

View File

@ -0,0 +1,72 @@
{
"backtraceGraph" :
{
"commands" :
[
"install"
],
"files" :
[
"drogon_ctl/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 62,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 73,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 78,
"parent" : 0
}
]
},
"installers" :
[
{
"backtrace" : 1,
"component" : "Unspecified",
"destination" : "bin",
"paths" :
[
"drogon_ctl/drogon_ctl"
],
"targetId" : "drogon_ctl::@10d9b3e6efcee8d69830",
"targetIndex" : 2,
"type" : "target"
},
{
"backtrace" : 2,
"component" : "Unspecified",
"type" : "code"
},
{
"backtrace" : 3,
"component" : "Unspecified",
"destination" : "bin",
"paths" :
[
"cmake-build-debug/drogon_ctl/dg_ctl"
],
"type" : "file"
}
],
"paths" :
{
"build" : "drogon_ctl",
"source" : "drogon_ctl"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "src",
"source" : "src"
}
}

View File

@ -0,0 +1,157 @@
{
"backtraceGraph" :
{
"commands" :
[
"install"
],
"files" :
[
"trantor/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 244,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 250,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 252,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 254,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 272,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 281,
"parent" : 0
}
]
},
"installers" :
[
{
"backtrace" : 1,
"component" : "lib",
"destination" : "lib",
"paths" :
[
"trantor/libtrantor.a"
],
"targetId" : "trantor::@135e1d2372f0a48525e0",
"targetIndex" : 7,
"type" : "target"
},
{
"backtrace" : 2,
"component" : "Unspecified",
"destination" : "include/trantor",
"paths" :
[
"cmake-build-debug/trantor/exports/trantor/exports.h"
],
"type" : "file"
},
{
"backtrace" : 3,
"component" : "Unspecified",
"destination" : "include/trantor/net",
"paths" :
[
"trantor/trantor/net/EventLoop.h",
"trantor/trantor/net/EventLoopThread.h",
"trantor/trantor/net/EventLoopThreadPool.h",
"trantor/trantor/net/InetAddress.h",
"trantor/trantor/net/TcpClient.h",
"trantor/trantor/net/TcpConnection.h",
"trantor/trantor/net/TcpServer.h",
"trantor/trantor/net/callbacks.h",
"trantor/trantor/net/Resolver.h",
"trantor/trantor/net/Channel.h"
],
"type" : "file"
},
{
"backtrace" : 4,
"component" : "Unspecified",
"destination" : "include/trantor/utils",
"paths" :
[
"trantor/trantor/utils/AsyncFileLogger.h",
"trantor/trantor/utils/ConcurrentTaskQueue.h",
"trantor/trantor/utils/Date.h",
"trantor/trantor/utils/Funcs.h",
"trantor/trantor/utils/LockFreeQueue.h",
"trantor/trantor/utils/LogStream.h",
"trantor/trantor/utils/Logger.h",
"trantor/trantor/utils/MsgBuffer.h",
"trantor/trantor/utils/NonCopyable.h",
"trantor/trantor/utils/ObjectPool.h",
"trantor/trantor/utils/SerialTaskQueue.h",
"trantor/trantor/utils/TaskQueue.h",
"trantor/trantor/utils/TimingWheel.h",
"trantor/trantor/utils/Utilities.h"
],
"type" : "file"
},
{
"backtrace" : 5,
"component" : "dev",
"destination" : "lib/cmake/Trantor",
"paths" :
[
"cmake-build-debug/trantor/CMakeFiles/TrantorConfig.cmake",
"cmake-build-debug/trantor/TrantorConfigVersion.cmake",
"trantor/cmake_modules/Findc-ares.cmake"
],
"type" : "file"
},
{
"backtrace" : 6,
"component" : "dev",
"destination" : "lib/cmake/Trantor",
"exportName" : "TrantorTargets",
"exportTargets" :
[
{
"id" : "trantor::@135e1d2372f0a48525e0",
"index" : 7
}
],
"paths" :
[
"trantor/CMakeFiles/Export/e2741f8d78b158992c2d7ed6a282eae4/TrantorTargets.cmake"
],
"type" : "export"
}
],
"paths" :
{
"build" : "trantor",
"source" : "trantor"
}
}

View File

@ -0,0 +1,108 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Ninja"
},
"paths" :
{
"cmake" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/cmake",
"cpack" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/cpack",
"ctest" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/ctest",
"root" : "/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30"
},
"version" :
{
"isDirty" : false,
"major" : 3,
"minor" : 30,
"patch" : 5,
"string" : "3.30.5",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-747bbf1383263262039b.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 7
}
},
{
"jsonFile" : "cache-v2-23e770df8a5ae13f5555.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-492858e90db18a030018.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 1
}
},
{
"jsonFile" : "toolchains-v1-d1c4dbc10670da7ae877.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"cache-v2" :
{
"jsonFile" : "cache-v2-23e770df8a5ae13f5555.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
"cmakeFiles-v1" :
{
"jsonFile" : "cmakeFiles-v1-492858e90db18a030018.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 1
}
},
"codemodel-v2" :
{
"jsonFile" : "codemodel-v2-747bbf1383263262039b.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 7
}
},
"toolchains-v1" :
{
"jsonFile" : "toolchains-v1-d1c4dbc10670da7ae877.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
}
}

View File

@ -0,0 +1,477 @@
{
"artifacts" :
[
{
"path" : "drogon_ctl/_drogon_ctl"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"add_definitions",
"include_directories",
"set_property"
],
"files" :
[
"drogon_ctl/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 14,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 19,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 3
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 5
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 5
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 3
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 3
},
{
"file" : 3,
"parent" : 9
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 10
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 3
},
{
"file" : 4,
"parent" : 12
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 13
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 3
},
{
"file" : 5,
"parent" : 15
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 16
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 3
},
{
"file" : 6,
"parent" : 18
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 19
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 3
},
{
"file" : 7,
"parent" : 21
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 22
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 3
},
{
"file" : 8,
"parent" : 24
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 25
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 3
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 3
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 3
},
{
"command" : 4,
"file" : 1,
"line" : 267,
"parent" : 3
},
{
"command" : 4,
"file" : 1,
"line" : 253,
"parent" : 3
},
{
"command" : 4,
"file" : 1,
"line" : 480,
"parent" : 3
},
{
"command" : 5,
"file" : 1,
"line" : 373,
"parent" : 3
},
{
"command" : 6,
"file" : 0,
"line" : 82,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
}
],
"defines" :
[
{
"backtrace" : 30,
"define" : "USE_BROTLI"
},
{
"backtrace" : 31,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 32,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 33,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 2,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 2,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
34
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1,
2,
3
]
}
],
"dependencies" :
[
{
"backtrace" : 2,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 2,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "_drogon_ctl::@10d9b3e6efcee8d69830",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 4,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 8,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 11,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 14,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 17,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 17,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 17,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 20,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 23,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 29,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "_drogon_ctl",
"nameOnDisk" : "_drogon_ctl",
"paths" :
{
"build" : "drogon_ctl",
"source" : "drogon_ctl"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/main.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/cmd.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_view.cc",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,894 @@
{
"artifacts" :
[
{
"path" : "drogon_ctl/drogon_ctl"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"install",
"target_link_libraries",
"set_target_properties",
"find_package",
"add_custom_command",
"add_definitions",
"include_directories",
"target_include_directories",
"set_property"
],
"files" :
[
"drogon_ctl/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 51,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 62,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 52,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 2,
"file" : 1,
"line" : 139,
"parent" : 4
},
{
"file" : 2
},
{
"command" : 2,
"file" : 2,
"line" : 128,
"parent" : 6
},
{
"command" : 2,
"file" : 2,
"line" : 173,
"parent" : 6
},
{
"command" : 2,
"file" : 1,
"line" : 148,
"parent" : 4
},
{
"command" : 4,
"file" : 1,
"line" : 222,
"parent" : 4
},
{
"file" : 3,
"parent" : 10
},
{
"command" : 3,
"file" : 3,
"line" : 64,
"parent" : 11
},
{
"command" : 4,
"file" : 1,
"line" : 243,
"parent" : 4
},
{
"file" : 4,
"parent" : 13
},
{
"command" : 3,
"file" : 4,
"line" : 110,
"parent" : 14
},
{
"command" : 4,
"file" : 1,
"line" : 264,
"parent" : 4
},
{
"file" : 5,
"parent" : 16
},
{
"command" : 3,
"file" : 5,
"line" : 45,
"parent" : 17
},
{
"command" : 4,
"file" : 1,
"line" : 377,
"parent" : 4
},
{
"file" : 6,
"parent" : 19
},
{
"command" : 3,
"file" : 6,
"line" : 16,
"parent" : 20
},
{
"command" : 4,
"file" : 1,
"line" : 452,
"parent" : 4
},
{
"file" : 7,
"parent" : 22
},
{
"command" : 3,
"file" : 7,
"line" : 33,
"parent" : 23
},
{
"command" : 4,
"file" : 1,
"line" : 478,
"parent" : 4
},
{
"file" : 8,
"parent" : 25
},
{
"command" : 3,
"file" : 8,
"line" : 36,
"parent" : 26
},
{
"command" : 2,
"file" : 1,
"line" : 520,
"parent" : 4
},
{
"command" : 2,
"file" : 1,
"line" : 524,
"parent" : 4
},
{
"command" : 2,
"file" : 1,
"line" : 576,
"parent" : 4
},
{
"command" : 5,
"file" : 0,
"line" : 41,
"parent" : 0
},
{
"command" : 6,
"file" : 1,
"line" : 267,
"parent" : 4
},
{
"command" : 6,
"file" : 1,
"line" : 253,
"parent" : 4
},
{
"command" : 6,
"file" : 1,
"line" : 480,
"parent" : 4
},
{
"command" : 7,
"file" : 1,
"line" : 373,
"parent" : 4
},
{
"command" : 8,
"file" : 0,
"line" : 53,
"parent" : 0
},
{
"command" : 9,
"file" : 0,
"line" : 82,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
}
],
"defines" :
[
{
"backtrace" : 32,
"define" : "USE_BROTLI"
},
{
"backtrace" : 33,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 34,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 35,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 36,
"path" : "/home/wjy/Code/drogon/drogon_ctl"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 3,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 3,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
37
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30
]
}
],
"dependencies" :
[
{
"backtrace" : 3,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 31,
"id" : "_drogon_ctl::@10d9b3e6efcee8d69830"
},
{
"backtrace" : 3,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "drogon_ctl::@10d9b3e6efcee8d69830",
"install" :
{
"destinations" :
[
{
"backtrace" : 2,
"path" : "bin"
}
],
"prefix" :
{
"path" : "/usr/local"
}
},
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib:",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 8,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 9,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 12,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 15,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 18,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 18,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 18,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 21,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 24,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 29,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 29,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 30,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "drogon_ctl",
"nameOnDisk" : "drogon_ctl",
"paths" :
{
"build" : "drogon_ctl",
"source" : "drogon_ctl"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30
]
},
{
"name" : "CMake Rules",
"sourceIndexes" :
[
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/cmd.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_controller.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_filter.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_model.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_plugin.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_project.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/create_view.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/help.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/main.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/press.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "drogon_ctl/version.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/cmake.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/config.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/demoMain.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/filter_cc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/filter_h.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/gitignore.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/model_cc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/model_h.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/model_json.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/plugin_cc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/plugin_h.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_base_cc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_base_h.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_cc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_custom_cc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_custom_h.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_h.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/test_cmake.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/test_main.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/cmake.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/config.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/demoMain.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/filter_cc.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/filter_h.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/gitignore.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/model_cc.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/model_h.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/model_json.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/plugin_cc.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/plugin_h.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_base_cc.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_base_h.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_cc.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_custom_cc.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_custom_h.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/restful_controller_h.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/test_cmake.h.rule",
"sourceGroupIndex" : 1
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/drogon_ctl/test_main.h.rule",
"sourceGroupIndex" : 1
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,522 @@
{
"artifacts" :
[
{
"path" : "src/file2rtc"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"add_custom_command",
"drogon_create_views",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property",
"target_sources"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake",
"cmake/DrogonUtilities.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 15,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 5,
"file" : 0,
"line" : 16,
"parent" : 0
},
{
"command" : 4,
"file" : 9,
"line" : 57,
"parent" : 29
},
{
"command" : 6,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 7,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 7,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 7,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 8,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 9,
"file" : 0,
"line" : 41,
"parent" : 0
},
{
"command" : 10,
"file" : 9,
"line" : 71,
"parent" : 29
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 31,
"fragment" : "-Wall"
},
{
"backtrace" : 31,
"fragment" : "-Wextra"
},
{
"backtrace" : 31,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 32,
"define" : "USE_BROTLI"
},
{
"backtrace" : 33,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 34,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 35,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
36
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1,
2
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 30,
"id" : "drogon_ctl::@10d9b3e6efcee8d69830"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "file2rtc::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "file2rtc",
"nameOnDisk" : "file2rtc",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2
]
},
{
"name" : "CMake Rules",
"sourceIndexes" :
[
3
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/file2rtc/File2RTC.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/util/RTCContext.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 37,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/src/File2RTC.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/src/File2RTC.h.rule",
"sourceGroupIndex" : 1
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,514 @@
{
"artifacts" :
[
{
"path" : "src/file2websocket"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"add_custom_command",
"drogon_create_views",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property",
"target_sources"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake",
"cmake/DrogonUtilities.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 19,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 5,
"file" : 0,
"line" : 20,
"parent" : 0
},
{
"command" : 4,
"file" : 9,
"line" : 57,
"parent" : 29
},
{
"command" : 6,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 7,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 7,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 7,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 8,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 9,
"file" : 0,
"line" : 41,
"parent" : 0
},
{
"command" : 10,
"file" : 9,
"line" : 71,
"parent" : 29
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 31,
"fragment" : "-Wall"
},
{
"backtrace" : 31,
"fragment" : "-Wextra"
},
{
"backtrace" : 31,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 32,
"define" : "USE_BROTLI"
},
{
"backtrace" : 33,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 34,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 35,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
36
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 30,
"id" : "drogon_ctl::@10d9b3e6efcee8d69830"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "file2websocket::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "file2websocket",
"nameOnDisk" : "file2websocket",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
},
{
"name" : "CMake Rules",
"sourceIndexes" :
[
2
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/file2websocket/File2WebSocket.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 37,
"compileGroupIndex" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/src/File2WebSocket.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 0,
"isGenerated" : true,
"path" : "cmake-build-debug/src/File2WebSocket.h.rule",
"sourceGroupIndex" : 1
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,474 @@
{
"artifacts" :
[
{
"path" : "src/rtc"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 3,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 4,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 5,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 6,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 7,
"file" : 0,
"line" : 41,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 29,
"fragment" : "-Wall"
},
{
"backtrace" : 29,
"fragment" : "-Wextra"
},
{
"backtrace" : 29,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 30,
"define" : "USE_BROTLI"
},
{
"backtrace" : 31,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 32,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 33,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
34
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "rtc::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "rtc",
"nameOnDisk" : "rtc",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/rtc/rtc.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/util/RTCContext.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,474 @@
{
"artifacts" :
[
{
"path" : "src/rtc_send"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 7,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 4,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 5,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 6,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 7,
"file" : 0,
"line" : 41,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 29,
"fragment" : "-Wall"
},
{
"backtrace" : 29,
"fragment" : "-Wextra"
},
{
"backtrace" : 29,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 30,
"define" : "USE_BROTLI"
},
{
"backtrace" : 31,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 32,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 33,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
34
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "rtc_send::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "rtc_send",
"nameOnDisk" : "rtc_send",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/rtc_send/rtcSend.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/util/RTCContext.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,623 @@
{
"archive" : {},
"artifacts" :
[
{
"path" : "trantor/libtrantor.a"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"install",
"target_compile_options",
"target_compile_definitions",
"target_include_directories",
"set_target_properties",
"target_sources"
],
"files" :
[
"trantor/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 28,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 244,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 48,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 133,
"parent" : 0
},
{
"command" : 4,
"file" : 0,
"line" : 59,
"parent" : 0
},
{
"command" : 5,
"file" : 0,
"line" : 185,
"parent" : 0
},
{
"command" : 6,
"file" : 0,
"line" : 227,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++14 -fdiagnostics-color=always"
},
{
"backtrace" : 3,
"fragment" : "-Wall"
},
{
"backtrace" : 3,
"fragment" : "-Wextra"
},
{
"backtrace" : 3,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 4,
"define" : "USE_OPENSSL"
}
],
"includes" :
[
{
"backtrace" : 5,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 5,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 5,
"path" : "/home/wjy/Code/drogon/trantor/trantor/utils"
},
{
"backtrace" : 5,
"path" : "/home/wjy/Code/drogon/trantor/trantor/net"
},
{
"backtrace" : 5,
"path" : "/home/wjy/Code/drogon/trantor/trantor/net/inner"
},
{
"backtrace" : 5,
"path" : "/home/wjy/Code/drogon/trantor/third_party/wepoll"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
6
],
"standard" : "14"
},
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
}
],
"id" : "trantor::@135e1d2372f0a48525e0",
"install" :
{
"destinations" :
[
{
"backtrace" : 2,
"path" : "lib"
}
],
"prefix" :
{
"path" : "/usr/local"
}
},
"name" : "trantor",
"nameOnDisk" : "libtrantor.a",
"paths" :
{
"build" : "trantor",
"source" : "trantor"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
},
{
"name" : "Public API",
"sourceIndexes" :
[
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51
]
},
{
"name" : "Private Headers",
"sourceIndexes" :
[
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62
]
}
],
"sources" :
[
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/AsyncFileLogger.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/ConcurrentTaskQueue.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/Date.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/LogStream.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/Logger.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/MsgBuffer.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/SerialTaskQueue.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/TimingWheel.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/utils/Utilities.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/EventLoop.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/EventLoopThread.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/EventLoopThreadPool.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/InetAddress.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/TcpClient.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/TcpServer.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/Channel.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/Acceptor.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/Connector.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/Poller.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/Socket.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/TcpConnectionImpl.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/Timer.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/TimerQueue.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/poller/EpollPoller.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/poller/KQueue.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/poller/PollPoller.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"compileGroupIndex" : 0,
"path" : "trantor/trantor/net/inner/NormalResolver.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 7,
"path" : "cmake-build-debug/trantor/exports/trantor/exports.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/EventLoop.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/EventLoopThread.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/EventLoopThreadPool.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/InetAddress.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/TcpClient.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/TcpConnection.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/TcpServer.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/callbacks.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/Resolver.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/Channel.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/AsyncFileLogger.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/ConcurrentTaskQueue.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/Date.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/Funcs.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/LockFreeQueue.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/LogStream.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/Logger.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/MsgBuffer.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/NonCopyable.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/ObjectPool.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/SerialTaskQueue.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/TaskQueue.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/TimingWheel.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/utils/Utilities.h",
"sourceGroupIndex" : 1
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/Acceptor.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/Connector.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/Poller.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/Socket.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/TcpConnectionImpl.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/Timer.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/TimerQueue.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/poller/EpollPoller.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/poller/KQueue.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/poller/PollPoller.h",
"sourceGroupIndex" : 2
},
{
"backtrace" : 7,
"path" : "trantor/trantor/net/inner/NormalResolver.h",
"sourceGroupIndex" : 2
}
],
"type" : "STATIC_LIBRARY"
}

View File

@ -0,0 +1,474 @@
{
"artifacts" :
[
{
"path" : "src/websocket2rtc"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 13,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 4,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 5,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 6,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 7,
"file" : 0,
"line" : 41,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 29,
"fragment" : "-Wall"
},
{
"backtrace" : 29,
"fragment" : "-Wextra"
},
{
"backtrace" : 29,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 30,
"define" : "USE_BROTLI"
},
{
"backtrace" : 31,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 32,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 33,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
34
],
"standard" : "17"
},
"sourceIndexes" :
[
0,
1
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "websocket2rtc::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "websocket2rtc",
"nameOnDisk" : "websocket2rtc",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/websocket2rtc/WebSocket2RTC.cc",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/util/RTCContext.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,466 @@
{
"artifacts" :
[
{
"path" : "src/websocket_client"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 4,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 5,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 6,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 7,
"file" : 0,
"line" : 41,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 29,
"fragment" : "-Wall"
},
{
"backtrace" : 29,
"fragment" : "-Wextra"
},
{
"backtrace" : 29,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 30,
"define" : "USE_BROTLI"
},
{
"backtrace" : 31,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 32,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 33,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
34
],
"standard" : "17"
},
"sourceIndexes" :
[
0
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "websocket_client::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "websocket_client",
"nameOnDisk" : "websocket_client",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/websocket_client/WebSocketClient.cc",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,466 @@
{
"artifacts" :
[
{
"path" : "src/websocket_server"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable",
"target_link_libraries",
"set_target_properties",
"find_package",
"target_compile_options",
"add_definitions",
"include_directories",
"set_property"
],
"files" :
[
"src/CMakeLists.txt",
"CMakeLists.txt",
"trantor/CMakeLists.txt",
"cmake_modules/FindJsoncpp.cmake",
"cmake_modules/FindUUID.cmake",
"cmake_modules/FindBrotli.cmake",
"cmake_modules/Findpg.cmake",
"cmake_modules/FindSQLite3.cmake",
"cmake_modules/FindHiredis.cmake"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 12,
"parent" : 0
},
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 139,
"parent" : 2
},
{
"file" : 2
},
{
"command" : 1,
"file" : 2,
"line" : 128,
"parent" : 4
},
{
"command" : 1,
"file" : 2,
"line" : 173,
"parent" : 4
},
{
"command" : 1,
"file" : 1,
"line" : 148,
"parent" : 2
},
{
"command" : 3,
"file" : 1,
"line" : 222,
"parent" : 2
},
{
"file" : 3,
"parent" : 8
},
{
"command" : 2,
"file" : 3,
"line" : 64,
"parent" : 9
},
{
"command" : 3,
"file" : 1,
"line" : 243,
"parent" : 2
},
{
"file" : 4,
"parent" : 11
},
{
"command" : 2,
"file" : 4,
"line" : 110,
"parent" : 12
},
{
"command" : 3,
"file" : 1,
"line" : 264,
"parent" : 2
},
{
"file" : 5,
"parent" : 14
},
{
"command" : 2,
"file" : 5,
"line" : 45,
"parent" : 15
},
{
"command" : 3,
"file" : 1,
"line" : 377,
"parent" : 2
},
{
"file" : 6,
"parent" : 17
},
{
"command" : 2,
"file" : 6,
"line" : 16,
"parent" : 18
},
{
"command" : 3,
"file" : 1,
"line" : 452,
"parent" : 2
},
{
"file" : 7,
"parent" : 20
},
{
"command" : 2,
"file" : 7,
"line" : 33,
"parent" : 21
},
{
"command" : 3,
"file" : 1,
"line" : 478,
"parent" : 2
},
{
"file" : 8,
"parent" : 23
},
{
"command" : 2,
"file" : 8,
"line" : 36,
"parent" : 24
},
{
"command" : 1,
"file" : 1,
"line" : 520,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 524,
"parent" : 2
},
{
"command" : 1,
"file" : 1,
"line" : 576,
"parent" : 2
},
{
"command" : 4,
"file" : 0,
"line" : 37,
"parent" : 0
},
{
"command" : 5,
"file" : 1,
"line" : 267,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 253,
"parent" : 2
},
{
"command" : 5,
"file" : 1,
"line" : 480,
"parent" : 2
},
{
"command" : 6,
"file" : 1,
"line" : 373,
"parent" : 2
},
{
"command" : 7,
"file" : 0,
"line" : 41,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : " -Wno-unused-parameter -g -std=c++17 -fdiagnostics-color=always"
},
{
"backtrace" : 29,
"fragment" : "-Wall"
},
{
"backtrace" : 29,
"fragment" : "-Wextra"
},
{
"backtrace" : 29,
"fragment" : "-Werror"
}
],
"defines" :
[
{
"backtrace" : 30,
"define" : "USE_BROTLI"
},
{
"backtrace" : 31,
"define" : "USE_OSSP_UUID=0"
},
{
"backtrace" : 32,
"define" : "USE_REDIS"
}
],
"includes" :
[
{
"backtrace" : 33,
"path" : "/home/wjy/Code/drogon/third_party/rtc/include"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/trantor"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/orm_lib/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/nosql_lib/redis/inc"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/exports"
},
{
"backtrace" : 1,
"path" : "/home/wjy/Code/drogon/cmake-build-debug/trantor/exports"
},
{
"backtrace" : 1,
"isSystem" : true,
"path" : "/usr/include/jsoncpp"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
34
],
"standard" : "17"
},
"sourceIndexes" :
[
0
]
}
],
"dependencies" :
[
{
"backtrace" : 1,
"id" : "trantor::@135e1d2372f0a48525e0"
},
{
"backtrace" : 1,
"id" : "drogon::@6890427a1f51a3e7e1df"
}
],
"id" : "websocket_server::@145eef247bfb46b6828c",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-Wno-unused-parameter -g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
},
{
"fragment" : "-Wl,-rpath,/usr/local/lib",
"role" : "libraries"
},
{
"backtrace" : 1,
"fragment" : "libdrogon.a",
"role" : "libraries"
},
{
"backtrace" : 3,
"fragment" : "trantor/libtrantor.a",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 5,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 6,
"fragment" : "-lpthread",
"role" : "libraries"
},
{
"backtrace" : 7,
"fragment" : "-ldl",
"role" : "libraries"
},
{
"backtrace" : 10,
"fragment" : "/usr/lib/x86_64-linux-gnu/libjsoncpp.so",
"role" : "libraries"
},
{
"backtrace" : 13,
"fragment" : "/usr/lib/x86_64-linux-gnu/libuuid.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlidec.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlienc.so",
"role" : "libraries"
},
{
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so",
"role" : "libraries"
},
{
"backtrace" : 19,
"fragment" : "/usr/lib/x86_64-linux-gnu/libpq.so",
"role" : "libraries"
},
{
"backtrace" : 22,
"fragment" : "/usr/lib/x86_64-linux-gnu/libsqlite3.so",
"role" : "libraries"
},
{
"backtrace" : 25,
"fragment" : "/usr/lib/x86_64-linux-gnu/libhiredis.so",
"role" : "libraries"
},
{
"backtrace" : 26,
"fragment" : "/usr/lib/x86_64-linux-gnu/libz.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libssl.so",
"role" : "libraries"
},
{
"backtrace" : 27,
"fragment" : "/usr/lib/x86_64-linux-gnu/libcrypto.so",
"role" : "libraries"
},
{
"backtrace" : 28,
"fragment" : "/usr/local/lib/libMRTCEngine.so",
"role" : "libraries"
}
],
"language" : "CXX"
},
"name" : "websocket_server",
"nameOnDisk" : "websocket_server",
"paths" :
{
"build" : "src",
"source" : "src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "src/websocket_server/WebSocketServer.cc",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,110 @@
{
"kind" : "toolchains",
"toolchains" :
[
{
"compiler" :
{
"id" : "GNU",
"implicit" :
{
"includeDirectories" :
[
"/usr/lib/gcc/x86_64-linux-gnu/13/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"linkDirectories" :
[
"/usr/lib/gcc/x86_64-linux-gnu/13",
"/usr/lib/x86_64-linux-gnu",
"/usr/lib",
"/lib/x86_64-linux-gnu",
"/lib"
],
"linkFrameworkDirectories" : [],
"linkLibraries" :
[
"gcc",
"gcc_s",
"c",
"gcc",
"gcc_s"
]
},
"path" : "/usr/bin/cc",
"version" : "13.3.0"
},
"language" : "C",
"sourceFileExtensions" :
[
"c",
"m"
]
},
{
"compiler" :
{
"id" : "GNU",
"implicit" :
{
"includeDirectories" :
[
"/usr/include/c++/11",
"/usr/include/x86_64-linux-gnu/c++/11",
"/usr/include/c++/11/backward",
"/usr/lib/gcc/x86_64-linux-gnu/11/include",
"/usr/local/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include"
],
"linkDirectories" :
[
"/usr/lib/gcc/x86_64-linux-gnu/11",
"/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" : "11.4.0"
},
"language" : "CXX",
"sourceFileExtensions" :
[
"C",
"M",
"c++",
"cc",
"cpp",
"cxx",
"mm",
"mpp",
"CPP",
"ixx",
"cppm",
"ccm",
"cxxm",
"c++m"
]
}
],
"version" :
{
"major" : 1,
"minor" : 0
}
}

Binary file not shown.

View File

@ -0,0 +1,250 @@
# ninja log v6
76798 78335 1743827342545789546 drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_cc.cc.o 3fe4dd2c2f0ce43f
32381 33344 1743649279498769321 trantor/CMakeFiles/trantor.dir/trantor/net/InetAddress.cc.o 672863e722d6559
58337 60612 1743649305454783480 CMakeFiles/drogon.dir/src/websocket_server/main.cc.o cb90136e439c0289
43244 46447 1743827308992069916 CMakeFiles/drogon.dir/orm_lib/src/sqlite3_impl/Sqlite3Connection.cc.o 69f818b8347e2017
49166 50062 1743649296283778600 trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/EpollPoller.cc.o 7f74544eab34e506
5521 8057 1743849956304788509 src/CMakeFiles/websocket2rtc.dir/websocket2rtc/WebSocket2RTC.cc.o 4b3e8c05e959ff1c
5265 5470 1743693435335779436 drogon_ctl/config.cc 109b8d09a04d1fc4
5203 6919 1743850534424187455 src/websocket_server baf24e8d007aa092
193138 194596 1743649440255841013 CMakeFiles/drogon.dir/orm_lib/src/DbClient.cc.o 1db368dd60faa248
15 593 1743693429882678034 drogon_ctl/CMakeFiles/_drogon_ctl.dir/main.cc.o e19673afefe8424e
6476 6516 1743693436382798876 drogon_ctl/restful_controller_cc.h fd212cf598c6d12f
6021 7761 1743827271769271594 CMakeFiles/drogon.dir/lib/src/AOPAdvice.cc.o dc9ce622dbbb0b2c
4455 5238 1743693434322760618 src/CMakeFiles/rtc_recv.dir/util/RTCImpl.cpp.o 6031ad40e966857
14106 15103 1743693443973939544 drogon_ctl/CMakeFiles/drogon_ctl.dir/help.cc.o cf4b91d6ac530ba0
52300 55083 1743827318048264145 CMakeFiles/drogon.dir/orm_lib/src/DbClientManager.cc.o 7283961eef3191d4
4466 6582 1743827270214238243 CMakeFiles/drogon.dir/src/websocket_client/WebSocketClient.cc.o 566836b794f2df67
5353 5380 1743693435246777783 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/filter_h.cc 8ea4b6b9f022a6fe
21913 26399 1743827287660612418 CMakeFiles/drogon.dir/lib/src/HttpServer.cc.o 315bc85e120f5222
18443 21912 1743827284190537994 CMakeFiles/drogon.dir/lib/src/HttpRequestImpl.cc.o 7ac001af58ae5e94
5471 6621 1743693436487800825 drogon_ctl/model_cc.cc 399ce4614779e0d7
6077 6103 1743693435969791210 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/plugin_h.cc 25f71b374c5b1dd4
28840 29974 1743827294587760985 CMakeFiles/drogon.dir/lib/src/NotFound.cc.o a153733bd88272a1
3588 3788 1743850532809152818 drogon_ctl/_drogon_ctl 9df239c358ca6259
176589 177464 1743649423706835268 CMakeFiles/drogon.dir/orm_lib/src/sqlite3_impl/Sqlite3ResultImpl.cc.o 62bde8a23d7079f9
4590 5812 1743835175266778882 src/CMakeFiles/rtc_send.dir/util/RTCImpl.cpp.o 7df86e8bb7e3659a
66576 67642 1743649313693787752 CMakeFiles/drogon.dir/lib/src/DrClassMap.cc.o f9353d38d13d184
11485 14535 1743649258602757095 trantor/CMakeFiles/trantor.dir/trantor/utils/LogStream.cc.o ed1d04a6cb973558
5265 5470 1743693435335779436 drogon_ctl/config.h 109b8d09a04d1fc4
3124 5520 1743849953907737100 src/CMakeFiles/rtc.dir/rtc/rtc.cc.o 5bd2680ae4dce1b5
39655 40958 1743649286773773402 trantor/CMakeFiles/trantor.dir/trantor/net/inner/Acceptor.cc.o c0d8245e79a7f33a
6060 6077 1743693435943790727 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/plugin_cc.cc eee7fd8e06f155ad
5655 5991 1743693435858789149 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/model_h.cc 297f269fde59131f
186760 187704 1743649433877838839 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisResult.cc.o 7dc52576aa73c64e
78336 79730 1743827344083822532 drogon_ctl/CMakeFiles/drogon_ctl.dir/test_cmake.cc.o 6428346535381e8f
191380 191831 1743649438497840419 CMakeFiles/drogon.dir/orm_lib/src/ArrayParser.cc.o 3a7eb31f0ff1821
180173 182591 1743649427290836541 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisClientLockFree.cc.o 6d0fa42157fb47e7
20 1204 1743827265768142887 trantor/CMakeFiles/trantor.dir/trantor/utils/AsyncFileLogger.cc.o b35236515c1bcef7
185102 186760 1743649432219838265 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisConnection.cc.o fe8f0f395841c193
177464 180173 1743649424582835580 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisClientImpl.cc.o 62e2460144bfb040
6077 6103 1743693435969791210 drogon_ctl/plugin_h.h 25f71b374c5b1dd4
5471 6621 1743693436487800825 drogon_ctl/model_cc.h 399ce4614779e0d7
6516 6560 1743693436426799693 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_custom_cc.h 59d5ac81fa116d6
31589 32381 1743649278706768872 trantor/CMakeFiles/trantor.dir/trantor/net/EventLoopThreadPool.cc.o 63dad58d14c0744c
53778 54083 1743827319525295823 trantor/libtrantor.a 9267738ccb6edf9b
5315 5328 1743693435195776836 drogon_ctl/demoMain.h d27ba0ba2800cc65
41435 47741 1743827307183031117 CMakeFiles/drogon.dir/lib/src/Hodor.cc.o f147bf67e0aaca32
3589 5299 1743850532810152839 src/rtc_send da3e328c4f77d615
51411 54243 1743827317159245078 CMakeFiles/drogon.dir/orm_lib/src/RestfulController.cc.o 93b7b8b5449d32cb
5353 5380 1743693435246777783 drogon_ctl/filter_h.h 8ea4b6b9f022a6fe
23595 25160 1743827289342648492 CMakeFiles/drogon.dir/lib/src/HttpUtils.cc.o 7c206c2739cd41b9
6621 6692 1743693436558802143 drogon_ctl/restful_controller_h.h 1d2746cd2c780722
6639 6669 1743693436535801716 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/test_main.h c1751bf6af41f307
6626 6638 1743693436505801160 drogon_ctl/test_cmake.cc c89723a73ec20724
11774 18867 1743827277522394982 CMakeFiles/drogon.dir/lib/src/HttpControllersRouter.cc.o 14393d35465fd466
4005 9608 1743649251122752526 trantor/CMakeFiles/trantor.dir/trantor/utils/ConcurrentTaskQueue.cc.o c87d9211d4c395a9
6621 6692 1743693436558802143 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_h.h 1d2746cd2c780722
68863 70194 1743827334609619338 drogon_ctl/CMakeFiles/drogon_ctl.dir/demoMain.cc.o 2c625404ec9d4545
16775 18514 1743827282522502220 CMakeFiles/drogon.dir/lib/src/HttpFileUploadRequest.cc.o f8aaf17fd8f870d9
5655 5991 1743693435858789149 drogon_ctl/model_h.h 297f269fde59131f
11367 15808 1743827277115386253 CMakeFiles/drogon.dir/lib/src/HttpClientImpl.cc.o 5e0da1c75800556
39832 43244 1743827305579996736 CMakeFiles/drogon.dir/lib/src/WebsocketControllersRouter.cc.o ac7a82f470476ebd
15 990 1743693429882678034 drogon_ctl/CMakeFiles/_drogon_ctl.dir/cmd.cc.o 9fa8f173a2652b15
6639 6669 1743693436535801716 drogon_ctl/test_main.cc c1751bf6af41f307
67456 69830 1743827333203589183 drogon_ctl/CMakeFiles/drogon_ctl.dir/press.cc.o 661dd0df9195c439
47742 48952 1743827313491166408 CMakeFiles/drogon.dir/orm_lib/src/Field.cc.o 6a154e5f60396cec
13 2870 1743693429880677997 CMakeFiles/drogon.dir/src/rtc_recv/rtc_recv.cc.o ba662e01888e8cd9
40157 40760 1743827305906003729 CMakeFiles/drogon.dir/lib/src/RateLimiter.cc.o b304e5b4cfcaef8f
5655 5991 1743693435858789149 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/model_h.h 297f269fde59131f
3589 5203 1743850532810152839 src/rtc ce9128fc16f6301c
59439 63420 1743827325186417238 drogon_ctl/CMakeFiles/drogon_ctl.dir/create_filter.cc.o a944b09062b8a987
29747 31589 1743649276864767821 trantor/CMakeFiles/trantor.dir/trantor/net/EventLoopThread.cc.o f635f132d01d8b72
74166 75634 1743827339913733096 drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_h.cc.o d480e407169f323
126832 127106 1743649373949815877 CMakeFiles/drogon.dir/lib/src/RangeParser.cc.o 8d9118c9d9607dab
6476 6516 1743693436382798876 drogon_ctl/restful_controller_cc.cc fd212cf598c6d12f
6692 7661 1743693436559802162 drogon_ctl/CMakeFiles/drogon_ctl.dir/cmd.cc.o 5bff41f546a0eadd
5353 5380 1743693435246777783 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/filter_h.h 8ea4b6b9f022a6fe
15626 16715 1743693445493967650 drogon_ctl/CMakeFiles/drogon_ctl.dir/version.cc.o 982b69e9fa5747c4
44684 47599 1743827310432100800 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisClientManager.cc.o 5b2c599540b7391a
6476 6516 1743693436382798876 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_cc.cc fd212cf598c6d12f
15808 18442 1743827281556481502 CMakeFiles/drogon.dir/lib/src/HttpFileImpl.cc.o 45dfd6906640abb
6077 6103 1743693435969791210 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/plugin_h.h 25f71b374c5b1dd4
5328 5350 1743693435216777226 drogon_ctl/filter_cc.h 4c33cbf862d75e46
5275 7046 1743850534496189000 src/websocket2rtc 6bd6c3a1fc2c7205
26400 29412 1743827292144708588 CMakeFiles/drogon.dir/lib/src/ListenerManager.cc.o 1c7d8313369f9b67
593 1520 1743693430460688794 drogon_ctl/CMakeFiles/_drogon_ctl.dir/create.cc.o 73ee492cf356af87
63421 67455 1743827329168502642 drogon_ctl/CMakeFiles/drogon_ctl.dir/create_plugin.cc.o fd46b8b391b2e036
42421 43133 1743649289538774925 trantor/CMakeFiles/trantor.dir/trantor/net/inner/Poller.cc.o 42da1bc02f46fc4c
5265 5470 1743693435335779436 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/config.cc 109b8d09a04d1fc4
6103 6422 1743693436288797132 drogon_ctl/restful_controller_base_cc.h 522f9cde6e64371c
51613 52780 1743649298730779915 trantor/CMakeFiles/trantor.dir/trantor/net/inner/NormalResolver.cc.o fb695cf5716fac29
125841 126832 1743649372958815457 CMakeFiles/drogon.dir/lib/src/PluginsManager.cc.o a87ecc9b5b3bca68
63442 64836 1743827329189503092 drogon_ctl/CMakeFiles/drogon_ctl.dir/create_project.cc.o 9179bbc458a95f52
18867 23275 1743827284614547088 CMakeFiles/drogon.dir/lib/src/HttpResponseImpl.cc.o 2d09cce61418f1c8
6077 6103 1743693435969791210 drogon_ctl/plugin_h.cc 25f71b374c5b1dd4
207877 208361 1743649454994845848 CMakeFiles/drogon.dir/orm_lib/src/Exception.cc.o c9796d6eff7d75ab
5265 5315 1743693435179776539 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/cmake.h db6af62531cae010
74595 76798 1743827340342742297 drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_cc.cc.o 5f414296b19338f4
33371 35840 1743827299118858164 CMakeFiles/drogon.dir/lib/src/SessionManager.cc.o 94f80ce228abd616
6626 6638 1743693436505801160 drogon_ctl/test_cmake.h c89723a73ec20724
5265 5315 1743693435179776539 drogon_ctl/cmake.h db6af62531cae010
6626 6638 1743693436505801160 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/test_cmake.h c89723a73ec20724
206471 207877 1743649453589845398 CMakeFiles/drogon.dir/orm_lib/src/DbListener.cc.o 39a8eebc5bd6a5e4
75015 77022 1743827340762751305 drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_base_h.cc.o 47a18443a05043ba
9862 11774 1743827275609353953 CMakeFiles/drogon.dir/lib/src/HttpBinder.cc.o f1cc15fbc747d5bc
5992 6060 1743693435926790412 drogon_ctl/model_json.h 125fccaf491ce21
6639 6669 1743693436535801716 drogon_ctl/test_main.h c1751bf6af41f307
6422 6476 1743693436343798153 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_base_h.cc 4636fcead3bbbcb6
77152 79193 1743827342900797159 drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_h.cc.o 254c2e8ed6fa7f91
6060 6077 1743693435943790727 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/plugin_cc.h eee7fd8e06f155ad
5992 6060 1743693435926790412 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/model_json.h 125fccaf491ce21
71810 73216 1743827337557682565 drogon_ctl/CMakeFiles/drogon_ctl.dir/model_json.cc.o 80978ade103b5b5f
5655 5991 1743693435858789149 drogon_ctl/model_h.cc 297f269fde59131f
48952 53777 1743827314700192338 CMakeFiles/drogon.dir/orm_lib/src/SqlBinder.cc.o a2c2724b06f91253
6422 6476 1743693436343798153 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_base_h.h 4636fcead3bbbcb6
29412 34609 1743827295159773253 CMakeFiles/drogon.dir/lib/src/SecureSSLRedirector.cc.o 6f2e2d139b43bbdd
7765 8645 1743827273512308977 CMakeFiles/drogon.dir/lib/src/Cookie.cc.o 54e2afb466e81e25
24198 28145 1743649271315764623 trantor/CMakeFiles/trantor.dir/trantor/utils/TimingWheel.cc.o e8385ac5d0acc554
64836 68814 1743827330584533011 drogon_ctl/CMakeFiles/drogon_ctl.dir/create_view.cc.o 84a697b0619b3425
22 555 1743827265770142930 trantor/CMakeFiles/trantor.dir/trantor/utils/Utilities.cc.o 6fb40efe5ea7ea68
34609 40939 1743827300356884716 CMakeFiles/drogon.dir/lib/src/StaticFileRouter.cc.o 2c1d310c184d89c5
1520 4455 1743693431387706046 src/CMakeFiles/rtc_recv.dir/rtc_recv/rtc_recv.cc.o 209a5127774b878b
167302 168541 1743649414419831894 CMakeFiles/drogon.dir/lib/src/SharedLibManager.cc.o fbdb1db6432a3d4a
20 3080 1743692387875051238 src/CMakeFiles/rtc.dir/rtc/main.cc.o 8bd6ac98d7ae9e78
166720 167302 1743649413837831679 CMakeFiles/drogon.dir/lib/src/YamlConfigAdapter.cc.o b2e8f7144e6b4cc5
41709 44684 1743827307457036994 CMakeFiles/drogon.dir/orm_lib/src/postgresql_impl/PgBatchConnection.cc.o e4ab765ab413ba60
6516 6560 1743693436426799693 drogon_ctl/restful_controller_custom_cc.cc 59d5ac81fa116d6
47602 52300 1743827313350163384 CMakeFiles/drogon.dir/orm_lib/src/DbClientLockFree.cc.o 4ee322d0b8d6363b
6060 6077 1743693435943790727 drogon_ctl/plugin_cc.cc eee7fd8e06f155ad
6560 6626 1743693436492800918 drogon_ctl/restful_controller_custom_h.h 769044bf897ca854
5265 5315 1743693435179776539 drogon_ctl/cmake.cc db6af62531cae010
6626 6638 1743693436505801160 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/test_cmake.cc c89723a73ec20724
21 559 1743827265769142909 trantor/CMakeFiles/trantor.dir/trantor/utils/MsgBuffer.cc.o 1dc02cb34df2de1a
1204 4462 1743827266952168281 trantor/CMakeFiles/trantor.dir/trantor/net/inner/TcpConnectionImpl.cc.o b722eefc7961b385
23277 27258 1743827289024641672 CMakeFiles/drogon.dir/lib/src/HttpSimpleControllersRouter.cc.o 2668ba317017ade2
6560 6626 1743693436492800918 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_custom_h.h 769044bf897ca854
165181 166043 1743649412298831108 CMakeFiles/drogon.dir/lib/src/ConfigAdapterManager.cc.o 70139e2fea680f5f
6621 6692 1743693436558802143 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_h.cc 1d2746cd2c780722
8645 11367 1743827274392327851 CMakeFiles/drogon.dir/lib/src/FiltersFunction.cc.o 441d2977ea179bf6
62200 62783 1743649309318785497 CMakeFiles/drogon.dir/lib/src/CacheFile.cc.o 86c0f15e366c92b3
163796 165181 1743649410914830592 CMakeFiles/drogon.dir/lib/src/drogon_test.cc.o 60a1badd8cc68e9e
14535 17165 1743649261652758927 trantor/CMakeFiles/trantor.dir/trantor/utils/Logger.cc.o 7b9daedb9ecc253d
31 3473 1743849950814670762 CMakeFiles/drogon.dir/src/rtc/rtc.cc.o 2c4dc23b99e58f9f
166043 166720 1743649413161831429 CMakeFiles/drogon.dir/lib/src/JsonConfigAdapter.cc.o c4afed7672a01b2a
6560 6626 1743693436492800918 drogon_ctl/restful_controller_custom_h.cc 769044bf897ca854
6582 9860 1743827272330283626 CMakeFiles/drogon.dir/lib/src/ConfigLoader.cc.o 239b1a291cb1e0b8
38746 39654 1743649285864772897 trantor/CMakeFiles/trantor.dir/trantor/net/Channel.cc.o bdae77bd1f8dbfca
6422 6476 1743693436343798153 drogon_ctl/restful_controller_base_h.cc 4636fcead3bbbcb6
6103 6422 1743693436288797132 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_base_cc.cc 522f9cde6e64371c
5992 6060 1743693435926790412 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/model_json.cc 125fccaf491ce21
69830 71218 1743827335577640099 drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_cc.cc.o 27020cc6ce2a10ba
5380 5654 1743693435521782890 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/gitignore.h 9120742075927ddb
168541 169347 1743649415659832351 CMakeFiles/drogon.dir/orm_lib/src/postgresql_impl/PostgreSQLResultImpl.cc.o a7af4d9efc5d6bc
209224 209959 1743649456341846276 CMakeFiles/drogon.dir/orm_lib/src/Result.cc.o 8d9e12c9e7175ed2
5315 5328 1743693435195776836 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/demoMain.h d27ba0ba2800cc65
6516 6560 1743693436426799693 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_custom_cc.cc 59d5ac81fa116d6
67494 68863 1743827333241589998 drogon_ctl/CMakeFiles/drogon_ctl.dir/cmake.cc.o a795547d72f0693f
191831 193138 1743649438949840572 CMakeFiles/drogon.dir/orm_lib/src/Criteria.cc.o b02c757f3401e18c
40760 41234 1743827306508016640 CMakeFiles/drogon.dir/lib/src/FixedWindowRateLimiter.cc.o 92a161581f105746
70325 71810 1743827336072650716 drogon_ctl/CMakeFiles/drogon_ctl.dir/gitignore.cc.o 3452499a30215bbb
40959 42421 1743649288076774121 trantor/CMakeFiles/trantor.dir/trantor/net/inner/Connector.cc.o 9809208f63b7bd1a
37418 40157 1743827303165944962 CMakeFiles/drogon.dir/lib/src/WebSocketConnectionImpl.cc.o 2a71a7a5f774c24d
187704 189089 1743649434821839164 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisTransactionImpl.cc.o 9526b2a83b6e31b5
189089 189958 1743649436206839638 CMakeFiles/drogon.dir/nosql_lib/redis/src/SubscribeContext.cc.o 57c1177b6c93b181
559 3085 1743827266307154448 trantor/CMakeFiles/trantor.dir/trantor/net/TcpServer.cc.o c36d73b1fde76d3a
5471 6621 1743693436487800825 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/model_cc.h 399ce4614779e0d7
18514 21771 1743827284261539517 CMakeFiles/drogon.dir/lib/src/HttpRequestParser.cc.o 5d2a24c44a367b22
5328 5350 1743693435216777226 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/filter_cc.cc 4c33cbf862d75e46
5054 5989 1743849955837778493 src/CMakeFiles/rtc_send.dir/util/RTCContext.cpp.o c8a22abf83a925bb
7909 9104 1743827273657312087 CMakeFiles/drogon.dir/lib/src/DrTemplateBase.cc.o ebab18869ac98041
56367 58337 1743649303485782443 CMakeFiles/drogon.dir/src/websocket_client/main.cc.o ae44c64a677ffccf
27258 28840 1743827293005727055 CMakeFiles/drogon.dir/lib/src/LocalHostFilter.cc.o f0de2e5df67fbb1a
28669 29746 1743649275786767204 trantor/CMakeFiles/trantor.dir/trantor/net/EventLoop.cc.o 4ebe974007cab431
68814 70325 1743827334562618330 drogon_ctl/CMakeFiles/drogon_ctl.dir/config.cc.o 7cf1c462fb5cb5bf
5299 7364 1743850534520189514 drogon_ctl/drogon_ctl b81fd4da8ffc309e
43133 43906 1743649290250775317 trantor/CMakeFiles/trantor.dir/trantor/net/inner/Socket.cc.o af286018f4034eb
6476 6516 1743693436382798876 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_cc.h fd212cf598c6d12f
71218 75015 1743827336965669868 drogon_ctl/CMakeFiles/drogon_ctl.dir/model_cc.cc.o 359540eee8adb625
70194 71694 1743827335941647906 drogon_ctl/CMakeFiles/drogon_ctl.dir/filter_h.cc.o 7fa0945d63c63f09
6621 6692 1743693436558802143 drogon_ctl/restful_controller_h.cc 1d2746cd2c780722
47260 47923 1743649294377777569 trantor/CMakeFiles/trantor.dir/trantor/net/inner/Timer.cc.o bdc84c6f0e06207b
25160 25926 1743827290907682058 CMakeFiles/drogon.dir/lib/src/HttpViewData.cc.o 5b87c52419526e48
71694 74165 1743827337441680077 drogon_ctl/CMakeFiles/drogon_ctl.dir/model_h.cc.o 3b1ce1022acea601
25926 27496 1743827291673698487 CMakeFiles/drogon.dir/lib/src/IntranetIpFilter.cc.o 8d67acd8ffcac202
59312 63442 1743827325060414535 drogon_ctl/CMakeFiles/drogon_ctl.dir/create_controller.cc.o 24bd131905eb9626
6516 6560 1743693436426799693 drogon_ctl/restful_controller_custom_cc.h 59d5ac81fa116d6
5812 6732 1743835176488805091 src/CMakeFiles/websocket2rtc.dir/util/RTCImpl.cpp.o e86a38ab71f1323f
33 3156 1743849950816670805 CMakeFiles/drogon.dir/src/websocket2rtc/WebSocket2RTC.cc.o 33256ccae457e0a3
6693 7702 1743693436560802181 drogon_ctl/CMakeFiles/drogon_ctl.dir/create.cc.o ad83f76a7cddc711
73216 74595 1743827338963712721 drogon_ctl/CMakeFiles/drogon_ctl.dir/plugin_cc.cc.o c0af5346847ab33f
77022 79127 1743827342773794436 drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_custom_h.cc.o 1be5af021b8cb109
14 2799 1743850529236076186 src/CMakeFiles/rtc_send.dir/rtc_send/rtcSend.cc.o ab50b3a7a9955930
189958 191380 1743649437075839935 CMakeFiles/drogon.dir/nosql_lib/redis/src/RedisSubscriberImpl.cc.o 6213183104cc7af1
9109 16775 1743827274856337803 CMakeFiles/drogon.dir/lib/src/HttpAppFrameworkImpl.cc.o 519ba468b3924a05
5265 5470 1743693435335779436 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/config.h 109b8d09a04d1fc4
12 2535 1743850529233076121 CMakeFiles/drogon.dir/src/rtc_send/rtcSend.cc.o 6664c2b69b1a6e10
35841 37418 1743827301591911204 CMakeFiles/drogon.dir/lib/src/Utilities.cc.o ada4817eba55137f
79128 80520 1743827344875839519 drogon_ctl/CMakeFiles/drogon_ctl.dir/test_main.cc.o a7e27d8cf558ea54
29974 35934 1743827295721785306 CMakeFiles/drogon.dir/lib/src/AccessLogger.cc.o eae92fe66196d910
30595 33371 1743827296341798604 CMakeFiles/drogon.dir/lib/src/RealIpResolver.cc.o 93255989948e4de3
15103 15626 1743693444970957982 drogon_ctl/CMakeFiles/drogon_ctl.dir/main.cc.o b20cbbfb92bf41a1
202844 206471 1743649449961844226 CMakeFiles/drogon.dir/orm_lib/src/DbConnection.cc.o 80fd9731845088ed
6103 6422 1743693436288797132 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_base_cc.h 522f9cde6e64371c
40939 41435 1743827306687020479 CMakeFiles/drogon.dir/lib/src/SlidingWindowRateLimiter.cc.o ad4c056b57f7cf41
2591 3385 1743835173267736008 src/CMakeFiles/rtc.dir/util/RTCImpl.cpp.o f2e75dc1bfd5f436
58433 61076 1743827324180395661 src/CMakeFiles/websocket_server.dir/websocket_server/WebSocketServer.cc.o 18f34b3b1e89a15b
5238 7250 1743693435105775165 src/rtc_recv f0bd7eba602134c1
6060 6077 1743693435943790727 drogon_ctl/plugin_cc.h eee7fd8e06f155ad
41234 41709 1743827306982026806 CMakeFiles/drogon.dir/lib/src/TokenBucketRateLimiter.cc.o 8b0ca0d8c4dc8437
6560 6626 1743693436492800918 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/restful_controller_custom_h.cc 769044bf897ca854
61076 67494 1743827326823452347 drogon_ctl/CMakeFiles/drogon_ctl.dir/create_model.cc.o e779efcd566afadf
5315 5328 1743693435195776836 drogon_ctl/demoMain.cc d27ba0ba2800cc65
5265 5315 1743693435179776539 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/cmake.cc db6af62531cae010
5380 5654 1743693435521782890 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/gitignore.cc 9120742075927ddb
11 1150 1743943768376497366 build.ninja f3a1d6e58faf24b7
5991 6982 1743849956774798590 src/CMakeFiles/websocket2rtc.dir/util/RTCContext.cpp.o d91a5c01088b6656
5380 5654 1743693435521782890 drogon_ctl/gitignore.h 9120742075927ddb
5315 5328 1743693435195776836 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/demoMain.cc d27ba0ba2800cc65
21772 23595 1743827287519609393 CMakeFiles/drogon.dir/lib/src/HttpResponseParser.cc.o 28ffac808e9a1c5e
209959 210804 1743649457076846509 CMakeFiles/drogon.dir/orm_lib/src/Row.cc.o ad3dd9d2d17e49a6
2535 3588 1743850531757130255 libdrogon.a c183bad106290d4
47923 49166 1743649295040777928 trantor/CMakeFiles/trantor.dir/trantor/net/inner/TimerQueue.cc.o f7b61498b1cc846
169347 171590 1743649416464832646 CMakeFiles/drogon.dir/orm_lib/src/postgresql_impl/PgListener.cc.o b4159eb86926f06b
9609 11485 1743649256728755960 trantor/CMakeFiles/trantor.dir/trantor/utils/Date.cc.o 69781df6ba43276
5992 6060 1743693435926790412 drogon_ctl/model_json.cc 125fccaf491ce21
18 3089 1743692387873051218 CMakeFiles/drogon.dir/src/rtc/main.cc.o 4aa77e1f8502e4a0
50062 50687 1743649297179779083 trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/KQueue.cc.o 6cffa9c7685f7fe1
5380 5654 1743693435521782890 drogon_ctl/gitignore.cc 9120742075927ddb
35934 39832 1743827301682913155 CMakeFiles/drogon.dir/lib/src/WebSocketClientImpl.cc.o f202c88dfe338a50
3156 4158 1743849953939737786 src/CMakeFiles/rtc.dir/util/RTCContext.cpp.o 29488d5422c174e4
5471 6621 1743693436487800825 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/model_cc.cc 399ce4614779e0d7
146090 146754 1743649393207823771 CMakeFiles/drogon.dir/lib/src/TaskTimeoutFlag.cc.o 56b3c3808c646095
6103 6422 1743693436288797132 drogon_ctl/restful_controller_base_cc.cc 522f9cde6e64371c
57258 59439 1743827323006370482 src/CMakeFiles/websocket_client.dir/websocket_client/WebSocketClient.cc.o bcb126e7cff036ec
27497 30595 1743827293244732181 CMakeFiles/drogon.dir/lib/src/MultiPart.cc.o a62aaa957bb4e569
46447 51410 1743827312195138612 CMakeFiles/drogon.dir/orm_lib/src/DbClientImpl.cc.o f0208be42f07d1a9
5353 5380 1743693435246777783 drogon_ctl/filter_h.cc 8ea4b6b9f022a6fe
5328 5350 1743693435216777226 drogon_ctl/filter_cc.cc 4c33cbf862d75e46
50687 51613 1743649297804779419 trantor/CMakeFiles/trantor.dir/trantor/net/inner/poller/PollPoller.cc.o b4da5bf5aff9bad8
556 2346 1743827266304154383 trantor/CMakeFiles/trantor.dir/trantor/net/TcpClient.cc.o 6e481ea73e1e44a7
5328 5350 1743693435216777226 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/filter_cc.h 4c33cbf862d75e46
54083 58164 1743827319830302364 drogon_ctl/CMakeFiles/_drogon_ctl.dir/create_view.cc.o d4ed3354c4001a3
3788 5275 1743850533009157107 src/websocket_client 2161f2ca2197ee59
5359 7909 1743827271107257396 CMakeFiles/drogon.dir/src/websocket_server/WebSocketServer.cc.o f5aa400f01b4d340
19296 24198 1743649266413761754 trantor/CMakeFiles/trantor.dir/trantor/utils/SerialTaskQueue.cc.o 4bb52bda0b722990
6639 6669 1743693436535801716 /home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/test_main.cc c1751bf6af41f307
6422 6476 1743693436343798153 drogon_ctl/restful_controller_base_h.h 4636fcead3bbbcb6
75638 77152 1743827341385764667 drogon_ctl/CMakeFiles/drogon_ctl.dir/restful_controller_cc.cc.o 67bb641eb04b9285
17883 18406 1743651139944180166 src/CMakeFiles/rtc.dir/rtc/rtc_impl.cpp.o c6feae9fcf82d075
214901 217002 1743649462018848060 CMakeFiles/drogon.dir/orm_lib/src/TransactionImpl.cc.o 6f2450e5ffadef26

View File

@ -0,0 +1,880 @@
# This is the CMakeCache file.
# For build in directory: /home/wjy/Code/drogon/cmake-build-debug
# It was generated by CMake: /opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Path to a library.
BROTLICOMMON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlicommon.so
//Path to a library.
BROTLIDEC_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlidec.so
//Path to a library.
BROTLIENC_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libbrotlienc.so
//Path to a file.
BROTLI_INCLUDE_DIR:PATH=/usr/include
//Build Brotli
BUILD_BROTLI:BOOL=ON
//Build C-ARES
BUILD_C-ARES:BOOL=ON
//Build drogon_ctl
BUILD_CTL:BOOL=ON
//Build Doxygen documentation
BUILD_DOC:BOOL=OFF
//Build with mysql support
BUILD_MYSQL:BOOL=ON
//Build orm
BUILD_ORM:BOOL=ON
//Build with postgresql support
BUILD_POSTGRESQL:BOOL=ON
//Build with redis support
BUILD_REDIS:BOOL=ON
//Build trantor as a shared lib
BUILD_SHARED_LIBS:BOOL=OFF
//Build with sqlite3 support
BUILD_SQLITE:BOOL=ON
//Build src
BUILD_SRC:BOOL=ON
//Build yaml config
BUILD_YAML_CONFIG:BOOL=ON
//Path to a file.
C-ARES_INCLUDE_DIRS:PATH=C-ARES_INCLUDE_DIRS-NOTFOUND
//Path to a library.
C-ARES_LIBRARIES:FILEPATH=C-ARES_LIBRARIES-NOTFOUND
//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
//Choose the type of build, options are: None Debug Release RelWithDebInfo
// MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=Debug
//Enable colored diagnostics throughout.
CMAKE_COLOR_DIAGNOSTICS:BOOL=ON
//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=
//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//C compiler
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=
//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g
//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=
//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
//Value Computed by CMake.
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/pkgRedirects
//User executables (bin)
CMAKE_INSTALL_BINDIR:PATH=bin
//Read-only architecture-independent data (DATAROOTDIR)
CMAKE_INSTALL_DATADIR:PATH=
//Read-only architecture-independent data root (share)
CMAKE_INSTALL_DATAROOTDIR:PATH=share
//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
CMAKE_INSTALL_DOCDIR:PATH=
//C header files (include)
CMAKE_INSTALL_INCLUDEDIR:PATH=include
//Info documentation (DATAROOTDIR/info)
CMAKE_INSTALL_INFODIR:PATH=
//Object code libraries (lib)
CMAKE_INSTALL_LIBDIR:PATH=lib
//Program executables (libexec)
CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
//Locale-dependent data (DATAROOTDIR/locale)
CMAKE_INSTALL_LOCALEDIR:PATH=
//Modifiable single-machine data (var)
CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
//Man documentation (DATAROOTDIR/man)
CMAKE_INSTALL_MANDIR:PATH=
//C header files for non-gcc (/usr/include)
CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
//Run-time variable data (LOCALSTATEDIR/run)
CMAKE_INSTALL_RUNSTATEDIR:PATH=
//System admin executables (sbin)
CMAKE_INSTALL_SBINDIR:PATH=sbin
//Modifiable architecture-independent data (com)
CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
//Read-only single-machine data (etc)
CMAKE_INSTALL_SYSCONFDIR:PATH=etc
//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
//No help, variable specified on the command line.
CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/clion/clion-2024.3.5/bin/ninja/linux/x64/ninja
//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=drogon
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
//Path to a program.
CMAKE_READELF:FILEPATH=/usr/bin/readelf
//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
//Path to a program.
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
//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.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Use coz for profiling
COZ_PROFILING:BOOL=OFF
//Enable to build Debian packages
CPACK_BINARY_DEB:BOOL=OFF
//Enable to build FreeBSD packages
CPACK_BINARY_FREEBSD:BOOL=OFF
//Enable to build IFW packages
CPACK_BINARY_IFW:BOOL=OFF
//Enable to build NSIS packages
CPACK_BINARY_NSIS:BOOL=OFF
//Enable to build RPM packages
CPACK_BINARY_RPM:BOOL=OFF
//Enable to build STGZ packages
CPACK_BINARY_STGZ:BOOL=ON
//Enable to build TBZ2 packages
CPACK_BINARY_TBZ2:BOOL=OFF
//Enable to build TGZ packages
CPACK_BINARY_TGZ:BOOL=ON
//Enable to build TXZ packages
CPACK_BINARY_TXZ:BOOL=OFF
//Enable to build TZ packages
CPACK_BINARY_TZ:BOOL=ON
//Enable to build RPM source packages
CPACK_SOURCE_RPM:BOOL=OFF
//Enable to build TBZ2 source packages
CPACK_SOURCE_TBZ2:BOOL=ON
//Enable to build TGZ source packages
CPACK_SOURCE_TGZ:BOOL=ON
//Enable to build TXZ source packages
CPACK_SOURCE_TXZ:BOOL=ON
//Enable to build TZ source packages
CPACK_SOURCE_TZ:BOOL=ON
//Enable to build ZIP source packages
CPACK_SOURCE_ZIP:BOOL=OFF
//TRUE if we have the C++ filesystem headers
CXX_FILESYSTEM_HAVE_FS:BOOL=TRUE
//The header that should be included to obtain the filesystem APIs
CXX_FILESYSTEM_HEADER:STRING=filesystem
//TRUE if the C++ filesystem library is the experimental version
CXX_FILESYSTEM_IS_EXPERIMENTAL:BOOL=FALSE
//The C++ namespace that contains the filesystem APIs
CXX_FILESYSTEM_NAMESPACE:STRING=std::filesystem
//Diagram Editor tool for use with Doxygen
DOXYGEN_DIA_EXECUTABLE:FILEPATH=DOXYGEN_DIA_EXECUTABLE-NOTFOUND
//Dot tool for use with Doxygen
DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND
//Doxygen documentation generation tool (https://www.doxygen.nl)
DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND
//TRUE if we can run a program using std::filesystem
Filesystem_FOUND:BOOL=TRUE
//use std::filesystem
HAS_STD_FILESYSTEM_PATH:BOOL=ON
//Path to a file.
HIREDIS_INCLUDE_DIR:PATH=/usr/include
//Path to a library.
HIREDIS_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libhiredis.so
//Installation directory for executables
INSTALL_BIN_DIR:PATH=bin
//Installation directory for cmake files
INSTALL_DROGON_CMAKE_DIR:PATH=lib/cmake/Drogon
//Installation directory for header files
INSTALL_INCLUDE_DIR:PATH=include
//Installation directory for libraries
INSTALL_LIB_DIR:PATH=lib
//Installation directory for cmake files
INSTALL_TRANTOR_CMAKE_DIR:PATH=lib/cmake/Trantor
//jsoncpp include dir
JSONCPP_INCLUDE_DIRS:PATH=/usr/include/jsoncpp
//jsoncpp library
JSONCPP_LIBRARIES:FILEPATH=/usr/lib/x86_64-linux-gnu/libjsoncpp.so
//Use batch mode for libpq
LIBPQ_BATCH_MODE:BOOL=ON
//libpq batch mode
LIBPQ_SUPPORTS_BATCH_MODE:BOOL=ON
//Path to a file.
MYSQL_INCLUDE_DIRS:PATH=/usr/include/mysql
//Path to a library.
MYSQL_LIBRARIES:FILEPATH=MYSQL_LIBRARIES-NOTFOUND
//Path to a library.
OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
//Path to a file.
OPENSSL_INCLUDE_DIR:PATH=/usr/include
//Path to a library.
OPENSSL_SSL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
//Arguments to supply to pkg-config
PKG_CONFIG_ARGN:STRING=
//pkg-config executable
PKG_CONFIG_EXECUTABLE:FILEPATH=PKG_CONFIG_EXECUTABLE-NOTFOUND
//The Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the top-level
// directory containing the PostgreSQL include directories. E.g
// /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include
PostgreSQL_INCLUDE_DIR:PATH=/usr/include/postgresql
//The Set the PostgreSQL_LIBRARY_DIR cmake cache entry to the top-level
// directory containing the PostgreSQL libraries.
PostgreSQL_LIBRARY_DEBUG:FILEPATH=PostgreSQL_LIBRARY_DEBUG-NOTFOUND
//The Set the PostgreSQL_LIBRARY_DIR cmake cache entry to the top-level
// directory containing the PostgreSQL libraries.
PostgreSQL_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libpq.so
//The Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the top-level
// directory containing the PostgreSQL include directories. E.g
// /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include
PostgreSQL_TYPE_INCLUDE_DIR:PATH=/usr/include/postgresql/16/server
//Path to a file.
SQLITE3_INCLUDE_DIRS:PATH=/usr/include
//Path to a library.
SQLITE3_LIBRARIES:FILEPATH=/usr/lib/x86_64-linux-gnu/libsqlite3.so
//Enable C++20 coroutine support
USE_COROUTINE:BOOL=OFF
//Disable Mysql
USE_MYSQL:BOOL=OFF
//Enable PostgreSQL
USE_POSTGRESQL:BOOL=ON
//Enable Sqlite3
USE_SQLITE3:BOOL=ON
//Use trantor as a submodule
USE_SUBMODULE:BOOL=ON
//Path to a file.
UUID_INCLUDE_DIR:PATH=/usr/include/uuid
//Path to a library.
UUID_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libuuid.so
//Path to a library.
UUID_LIBRARY_DEBUG:FILEPATH=UUID_LIBRARY_DEBUG-NOTFOUND
//Path to a file.
ZLIB_INCLUDE_DIR:PATH=/usr/include
//Path to a library.
ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND
//Path to a library.
ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so
//Value Computed by CMake
drogon_BINARY_DIR:STATIC=/home/wjy/Code/drogon/cmake-build-debug
//Value Computed by CMake
drogon_IS_TOP_LEVEL:STATIC=ON
//Dependencies for the target
drogon_LIB_DEPENDS:STATIC=general;trantor;general;dl;general;ZLIB::ZLIB;general;OpenSSL::SSL;general;OpenSSL::Crypto;general;/usr/local/lib/libMRTCEngine.so;
//Value Computed by CMake
drogon_SOURCE_DIR:STATIC=/home/wjy/Code/drogon
//Value Computed by CMake
trantor_BINARY_DIR:STATIC=/home/wjy/Code/drogon/cmake-build-debug/trantor
//Value Computed by CMake
trantor_IS_TOP_LEVEL:STATIC=OFF
//Dependencies for the target
trantor_LIB_DEPENDS:STATIC=general;OpenSSL::SSL;general;OpenSSL::Crypto;general;pthread;
//Value Computed by CMake
trantor_SOURCE_DIR:STATIC=/home/wjy/Code/drogon/trantor
//The directory containing a CMake configuration file for unofficial-libmariadb.
unofficial-libmariadb_DIR:PATH=unofficial-libmariadb_DIR-NOTFOUND
//The directory containing a CMake configuration file for unofficial-sqlite3.
unofficial-sqlite3_DIR:PATH=unofficial-sqlite3_DIR-NOTFOUND
//The directory containing a CMake configuration file for yaml-cpp.
yaml-cpp_DIR:PATH=yaml-cpp_DIR-NOTFOUND
########################
# INTERNAL cache entries
########################
//Result of TRY_COMPILE
ATOMIC_WITHOUT_LINKING:INTERNAL=TRUE
//ADVANCED property for variable: C-ARES_INCLUDE_DIRS
C-ARES_INCLUDE_DIRS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: C-ARES_LIBRARIES
C-ARES_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_ADDR2LINE
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/wjy/Code/drogon/cmake-build-debug
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=30
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=5
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Ninja
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Test CMAKE_HAVE_LIBC_PTHREAD
CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/home/wjy/Code/drogon
//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=4
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/share/cmake-3.30
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_TAPI
CMAKE_TAPI-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Compiler support for a deprecated attribute
COMPILER_HAS_DEPRECATED:INTERNAL=1
//Test COMPILER_HAS_DEPRECATED_ATTR
COMPILER_HAS_DEPRECATED_ATTR:INTERNAL=1
//Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
COMPILER_HAS_HIDDEN_INLINE_VISIBILITY:INTERNAL=1
//Test COMPILER_HAS_HIDDEN_VISIBILITY
COMPILER_HAS_HIDDEN_VISIBILITY:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_DEB
CPACK_BINARY_DEB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_FREEBSD
CPACK_BINARY_FREEBSD-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_IFW
CPACK_BINARY_IFW-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_NSIS
CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_RPM
CPACK_BINARY_RPM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_STGZ
CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TBZ2
CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TGZ
CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TXZ
CPACK_BINARY_TXZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TZ
CPACK_BINARY_TZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_RPM
CPACK_SOURCE_RPM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TBZ2
CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TGZ
CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TXZ
CPACK_SOURCE_TXZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TZ
CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_ZIP
CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1
//Test CXX_FILESYSTEM_NO_LINK_NEEDED
CXX_FILESYSTEM_NO_LINK_NEEDED:INTERNAL=1
//Result of TRY_COMPILE
CXX_FILESYSTEM_NO_LINK_NEEDED_COMPILED:INTERNAL=TRUE
//Result of try_run()
CXX_FILESYSTEM_NO_LINK_NEEDED_EXITCODE:INTERNAL=0
//ADVANCED property for variable: DOXYGEN_DIA_EXECUTABLE
DOXYGEN_DIA_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: DOXYGEN_EXECUTABLE
DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
//Details about finding Brotli
FIND_PACKAGE_MESSAGE_DETAILS_Brotli:INTERNAL=[/usr/lib/x86_64-linux-gnu/libbrotlidec.so][/usr/lib/x86_64-linux-gnu/libbrotlienc.so][/usr/lib/x86_64-linux-gnu/libbrotlicommon.so][/usr/include][v()]
//Details about finding Hiredis
FIND_PACKAGE_MESSAGE_DETAILS_Hiredis:INTERNAL=[/usr/lib/x86_64-linux-gnu/libhiredis.so][/usr/include][v()]
//Details about finding Jsoncpp
FIND_PACKAGE_MESSAGE_DETAILS_Jsoncpp:INTERNAL=[/usr/include/jsoncpp][/usr/lib/x86_64-linux-gnu/libjsoncpp.so][v()]
//Details about finding OpenSSL
FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libcrypto.so][/usr/include][c ][v3.0.13()]
//Details about finding PostgreSQL
FIND_PACKAGE_MESSAGE_DETAILS_PostgreSQL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libpq.so][/usr/include/postgresql][c ][v16.8()]
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//Details about finding ZLIB
FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/usr/lib/x86_64-linux-gnu/libz.so][/usr/include][c ][v1.3()]
//Details about finding pg
FIND_PACKAGE_MESSAGE_DETAILS_pg:INTERNAL=[/usr/lib/x86_64-linux-gnu/libpq.so][/usr/include/postgresql;/usr/include/postgresql/16/server][v()]
//Have include any
HAS_ANY:INTERNAL=1
//Have include coroutine
HAS_COROUTINE:INTERNAL=
//Have include string_view
HAS_STRING_VIEW:INTERNAL=1
//ADVANCED property for variable: HIREDIS_INCLUDE_DIR
HIREDIS_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: HIREDIS_LIBRARY
HIREDIS_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: JSONCPP_INCLUDE_DIRS
JSONCPP_INCLUDE_DIRS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: JSONCPP_LIBRARIES
JSONCPP_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: MYSQL_INCLUDE_DIRS
MYSQL_INCLUDE_DIRS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: MYSQL_LIBRARIES
MYSQL_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY
OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENSSL_SSL_LIBRARY
OPENSSL_SSL_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PKG_CONFIG_ARGN
PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PostgreSQL_INCLUDE_DIR
PostgreSQL_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PostgreSQL_LIBRARY_DEBUG
PostgreSQL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PostgreSQL_LIBRARY_RELEASE
PostgreSQL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PostgreSQL_TYPE_INCLUDE_DIR
PostgreSQL_TYPE_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: SQLITE3_INCLUDE_DIRS
SQLITE3_INCLUDE_DIRS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: SQLITE3_LIBRARIES
SQLITE3_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZLIB_INCLUDE_DIR
ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG
ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE
ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
//linker supports push/pop state
_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
//ADVANCED property for variable: _CXX_FILESYSTEM_HAVE_HEADER
_CXX_FILESYSTEM_HAVE_HEADER-ADVANCED:INTERNAL=1
//Have include filesystem
_CXX_FILESYSTEM_HAVE_HEADER:INTERNAL=1
//CMAKE_INSTALL_PREFIX during last run
_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
_OPENSSL_CFLAGS:INTERNAL=
_OPENSSL_CFLAGS_I:INTERNAL=
_OPENSSL_CFLAGS_OTHER:INTERNAL=
_OPENSSL_FOUND:INTERNAL=
_OPENSSL_INCLUDEDIR:INTERNAL=
_OPENSSL_LIBDIR:INTERNAL=
_OPENSSL_LIBS:INTERNAL=
_OPENSSL_LIBS_L:INTERNAL=
_OPENSSL_LIBS_OTHER:INTERNAL=
_OPENSSL_LIBS_PATHS:INTERNAL=
_OPENSSL_MODULE_NAME:INTERNAL=
_OPENSSL_PREFIX:INTERNAL=
_OPENSSL_STATIC_CFLAGS:INTERNAL=
_OPENSSL_STATIC_CFLAGS_I:INTERNAL=
_OPENSSL_STATIC_CFLAGS_OTHER:INTERNAL=
_OPENSSL_STATIC_LIBDIR:INTERNAL=
_OPENSSL_STATIC_LIBS:INTERNAL=
_OPENSSL_STATIC_LIBS_L:INTERNAL=
_OPENSSL_STATIC_LIBS_OTHER:INTERNAL=
_OPENSSL_STATIC_LIBS_PATHS:INTERNAL=
_OPENSSL_VERSION:INTERNAL=
__pkg_config_checked__OPENSSL:INTERNAL=1
//Result of TRY_COMPILE
check_filesystem_path:INTERNAL=TRUE
//Result of TRY_COMPILE
libpq_supports_batch:INTERNAL=TRUE
//Result of TRY_COMPILE
normal_uuid:INTERNAL=TRUE
//Result of TRY_COMPILE
ossp_uuid:INTERNAL=FALSE

View File

@ -0,0 +1,81 @@
set(CMAKE_C_COMPILER "/usr/bin/cc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "13.3.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_C_STANDARD_LATEST "23")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
set(CMAKE_C_PLATFORM_ID "Linux")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-13")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld")
set(CMAKE_C_COMPILER_LINKER_ID "GNU")
set(CMAKE_C_COMPILER_LINKER_VERSION 2.42)
set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU)
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_C_COMPILER_ENV_VAR "CC")
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -0,0 +1,101 @@
set(CMAKE_CXX_COMPILER "/usr/bin/g++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "11.4.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_STANDARD_LATEST "23")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX26_COMPILE_FEATURES "")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_LINKER_LINK "")
set(CMAKE_LINKER_LLD "")
set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld")
set(CMAKE_CXX_COMPILER_LINKER_ID "GNU")
set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.42)
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU)
set(CMAKE_MT "")
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang IN ITEMS C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
### Imported target for C++23 standard library
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Toolchain does not support discovering `import std` support")

View File

@ -0,0 +1,15 @@
set(CMAKE_HOST_SYSTEM "Linux-6.11.0-21-generic")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "6.11.0-21-generic")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-6.11.0-21-generic")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "6.11.0-21-generic")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)

View File

@ -0,0 +1,904 @@
#ifdef __cplusplus
# error "A C++ compiler has been selected for C."
#endif
#if defined(__18CXX)
# define ID_VOID_MAIN
#endif
#if defined(__CLASSIC_C__)
/* cv-qualifiers did not exist in K&R C */
# define const
# define volatile
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_C)
# define COMPILER_ID "SunPro"
# if __SUNPRO_C >= 0x5100
/* __SUNPRO_C = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# endif
#elif defined(__HP_cc)
# define COMPILER_ID "HP"
/* __HP_cc = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
/* __DECC_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__open_xl__) && defined(__clang__)
# define COMPILER_ID "IBMClang"
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
# define COMPILER_ID "XL"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(__clang__) && defined(__cray__)
# define COMPILER_ID "CrayClang"
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TASKING__)
# define COMPILER_ID "Tasking"
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
#elif defined(__ORANGEC__)
# define COMPILER_ID "OrangeC"
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
#elif defined(__BCC__)
# define COMPILER_ID "Bruce"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__) && defined(__ti__)
# define COMPILER_ID "TIClang"
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
# define COMPILER_ID "LCC"
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
# if defined(__LCC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
# endif
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
# define SIMULATE_ID "GNU"
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(_ADI_COMPILER)
# define COMPILER_ID "ADSP"
#if defined(__VERSIONNUM__)
/* __VERSIONNUM__ = 0xVVRRPPTT */
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
# define COMPILER_ID "SDCC"
# if defined(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
# else
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
# elif defined(_ADI_COMPILER)
# define PLATFORM_ID "ADSP"
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__clang__) && defined(__ti__)
# if defined(__ARM_ARCH)
# define ARCHITECTURE_ID "Arm"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
# elif defined(__ADSPSHARC__)
# define ARCHITECTURE_ID "SHARC"
# elif defined(__ADSPBLACKFIN__)
# define ARCHITECTURE_ID "Blackfin"
#elif defined(__TASKING__)
# if defined(__CTC__) || defined(__CPTC__)
# define ARCHITECTURE_ID "TriCore"
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)
# define ARCHITECTURE_ID "ARC"
# elif defined(__C51__)
# define ARCHITECTURE_ID "8051"
# elif defined(__CPCP__)
# define ARCHITECTURE_ID "PCP"
# else
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#define C_STD_99 199901L
#define C_STD_11 201112L
#define C_STD_17 201710L
#define C_STD_23 202311L
#ifdef __STDC_VERSION__
# define C_STD __STDC_VERSION__
#endif
#if !defined(__STDC__) && !defined(__clang__)
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
# define C_VERSION "90"
# else
# define C_VERSION
# endif
#elif C_STD > C_STD_17
# define C_VERSION "23"
#elif C_STD > C_STD_11
# define C_VERSION "17"
#elif C_STD > C_STD_99
# define C_VERSION "11"
#elif C_STD >= C_STD_99
# define C_VERSION "99"
#else
# define C_VERSION "90"
#endif
const char* info_language_standard_default =
"INFO" ":" "standard_default[" C_VERSION "]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
defined(__TI_COMPILER_VERSION__)) && \
!defined(__STRICT_ANSI__)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
#ifdef ID_VOID_MAIN
void main() {}
#else
# if defined(__CLASSIC_C__)
int main(argc, argv) int argc; char *argv[];
# else
int main(int argc, char* argv[])
# endif
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}
#endif

Binary file not shown.

View File

@ -0,0 +1,919 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
#if !defined(__has_include)
/* If the compiler does not have __has_include, pretend the answer is
always no. */
# define __has_include(x) 0
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
except that a few beta releases use the old format with V=2021. */
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
/* The third version component from --version is an update index,
but no macro is provided for it. */
# define COMPILER_VERSION_PATCH DEC(0)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
# define COMPILER_ID "IntelLLVM"
#if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
#endif
#if defined(__GNUC__)
# define SIMULATE_ID "GNU"
#endif
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
* VVVV is no smaller than the current year when a version is released.
*/
#if __INTEL_LLVM_COMPILER < 1000000L
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
#else
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
#endif
#if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
#endif
#if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
#elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
#endif
#if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
#endif
#if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
#endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__open_xl__) && defined(__clang__)
# define COMPILER_ID "IBMClang"
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__NVCOMPILER)
# define COMPILER_ID "NVHPC"
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
# if defined(__NVCOMPILER_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
# endif
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(__clang__) && defined(__cray__)
# define COMPILER_ID "CrayClang"
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__CLANG_FUJITSU)
# define COMPILER_ID "FujitsuClang"
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
#elif defined(__FUJITSU)
# define COMPILER_ID "Fujitsu"
# if defined(__FCC_version__)
# define COMPILER_VERSION __FCC_version__
# elif defined(__FCC_major__)
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
# endif
# if defined(__fcc_version)
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
# elif defined(__FCC_VERSION)
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
# endif
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TASKING__)
# define COMPILER_ID "Tasking"
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
#elif defined(__ORANGEC__)
# define COMPILER_ID "OrangeC"
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__) && defined(__ti__)
# define COMPILER_ID "TIClang"
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
# define COMPILER_ID "LCC"
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
# if defined(__LCC_MINOR__)
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
# endif
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
# define SIMULATE_ID "GNU"
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(_ADI_COMPILER)
# define COMPILER_ID "ADSP"
#if defined(__VERSIONNUM__)
/* __VERSIONNUM__ = 0xVVRRPPTT */
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__MSYS__)
# define PLATFORM_ID "MSYS"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# elif defined(__VXWORKS__)
# define PLATFORM_ID "VxWorks"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
# elif defined(_ADI_COMPILER)
# define PLATFORM_ID "ADSP"
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_ARM64EC)
# define ARCHITECTURE_ID "ARM64EC"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# elif defined(__ICCSTM8__)
# define ARCHITECTURE_ID "STM8"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__clang__) && defined(__ti__)
# if defined(__ARM_ARCH)
# define ARCHITECTURE_ID "Arm"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__TI_COMPILER_VERSION__)
# if defined(__TI_ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__MSP430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__TMS320C28XX__)
# define ARCHITECTURE_ID "TMS320C28x"
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
# define ARCHITECTURE_ID "TMS320C6x"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
# elif defined(__ADSPSHARC__)
# define ARCHITECTURE_ID "SHARC"
# elif defined(__ADSPBLACKFIN__)
# define ARCHITECTURE_ID "Blackfin"
#elif defined(__TASKING__)
# if defined(__CTC__) || defined(__CPTC__)
# define ARCHITECTURE_ID "TriCore"
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)
# define ARCHITECTURE_ID "ARC"
# elif defined(__C51__)
# define ARCHITECTURE_ID "8051"
# elif defined(__CPCP__)
# define ARCHITECTURE_ID "PCP"
# else
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number. */
#ifdef COMPILER_VERSION
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
/* Construct a string literal encoding the version number components. */
#elif defined(COMPILER_VERSION_MAJOR)
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#elif defined(COMPILER_VERSION_INTERNAL_STR)
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#define CXX_STD_98 199711L
#define CXX_STD_11 201103L
#define CXX_STD_14 201402L
#define CXX_STD_17 201703L
#define CXX_STD_20 202002L
#define CXX_STD_23 202302L
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
# if _MSVC_LANG > CXX_STD_17
# define CXX_STD _MSVC_LANG
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
# define CXX_STD CXX_STD_20
# elif _MSVC_LANG > CXX_STD_14
# define CXX_STD CXX_STD_17
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# elif defined(__INTEL_CXX11_MODE__)
# define CXX_STD CXX_STD_11
# else
# define CXX_STD CXX_STD_98
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# if _MSVC_LANG > __cplusplus
# define CXX_STD _MSVC_LANG
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__NVCOMPILER)
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
# define CXX_STD CXX_STD_20
# else
# define CXX_STD __cplusplus
# endif
#elif defined(__INTEL_COMPILER) || defined(__PGI)
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
# define CXX_STD CXX_STD_17
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
# define CXX_STD CXX_STD_14
# else
# define CXX_STD __cplusplus
# endif
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
# define CXX_STD CXX_STD_11
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_standard_default = "INFO" ":" "standard_default["
#if CXX_STD > CXX_STD_23
"26"
#elif CXX_STD > CXX_STD_20
"23"
#elif CXX_STD > CXX_STD_17
"20"
#elif CXX_STD > CXX_STD_14
"17"
#elif CXX_STD > CXX_STD_11
"14"
#elif CXX_STD >= CXX_STD_11
"11"
#else
"98"
#endif
"]";
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
defined(__TI_COMPILER_VERSION__)) && \
!defined(__STRICT_ANSI__)
"ON"
#else
"OFF"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
require += info_cray[argc];
#endif
require += info_language_standard_default[argc];
require += info_language_extensions_default[argc];
(void)argv;
return require;
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
# - Config file for the Drogon package
# It defines the following variables
# DROGON_INCLUDE_DIRS - include directories for Drogon
# DROGON_LIBRARIES - libraries to link against
# DROGON_EXECUTABLE - the drogon_ctl executable
# Drogon_FOUND
# This module defines the following IMPORTED target:
# Drogon::Drogon
####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
####### Any changes to this file will be overwritten by the next CMake run ####
####### The input file was DrogonConfig.cmake.in ########
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
macro(set_and_check _var _file)
set(${_var} "${_file}")
if(NOT EXISTS "${_file}")
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
endif()
endmacro()
macro(check_required_components _NAME)
foreach(comp ${${_NAME}_FIND_COMPONENTS})
if(NOT ${_NAME}_${comp}_FOUND)
if(${_NAME}_FIND_REQUIRED_${comp})
set(${_NAME}_FOUND FALSE)
endif()
endif()
endforeach()
endmacro()
####################################################################################
include(CMakeFindDependencyMacro)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
find_dependency(Jsoncpp REQUIRED)
find_dependency(Trantor REQUIRED)
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" AND NOT WIN32)
find_dependency(UUID REQUIRED)
endif(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" AND NOT WIN32)
find_dependency(ZLIB REQUIRED)
if(TRUE)
find_dependency(pg)
endif()
if(TRUE)
find_dependency(SQLite3)
endif()
if(FALSE)
find_dependency(MySQL)
endif()
if()
find_dependency(Boost)
find_package(Boost COMPONENTS filesystem system)
endif()
if(TRUE)
find_dependency(Brotli)
endif()
if()
find_dependency(coz-profiler)
endif()
if(TRUE)
find_dependency(Hiredis)
endif()
if(0)
find_dependency(yaml-cpp)
endif()
if(OFF)
find_dependency(Threads)
endif()
if(ON)
find_dependency(Filesystem)
find_package(Filesystem COMPONENTS Final REQUIRED)
endif()
# Our library dependencies (contains definitions for IMPORTED targets)
get_filename_component(DROGON_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
if(NOT TARGET Drogon::Drogon)
include("${DROGON_CMAKE_DIR}/DrogonTargets.cmake")
include("${DROGON_CMAKE_DIR}/DrogonUtilities.cmake")
include("${DROGON_CMAKE_DIR}/ParseAndAddDrogonTests.cmake")
endif()
get_target_property(DROGON_INCLUDE_DIRS Drogon::Drogon INTERFACE_INCLUDE_DIRECTORIES)
set(DROGON_LIBRARIES Drogon::Drogon)
set(DROGON_EXECUTABLE drogon_ctl)

View File

@ -0,0 +1,19 @@
#----------------------------------------------------------------
# Generated CMake target import file for configuration "Debug".
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Import target "Drogon::Drogon" for configuration "Debug"
set_property(TARGET Drogon::Drogon APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(Drogon::Drogon PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "CXX"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/libdrogon.a"
)
list(APPEND _cmake_import_check_targets Drogon::Drogon )
list(APPEND _cmake_import_check_files_for_Drogon::Drogon "${_IMPORT_PREFIX}/lib/libdrogon.a" )
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)

View File

@ -0,0 +1,123 @@
# Generated by CMake
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
message(FATAL_ERROR "CMake >= 2.8.0 required")
endif()
if(CMAKE_VERSION VERSION_LESS "2.8.12")
message(FATAL_ERROR "CMake >= 2.8.12 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.8.12...3.28)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_cmake_targets_defined "")
set(_cmake_targets_not_defined "")
set(_cmake_expected_targets "")
foreach(_cmake_expected_target IN ITEMS Drogon::Drogon)
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
if(TARGET "${_cmake_expected_target}")
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
else()
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
endif()
endforeach()
unset(_cmake_expected_target)
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)
unset(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)
return()
endif()
if(NOT _cmake_targets_defined STREQUAL "")
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
endif()
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
set(_IMPORT_PREFIX "")
endif()
# Create imported target Drogon::Drogon
add_library(Drogon::Drogon STATIC IMPORTED)
set_target_properties(Drogon::Drogon PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
INTERFACE_LINK_LIBRARIES "Trantor::Trantor;\$<LINK_ONLY:dl>;Jsoncpp_lib;\$<LINK_ONLY:UUID_lib>;\$<LINK_ONLY:Brotli_lib>;\$<LINK_ONLY:pg_lib>;\$<LINK_ONLY:SQLite3_lib>;\$<LINK_ONLY:Hiredis_lib>;\$<LINK_ONLY:ZLIB::ZLIB>;\$<LINK_ONLY:OpenSSL::SSL>;\$<LINK_ONLY:OpenSSL::Crypto>;/usr/local/lib/libMRTCEngine.so"
)
# Load information for each installed configuration.
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/DrogonTargets-*.cmake")
foreach(_cmake_config_file IN LISTS _cmake_config_files)
include("${_cmake_config_file}")
endforeach()
unset(_cmake_config_file)
unset(_cmake_config_files)
# Cleanup temporary variables.
set(_IMPORT_PREFIX)
# Loop over all imported files and verify that they actually exist
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
if(CMAKE_VERSION VERSION_LESS "3.28"
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
if(NOT EXISTS "${_cmake_file}")
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
\"${_cmake_file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
endif()
endforeach()
endif()
unset(_cmake_file)
unset("_cmake_import_check_files_for_${_cmake_target}")
endforeach()
unset(_cmake_target)
unset(_cmake_import_check_targets)
# Make sure the targets which have been exported in some other
# export set exist.
unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
foreach(_target "Trantor::Trantor" )
if(NOT TARGET "${_target}" )
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}")
endif()
endforeach()
if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
if(CMAKE_FIND_PACKAGE_NAME)
set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}")
else()
message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}")
endif()
endif()
unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)

View File

@ -0,0 +1,43 @@
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/drogon.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/package.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/package_source.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/edit_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/rebuild_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/list_install_components.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/install.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/install/local.dir
/home/wjy/Code/drogon/cmake-build-debug/CMakeFiles/install/strip.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/trantor.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/package.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/package_source.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/edit_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/rebuild_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/list_install_components.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/install.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/install/local.dir
/home/wjy/Code/drogon/cmake-build-debug/trantor/CMakeFiles/install/strip.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/rtc.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/rtc_send.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/websocket_client.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/websocket_server.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/websocket2rtc.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/file2rtc.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/file2websocket.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/package.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/package_source.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/edit_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/rebuild_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/list_install_components.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/install.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/install/local.dir
/home/wjy/Code/drogon/cmake-build-debug/src/CMakeFiles/install/strip.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/_drogon_ctl.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/drogon_ctl.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/package.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/package_source.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/edit_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/rebuild_cache.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/list_install_components.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/install.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/install/local.dir
/home/wjy/Code/drogon/cmake-build-debug/drogon_ctl/CMakeFiles/install/strip.dir

View File

@ -0,0 +1,71 @@
/opt/clion/clion-2024.3.5/bin/cmake/linux/x64/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/opt/clion/clion-2024.3.5/bin/ninja/linux/x64/ninja -G Ninja -S /home/wjy/Code/drogon -B /home/wjy/Code/drogon/cmake-build-debug
-- compiler: GNU
-- Could NOT find c-ares (missing: C-ARES_INCLUDE_DIRS C-ARES_LIBRARIES)
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Found std::filesystem
-- use c++17
CMake Warning (dev) at cmake_modules/FindJsoncpp.cmake:47 (exec_program):
Policy CMP0153 is not set: The exec_program command should not be called.
Run "cmake --help-policy CMP0153" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
Use execute_process() instead.
Call Stack (most recent call first):
CMakeLists.txt:222 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- jsoncpp verson:1.9.5
-- yaml-cpp not used
-- Found UUID: /usr/lib/x86_64-linux-gnu/libuuid.so
-- Brotli found
-- pg inc: /usr/include/postgresql/usr/include/postgresql/16/server
-- libpq inc path:/usr/include/postgresql/usr/include/postgresql/16/server
-- libpq lib:/usr/lib/x86_64-linux-gnu/libpq.so
-- The libpq supports batch mode
-- MySql was not found.
-- Ok! We find sqlite3!
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/cmake.csp
-- view classname:cmake
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/config.csp
-- view classname:config
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/demoMain.csp
-- view classname:demoMain
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/filter_cc.csp
-- view classname:filter_cc
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/filter_h.csp
-- view classname:filter_h
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/gitignore.csp
-- view classname:gitignore
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/model_cc.csp
-- view classname:model_cc
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/model_h.csp
-- view classname:model_h
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/model_json.csp
-- view classname:model_json
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/plugin_cc.csp
-- view classname:plugin_cc
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/plugin_h.csp
-- view classname:plugin_h
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/restful_controller_base_cc.csp
-- view classname:restful_controller_base_cc
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/restful_controller_base_h.csp
-- view classname:restful_controller_base_h
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/restful_controller_cc.csp
-- view classname:restful_controller_cc
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/restful_controller_custom_cc.csp
-- view classname:restful_controller_custom_cc
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/restful_controller_custom_h.csp
-- view classname:restful_controller_custom_h
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/restful_controller_h.csp
-- view classname:restful_controller_h
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/test_cmake.csp
-- view classname:test_cmake
-- cspFile:/home/wjy/Code/drogon/drogon_ctl/templates/test_main.csp
-- view classname:test_main
-- bin:bin
-- Link directory: /home/wjy/Code/drogon/third_party/rtc/lib
-- Link directories:
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configuring done (5.7s)
-- Generating done (0.2s)
-- Build files have been written to: /home/wjy/Code/drogon/cmake-build-debug

View File

@ -0,0 +1,4 @@
ToolSet: 1.0 (local)Ninja: 1.12.1@/opt/clion/clion-2024.3.5/bin/ninja/linux/x64/ninja
Options:
Options:-DCMAKE_MAKE_PROGRAM=/opt/clion/clion-2024.3.5/bin/ninja/linux/x64/ninja

View File

@ -0,0 +1 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file

Some files were not shown because too many files have changed in this diff Show More