mirror of
https://github.com/drogonframework/drogon.git
synced 2025-09-18 00:01:01 -04:00
Remove boost::any
This commit is contained in:
parent
a5bdadc3a3
commit
23b8d7447a
@ -4,22 +4,19 @@ project (DROGON CXX)
|
||||
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
EXEC_PROGRAM (gcc ARGS "--version | grep '^gcc'|awk '{print $3}' | sed s'/)//g' | sed s'/-.*//g'" OUTPUT_VARIABLE version)
|
||||
MESSAGE(STATUS "This is gcc version:: " ${version})
|
||||
if(version LESS 4.9.0)
|
||||
if(version LESS 5.4.0)
|
||||
MESSAGE(STATUS "gcc is too old")
|
||||
stop()
|
||||
elseif (version LESS 6.1.0)
|
||||
MESSAGE(STATUS "c++11")
|
||||
set(CMAKE_CXX_STD_FLAGS c++11)
|
||||
elseif(version LESS 7.1.0)
|
||||
set(CMAKE_CXX_STD_FLAGS c++14)
|
||||
MESSAGE(STATUS "c++14")
|
||||
else()
|
||||
set(CMAKE_CXX_STD_FLAGS c++17)
|
||||
set(DR_DEFS "USE_STD_ANY")
|
||||
MESSAGE(STATUS "c++17")
|
||||
endif()
|
||||
else()
|
||||
set(CMAKE_CXX_STD_FLAGS c++11)
|
||||
#MacOS use c++17
|
||||
set(CMAKE_CXX_STD_FLAGS c++17)
|
||||
endif()
|
||||
|
||||
include_directories(${PROJECT_SOURCE_DIR}/trantor ${PROJECT_SOURCE_DIR}/lib/inc)
|
||||
@ -53,12 +50,6 @@ endif()
|
||||
message(STATUS "openssl inc path:" ${OPENSSL_INCLUDE_DIR})
|
||||
find_package(ZLIB REQUIRED)
|
||||
include_directories(${ZLIB_INCLUDE_DIR})
|
||||
find_package(Boost)
|
||||
if(Boost_FOUND)
|
||||
# add_definitions(-DUSE_BOOST)
|
||||
set(DR_DEFS "USE_BOOST;${DR_DEFS}")
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "")
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
@ -89,26 +80,8 @@ SET(CONFIG_HEADER "${PROJECT_SOURCE_DIR}/config.h")
|
||||
file(WRITE "${CONFIG_HEADER}" "#pragma once\n")
|
||||
|
||||
#get_directory_property(DR_DEFS COMPILE_DEFINITIONS)
|
||||
foreach(loop_var ${DR_DEFS})
|
||||
file(APPEND "${CONFIG_HEADER}" "#define ${loop_var}\n")
|
||||
endforeach(loop_var)
|
||||
file(APPEND "${CONFIG_HEADER}" "#ifdef USE_STD_ANY\n")
|
||||
|
||||
file(APPEND "${CONFIG_HEADER}" "#include <any>\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "using std::any;\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "using std::any_cast;\n")
|
||||
|
||||
file(APPEND "${CONFIG_HEADER}" "#else \n")
|
||||
file(APPEND "${CONFIG_HEADER}" "#ifdef USE_BOOST\n")
|
||||
|
||||
file(APPEND "${CONFIG_HEADER}" "#include <boost/any.hpp>\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "using boost::any;\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "using boost::any_cast;\n")
|
||||
|
||||
file(APPEND "${CONFIG_HEADER}" "#else\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "#error,must use c++17 or boost to support any\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "#endif\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "#endif\n")
|
||||
file(APPEND "${CONFIG_HEADER}" "#include <trantor/utils/config.h>\n")
|
||||
string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
|
||||
if(CMAKE_BUILD_TYPE_LOWER STREQUAL release)
|
||||
file(APPEND "${CONFIG_HEADER}" "\n" "const char compileFlags[]=\"" ${CMAKE_CXX_FLAGS_RELEASE} "\";")
|
||||
|
@ -63,9 +63,9 @@ static void outputVal(std::ofstream &oSrcFile, const std::string &streamName, co
|
||||
oSrcFile << "{\n";
|
||||
oSrcFile << " auto & val=" << viewDataName << "[\"" << keyName << "\"];\n";
|
||||
oSrcFile << " if(val.type()==typeid(const char *)){\n";
|
||||
oSrcFile << " " << streamName << "<<any_cast<const char *>(val);\n";
|
||||
oSrcFile << " " << streamName << "<<*any_cast<const char *>(&val);\n";
|
||||
oSrcFile << " }else if(val.type()==typeid(std::string)||val.type()==typeid(const std::string)){\n";
|
||||
oSrcFile << " " << streamName << "<<any_cast<const std::string>(val);\n";
|
||||
oSrcFile << " " << streamName << "<<*any_cast<const std::string>(&val);\n";
|
||||
oSrcFile << " }\n";
|
||||
oSrcFile << "}\n";
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ class HttpViewData
|
||||
{
|
||||
try
|
||||
{
|
||||
return any_cast<T>(it->second);
|
||||
return *(std::any_cast<T>(&(it->second)));
|
||||
}
|
||||
catch (std::exception &e)
|
||||
{
|
||||
|
@ -33,7 +33,7 @@ class Session
|
||||
auto it = sessionMap_.find(key);
|
||||
if (it != sessionMap_.end())
|
||||
{
|
||||
return any_cast<T>(it->second);
|
||||
return *(any_cast<T>(&(it->second)));
|
||||
}
|
||||
T tmp;
|
||||
return tmp;
|
||||
|
2
trantor
2
trantor
@ -1 +1 @@
|
||||
Subproject commit b2f00ea13730d4b37de0a461ab14c0c11cd98c6d
|
||||
Subproject commit d9252c3032468a1c2a8b8db5dc83142084d50fc0
|
Loading…
x
Reference in New Issue
Block a user