Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf272cb4

Browse files
committed
Merge pull requestcpp-netlib#350 from glynos/master
First iteration of the HTTP client for cpp-netlib v1.0.0a
2 parentsd9d6945 +e639f47 commitf272cb4

File tree

113 files changed

+6048
-10627
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

113 files changed

+6048
-10627
lines changed

‎.clang-format‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# BasedOnStyle: Google
2+
AccessModifierOffset:-1
3+
ConstructorInitializerIndentWidth:4
4+
AlignEscapedNewlinesLeft:true
5+
AlignTrailingComments:true
6+
AllowAllParametersOfDeclarationOnNextLine:true
7+
AllowShortIfStatementsOnASingleLine:true
8+
AllowShortLoopsOnASingleLine:true
9+
AlwaysBreakTemplateDeclarations:true
10+
AlwaysBreakBeforeMultilineStrings:true
11+
BreakBeforeBinaryOperators:false
12+
BreakConstructorInitializersBeforeComma:false
13+
BinPackParameters:true
14+
ColumnLimit:80
15+
ConstructorInitializerAllOnOneLineOrOnePerLine:true
16+
DerivePointerBinding:true
17+
ExperimentalAutoDetectBinPacking:false
18+
IndentCaseLabels:true
19+
MaxEmptyLinesToKeep:1
20+
NamespaceIndentation:All
21+
ObjCSpaceBeforeProtocolList:false
22+
PenaltyBreakComment:60
23+
PenaltyBreakString:1000
24+
PenaltyBreakFirstLessLess:120
25+
PenaltyExcessCharacter:1000000
26+
PenaltyReturnTypeOnItsOwnLine:200
27+
PointerBindsToType:true
28+
SpacesBeforeTrailingComments:2
29+
Cpp11BracedListStyle:true
30+
Standard:Auto
31+
IndentWidth:2
32+
TabWidth:8
33+
UseTab:false
34+
BreakBeforeBraces:Attach
35+
IndentFunctionDeclarationAfterType:true
36+
SpacesInParentheses:false
37+
SpaceInEmptyParentheses:false
38+
SpacesInCStyleCastParentheses:false
39+
SpaceAfterControlStatementKeyword:true

‎.gitmodules‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
[submodule "deps/gmock"]
88
path=deps/gmock
99
url=git://github.com/cpp-netlib/gmock
10+
[submodule "deps/igloo"]
11+
path=deps/igloo
12+
url=git://github.com/joakimkarlsson/igloo.git

‎.travis.yml‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
language:
2+
-cpp
3+
4+
compiler:
5+
-clang
6+
-gcc
7+
8+
env:
9+
-BUILD_SHARED_LIBS="ON" CMAKE_BUILD_TYPE="Release"
10+
-BUILD_SHARED_LIBS="OFF" CMAKE_BUILD_TYPE="Release"
11+
-BUILD_SHARED_LIBS="ON" CMAKE_BUILD_TYPE="Debug"
12+
-BUILD_SHARED_LIBS="OFF" CMAKE_BUILD_TYPE="Debug"
13+
14+
before_install:
15+
-sudo add-apt-repository ppa:apokluda/boost1.53 --yes
16+
-sudo add-apt-repository ppa:ubuntu-toolchain-r/test --yes# libstdc++-4.8
17+
-if [ "${CXX}" == "clang++" ]; then sudo add-apt-repository --yes ppa:h-rayflood/llvm; fi# clang++-3.2
18+
-sudo apt-get update
19+
20+
install:
21+
-if [ "${CXX}" == "clang++" ]; then sudo apt-get -qq install clang-3.2; fi
22+
-sudo apt-get install g++-4.8;# clang need it for libstdc++ update
23+
-sudo apt-get install libboost-system1.53-dev
24+
-sudo apt-get install libboost-regex1.53-dev
25+
-sudo apt-get install libboost-filesystem1.53-dev
26+
27+
before_script:
28+
# update compilers
29+
-if [ "${CXX}" == "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
30+
-if [ "${CXX}" == "clang++" ]; then export CXX="clang++-3.2" CC="clang-3.2"; fi
31+
32+
script:
33+
-mkdir _build
34+
-cd _build
35+
# Note: clang not support libc++
36+
-cmake -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DCPP-NETLIB_DISABLE_LIBCXX=YES -DCPP-NETLIB_DISABLE_FEATURE_TESTS=YES ..
37+
-make
38+
-make test

‎CMakeLists.txt‎

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Copyright (c) Dean Michael Berris 2010.
22
# Copyright (c) Google, Inc. 2012.
3+
# Copyright (c) Glyn Matthews 2013.
34
# Distributed under the Boost Software License, Version 1.0.
45
# (See accompanying file LICENSE_1_0.txt or copy at
56
# http://www.boost.org/LICENSE_1_0.txt)
@@ -14,6 +15,7 @@ option( CPP-NETLIB_BUILD_EXAMPLES "Build the examples using cpp-netlib." ON )
1415
option( CPP-NETLIB_ALWAYS_LOGGING"Allow cpp-netlib to log debug messages even in non-debug mode."OFF )
1516
option( CPP-NETLIB_DISABLE_LOGGING"Disable logging definitely, no logging code will be generated or compiled."OFF )
1617
option( CPP-NETLIB_DISABLE_LIBCXX"Disable using libc++ when compiling with clang."OFF )
18+
option( CPP-NETLIB_DISABLE_FEATURE_TESTS"Disable the feature tests (which may use a network connection)."OFF )
1719

1820
set(CMAKE_MODULE_PATH${CMAKE_CURRENT_SOURCE_DIR})
1921
find_package( ICU )
@@ -28,8 +30,8 @@ else()
2830
set(BUILD_SHARED_LIBSOFF)
2931
endif()
3032
set(Boost_USE_MULTITHREADEDON)
31-
set(Boost_COMPONENTSsystemregexdate_timefilesystem program_options )
32-
find_package( Boost 1.51 REQUIRED${Boost_COMPONENTS} )
33+
set(Boost_COMPONENTSsystemregex filesystem )
34+
find_package( Boost 1.53 REQUIRED${Boost_COMPONENTS} )
3335
find_package( OpenSSL )
3436
find_package( Threads )
3537
set(CMAKE_VERBOSE_MAKEFILEtrue)
@@ -46,7 +48,8 @@ if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU)
4648
INCLUDE(CheckCXXCompilerFlag)
4749
CHECK_CXX_COMPILER_FLAG(-std=c++11 HAVE_STD11)
4850
if (HAVE_STD11)
49-
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
51+
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
52+
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11")
5053
else()
5154
message(FATAL_ERROR"No advanced standard C++ support (-std=c++11 not defined).")
5255
endif()
@@ -55,9 +58,11 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES Clang)
5558
CHECK_CXX_COMPILER_FLAG(-std=c++11 HAVE_STD11)
5659
if (HAVE_STD11)
5760
if (CPP-NETLIB_DISABLE_LIBCXX)
58-
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
61+
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
62+
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11")
5963
else()
60-
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++ -Wall")
64+
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++ -Wall")
65+
set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
6166
set(CMAKE_CXX_LINK_FLAGS"${CMAKE_CXX_LINK_FLAGS} -stdlib=libc++")
6267
endif()
6368
else()
@@ -83,13 +88,14 @@ if (Boost_FOUND)
8388
endif(Boost_FOUND)
8489

8590
message(STATUS"CPP-NETLIB options selected:")
86-
message(STATUS" CPP-NETLIB_BUILD_SHARED_LIBS: ${CPP-NETLIB_BUILD_SHARED_LIBS}\t(Build cpp-netlib as shared libraries: OFF, ON)")
87-
message(STATUS" CPP-NETLIB_BUILD_SINGLE_LIB: ${CPP-NETLIB_BUILD_SINGLE_LIB}\t(Build cpp-netlib into a single library: OFF, ON)")
88-
message(STATUS" CPP-NETLIB_BUILD_TESTS: ${CPP-NETLIB_BUILD_TESTS}\t(Build the unit tests: ON, OFF)")
89-
message(STATUS" CPP-NETLIB_BUILD_EXAMPLES: ${CPP-NETLIB_BUILD_EXAMPLES}\t(Build the examples using cpp-netlib: ON, OFF)")
90-
message(STATUS" CPP-NETLIB_ALWAYS_LOGGING: ${CPP-NETLIB_ALWAYS_LOGGING}\t(Allow cpp-netlib to log debug messages even in non-debug mode: ON, OFF)")
91-
message(STATUS" CPP-NETLIB_DISABLE_LOGGING: ${CPP-NETLIB_DISABLE_LOGGING}\t(Disable logging definitely, no logging code will be generated or compiled: ON, OFF)")
92-
message(STATUS" CPP-NETLIB_DISABLE_LIBCXX: ${CPP-NETLIB_DISABLE_LIBCXX}\t(Disable using libc++ when building with clang: ON, OFF)")
91+
message(STATUS" CPP-NETLIB_BUILD_SHARED_LIBS: ${CPP-NETLIB_BUILD_SHARED_LIBS}\t(Build cpp-netlib as shared libraries: OFF, ON)")
92+
message(STATUS" CPP-NETLIB_BUILD_SINGLE_LIB: ${CPP-NETLIB_BUILD_SINGLE_LIB}\t(Build cpp-netlib into a single library: OFF, ON)")
93+
message(STATUS" CPP-NETLIB_BUILD_TESTS: ${CPP-NETLIB_BUILD_TESTS}\t(Build the unit tests: ON, OFF)")
94+
message(STATUS" CPP-NETLIB_BUILD_EXAMPLES: ${CPP-NETLIB_BUILD_EXAMPLES}\t(Build the examples using cpp-netlib: ON, OFF)")
95+
message(STATUS" CPP-NETLIB_ALWAYS_LOGGING: ${CPP-NETLIB_ALWAYS_LOGGING}\t(Allow cpp-netlib to log debug messages even in non-debug mode: ON, OFF)")
96+
message(STATUS" CPP-NETLIB_DISABLE_LOGGING: ${CPP-NETLIB_DISABLE_LOGGING}\t(Disable logging definitely, no logging code will be generated or compiled: ON, OFF)")
97+
message(STATUS" CPP-NETLIB_DISABLE_LIBCXX: ${CPP-NETLIB_DISABLE_LIBCXX}\t(Disable using libc++ when building with clang: ON, OFF)")
98+
message(STATUS" CPP-NETLIB_DISABLE_FEATURE_TESTS: ${CPP-NETLIB_DISABLE_FEATURE_TESTS}\t(Disable the feature tests (which may use a network connection): ON, OFF)")
9399
message(STATUS"CMake build options selected:")
94100

95101
# Takes one or more lists as parameter and prepends the prefix to every element.
@@ -124,21 +130,37 @@ if(CPP-NETLIB_BUILD_TESTS)
124130
set(GTEST_ROOT ${CPP-NETLIB_SOURCE_DIR}/deps/gtest)
125131
set(GTEST_FOUNDON)
126132
set(GTEST_INCLUDE_DIRS${GTEST_ROOT}/include)
127-
set(GTEST_LIBRARIES gtest)
128-
set(GTEST_MAIN_LIBRARIES gtest_main)
129-
set(GTEST_BOTH_LIBRARIES${GTEST_LIBRARIES}${GTEST_MAIN_LIBRARIES})
133+
set(GTEST_LIBRARY gtest)
134+
set(GTEST_MAIN_LIBRARY gtest_main)
135+
set(GTEST_BOTH_LIBRARIES${GTEST_LIBRARY}${GTEST_MAIN_LIBRARY})
130136

131137
set(GMOCK_ROOT ${CPP-NETLIB_SOURCE_DIR}/deps/gmock)
132138
set(GMOCK_FOUNDON)
133139
set(GMOCK_INCLUDE_DIRS${GTEST_INCLUDE_DIRS} {${GMOCK_DIR}/include)
134-
set(GMOCK_LIBRARIES {$GTEST_LIBRARIES} gmock)
135-
set(GMOCK_MAIN_LIBRARIES gmock_main)
136-
set(GMOCK_BOTH_LIBRARIES${GMOCK_LIBRARIES}${GMOCK_MAIN_LIBRARIES})
140+
set(GMOCK_LIBRARY {$GTEST_LIBRARIES} gmock)
141+
set(GMOCK_MAIN_LIBRARY gmock_main)
142+
set(GMOCK_BOTH_LIBRARIES${GMOCK_LIBRARY}${GMOCK_MAIN_LIBRARY})
143+
144+
set(IGLOO_ROOT ${CPP-NETLIB_SOURCE_DIR}/deps/igloo)
145+
set(IGLOO_FOUNDON)
146+
set(IGLOO_INCLUDE_DIR${IGLOO_ROOT})
137147
endif()
138148

149+
# Documentation
150+
find_package(Doxygen)
151+
if (DOXYGEN_FOUND)
152+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
153+
add_custom_target(doc
154+
${DOXYGEN_EXECUTABLE}${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
155+
WORKING_DIRECTORY${CMAKE_CURRENT_BINARY_DIR}
156+
COMMENT"Generating API documentation with Doxygen"VERBATIM)
157+
set(CPP-NETLIB_GENERATE_DOCSON)
158+
endif(DOXYGEN_FOUND)
159+
139160
if(CPP-NETLIB_BUILD_SINGLE_LIB)
140161
include_directories(
141162
${CMAKE_CURRENT_SOURCE_DIR}/config/src
163+
${CMAKE_CURRENT_SOURCE_DIR}/error/src
142164
${CMAKE_CURRENT_SOURCE_DIR}/concurrency/src
143165
${CMAKE_CURRENT_SOURCE_DIR}/http/src
144166
${CMAKE_CURRENT_SOURCE_DIR}/logging/src
@@ -151,8 +173,9 @@ endif()
151173
add_subdirectory(uri)
152174
add_subdirectory(message)
153175
add_subdirectory(logging)
154-
add_subdirectory(concurrency)
176+
add_subdirectory(error)
155177
add_subdirectory(http)
178+
add_subdirectory(concurrency)
156179
#add_subdirectory(mime)
157180
if(CPP-NETLIB_BUILD_EXAMPLES)
158181
add_subdirectory(contrib/http_examples)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp