remove C part in source code

This commit is contained in:
yuangongji
2020-06-05 17:22:12 +08:00
parent 328be0b445
commit 2f5b137997
44 changed files with 550 additions and 1548 deletions

View File

@@ -5,7 +5,7 @@ on:
types: [opened, synchronize] types: [opened, synchronize]
push: push:
branches: branches:
- master - cpp_master
tags: tags:
- '*' - '*'
@@ -26,7 +26,7 @@ jobs:
uses: actions/cache@v1 uses: actions/cache@v1
with: with:
path: usr path: usr
key: ${{ runner.os }}-boost-20200107 key: ${{ runner.os }}-boost-20200401
- name: Build boost - name: Build boost
if: steps.cache-boost.outputs.cache-hit != 'true' if: steps.cache-boost.outputs.cache-hit != 'true'
run: ./.github/depends/boost.sh -b both -t gcc run: ./.github/depends/boost.sh -b both -t gcc
@@ -48,7 +48,7 @@ jobs:
cd .. cd ..
mkdir build && cd build mkdir build && cd build
CMAKE_LIBRARY_PATH="${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/gcc/lib64/cmake" cmake -DMSGPACK_CXX17=ON -DMSGPACK_32BIT=OFF -DMSGPACK_BOOST=ON -DBUILD_SHARED_LIBS=ON -DMSGPACK_CHAR_SIGN=signed -DMSGPACK_USE_X3_PARSE=ON -DMSGPACK_ENABLE_CXX=ON -DMSGPACK_BUILD_EXAMPLES=ON -DMSGPACK_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -DMSGPACK_GEN_COVERAGE=ON .. CMAKE_LIBRARY_PATH="${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/gcc/lib64/cmake" cmake -DMSGPACK_CXX17=ON -DMSGPACK_32BIT=OFF -DMSGPACK_CHAR_SIGN=signed -DMSGPACK_USE_X3_PARSE=ON -DMSGPACK_BUILD_EXAMPLES=ON -DMSGPACK_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -DMSGPACK_GEN_COVERAGE=ON ..
make -j4 make -j4
make test make test
- name: Upload coverage to Codecov - name: Upload coverage to Codecov

View File

@@ -5,7 +5,7 @@ on:
types: [opened, synchronize] types: [opened, synchronize]
push: push:
branches: branches:
- master - cpp_master
tags: tags:
- '*' - '*'
@@ -13,6 +13,7 @@ jobs:
macos: macos:
runs-on: macos-latest runs-on: macos-latest
strategy: strategy:
fail-fast: false
matrix: matrix:
pattern: [0, 1, 2, 3] pattern: [0, 1, 2, 3]
steps: steps:
@@ -28,7 +29,6 @@ jobs:
run: ./.github/depends/boost.sh -b 64 -t clang run: ./.github/depends/boost.sh -b 64 -t clang
- name: build and test - name: build and test
env: env:
CC: clang
CXX: clang++ CXX: clang++
shell: bash shell: bash
run: | run: |
@@ -39,8 +39,6 @@ jobs:
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="64" export ARCH="64"
export BOOST="ON"
SHARED="ON"
export CHAR_SIGN="unsigned" export CHAR_SIGN="unsigned"
export API_VERSION="1" export API_VERSION="1"
fi fi
@@ -48,8 +46,6 @@ jobs:
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="64" export ARCH="64"
export BOOST="ON"
export SHARED="ON"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="3" export API_VERSION="3"
fi fi
@@ -57,14 +53,12 @@ jobs:
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="64" export ARCH="64"
export SHARED="ON"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 3 ]; then if [ ${{ matrix.pattern }} == 3 ]; then
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export ARCH="64" export ARCH="64"
export SHARED="ON"
export CHAR_SIGN="unsigned" export CHAR_SIGN="unsigned"
export API_VERSION="2" export API_VERSION="2"
fi fi
@@ -84,17 +78,18 @@ jobs:
cd .. cd ..
# build and test # build and test
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/clang/lib${ARCH}/cmake" CFLAGS="-Werror -g" CXXFLAGS="-Werror -g" ${ACTION} CMAKE_CXX_COMPILER="${CXX}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/clang/lib${ARCH}/cmake" CXXFLAGS="-Werror -g" ${ACTION}
cat Files.cmake| grep ".*\.[h|hpp]" | perl -pe 's/ //g' | sort > tmp1 && find include -name "*.h" -o -name "*.hpp" | sort > tmp2 && diff tmp1 tmp2 cat Files.cmake| grep ".*\.[h|hpp]" | perl -pe 's/ //g' | sort > tmp1 && find include -name "*.h" -o -name "*.hpp" | sort > tmp2 && diff tmp1 tmp2
linux: linux:
runs-on: ubuntu-18.04 runs-on: ubuntu-18.04
strategy: strategy:
fail-fast: false
matrix: matrix:
pattern: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] pattern: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: install depends - name: install build depends
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install g++-multilib clang-8 valgrind sudo apt-get install g++-multilib clang-8 valgrind
@@ -114,99 +109,75 @@ jobs:
# matrix config # matrix config
if [ ${{ matrix.pattern }} == 0 ]; then if [ ${{ matrix.pattern }} == 0 ]; then
export CC=clang
export CXX=clang++ export CXX=clang++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export ARCH="64" export ARCH="64"
export BOOST="ON"
export SHARED="ON"
export CHAR_SIGN="unsigned" export CHAR_SIGN="unsigned"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 1 ]; then if [ ${{ matrix.pattern }} == 1 ]; then
export CC=clang
export CXX=clang++ export CXX=clang++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export ARCH="32" export ARCH="32"
export SHARED="ON"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 2 ]; then if [ ${{ matrix.pattern }} == 2 ]; then
export CC=clang
export CXX=clang++ export CXX=clang++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="64" export ARCH="64"
export BOOST="ON"
export SHARED="ON"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="3" export API_VERSION="3"
export X3_PARSE="ON" export X3_PARSE="ON"
fi fi
if [ ${{ matrix.pattern }} == 3 ]; then if [ ${{ matrix.pattern }} == 3 ]; then
export CC=clang
export CXX=clang++ export CXX=clang++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="32" export ARCH="32"
export SHARED="OFF"
export CHAR_SIGN="unsigned" export CHAR_SIGN="unsigned"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 4 ]; then if [ ${{ matrix.pattern }} == 4 ]; then
export CC=gcc
export CXX=g++ export CXX=g++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="64" export ARCH="64"
export SHARED="ON"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 5 ]; then if [ ${{ matrix.pattern }} == 5 ]; then
export CC=gcc
export CXX=g++ export CXX=g++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export CXX17="ON" export CXX17="ON"
export ARCH="32" export ARCH="32"
export BOOST="ON"
export SHARED="ON"
export CHAR_SIGN="unsigned" export CHAR_SIGN="unsigned"
export API_VERSION="3" export API_VERSION="3"
export X3_PARSE="ON" export X3_PARSE="ON"
fi fi
if [ ${{ matrix.pattern }} == 6 ]; then if [ ${{ matrix.pattern }} == 6 ]; then
export CC=gcc
export CXX=g++ export CXX=g++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export ARCH="64" export ARCH="64"
export SHARED="ON"
export CHAR_SIGN="unsigned" export CHAR_SIGN="unsigned"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 7 ]; then if [ ${{ matrix.pattern }} == 7 ]; then
export CC=gcc
export CXX=g++ export CXX=g++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export ARCH="32" export ARCH="32"
export BOOST="ON"
export SHARED="OFF"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="1" export API_VERSION="1"
fi fi
if [ ${{ matrix.pattern }} == 8 ]; then if [ ${{ matrix.pattern }} == 8 ]; then
export CC=gcc
export CXX=g++ export CXX=g++
ACTION="ci/build_cmake.sh" ACTION="ci/build_cmake.sh"
export ARCH="32" export ARCH="32"
export BOOST="ON"
export SHARED="OFF"
export CHAR_SIGN="signed" export CHAR_SIGN="signed"
export API_VERSION="2" export API_VERSION="2"
fi fi
if [ ${{ matrix.pattern }} == 9 ]; then if [ ${{ matrix.pattern }} == 9 ]; then
export CC=clang
export CXX=clang++ export CXX=clang++
ACTION="ci/build_regression.sh" ACTION="ci/build_regression.sh"
export ARCH="64" export ARCH="64"
@@ -215,7 +186,6 @@ jobs:
export CTEST_OUTPUT_ON_FAILURE=1 export CTEST_OUTPUT_ON_FAILURE=1
fi fi
if [ ${{ matrix.pattern }} == 10 ]; then if [ ${{ matrix.pattern }} == 10 ]; then
export CC=clang
export CXX=clang++ export CXX=clang++
ACTION="ci/build_regression.sh" ACTION="ci/build_regression.sh"
export ARCH="64" export ARCH="64"
@@ -223,12 +193,6 @@ jobs:
export MSGPACK_FUZZ_REGRESSION="ON" export MSGPACK_FUZZ_REGRESSION="ON"
export CTEST_OUTPUT_ON_FAILURE=1 export CTEST_OUTPUT_ON_FAILURE=1
fi fi
if [ ${{ matrix.pattern }} == 11 ]; then
export CC=gcc
export CXX=g++
ACTION="ci/build_cmake_embedded.sh"
export ARCH="64"
fi
# install gtest # install gtest
wget https://github.com/google/googletest/archive/release-1.7.0.zip -O googletest-release-1.7.0.zip wget https://github.com/google/googletest/archive/release-1.7.0.zip -O googletest-release-1.7.0.zip
@@ -250,13 +214,14 @@ jobs:
fi fi
# build and test # build and test
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/gcc/lib${ARCH}/cmake" CFLAGS="-Werror -g" CXXFLAGS="-Werror -g" MSGPACK_SAN="${SAN}" ${ACTION} CMAKE_CXX_COMPILER="${CXX}" CMAKE_LIBRARY_PATH="${BASE}/usr/lib:${BASE}/build" GTEST_ROOT="${BASE}/usr" CMAKE_PREFIX_PATH="${BASE}/usr/gcc/lib${ARCH}/cmake" CXXFLAGS="-Werror -g" MSGPACK_SAN="${SAN}" ${ACTION}
cat Files.cmake| grep ".*\.[h|hpp]" | perl -pe 's/ //g' | sort > tmp1 && find include -name "*.h" -o -name "*.hpp" | sort > tmp2 && diff tmp1 tmp2 cat Files.cmake| grep ".*\.[h|hpp]" | perl -pe 's/ //g' | sort > tmp1 && find include -name "*.h" -o -name "*.hpp" | sort > tmp2 && diff tmp1 tmp2
windows: windows:
runs-on: windows-2016 runs-on: windows-2016
strategy: strategy:
fail-fast: false
matrix: matrix:
pattern: [0, 1, 2, 3] pattern: [0, 1, 2]
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: Cache vcpkg - name: Cache vcpkg
@@ -275,26 +240,19 @@ jobs:
shell: powershell shell: powershell
run: | run: |
if (${{ matrix.pattern }} -eq 0) { if (${{ matrix.pattern }} -eq 0) {
$CPP11="-DMSGPACK_CXX11=OFF" $CPPVER="-DMSGPACK_CXX17=ON"
$BOOST="-DMSGPACK_BOOST=OFF"
} }
if (${{ matrix.pattern }} -eq 1) { if (${{ matrix.pattern }} -eq 1) {
$CPP11="-DMSGPACK_CXX11=OFF" $CPPVER="-DMSGPACK_CXX11=ON"
$BOOST="-DMSGPACK_BOOST=ON"
} }
if (${{ matrix.pattern }} -eq 2) { if (${{ matrix.pattern }} -eq 2) {
$CPP11="-DMSGPACK_CXX11=ON" $CPPVER="-DMSGPACK_CXX11=OFF"
$BOOST="-DMSGPACK_BOOST=OFF"
}
if (${{ matrix.pattern }} -eq 3) {
$CPP11="-DMSGPACK_CXX11=ON"
$BOOST="-DMSGPACK_BOOST=ON"
} }
$CUR=(Get-Location).Path $CUR=(Get-Location).Path
md build md build
cd build cd build
cmake -A x64 -DBOOST_ROOT="$env:BOOST_ROOT_1_72_0" -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" $CPP11 $BOOST "-DCMAKE_CXX_FLAGS=/D_VARIADIC_MAX=10 /EHsc /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" .. cmake -A x64 -DBOOST_ROOT="$env:BOOST_ROOT_1_72_0" -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" $CPPVER "-DCMAKE_CXX_FLAGS=/D_VARIADIC_MAX=10 /EHsc /D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" ..
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) } if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
cmake --build . --config Release cmake --build . --config Release
$pathbak="$env:PATH" $pathbak="$env:PATH"

View File

@@ -1,13 +1,13 @@
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12) CMAKE_MINIMUM_REQUIRED (VERSION 3.0.0)
IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR
(CMAKE_VERSION VERSION_EQUAL 3.1)) (CMAKE_VERSION VERSION_EQUAL 3.1))
CMAKE_POLICY(SET CMP0054 NEW) CMAKE_POLICY(SET CMP0054 NEW)
ENDIF () ENDIF ()
PROJECT (msgpack) PROJECT (msgpack CXX)
FILE (READ ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/version_master.h contents) FILE (READ ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/version_master.hpp contents)
STRING (REGEX MATCH "#define MSGPACK_VERSION_MAJOR *([0-9a-zA-Z_]*)" NULL_OUT ${contents}) STRING (REGEX MATCH "#define MSGPACK_VERSION_MAJOR *([0-9a-zA-Z_]*)" NULL_OUT ${contents})
SET (VERSION_MAJOR ${CMAKE_MATCH_1}) SET (VERSION_MAJOR ${CMAKE_MATCH_1})
STRING (REGEX MATCH "#define MSGPACK_VERSION_MINOR *([0-9a-zA-Z_]*)" NULL_OUT ${contents}) STRING (REGEX MATCH "#define MSGPACK_VERSION_MINOR *([0-9a-zA-Z_]*)" NULL_OUT ${contents})
@@ -17,32 +17,16 @@ SET (VERSION_REVISION ${CMAKE_MATCH_1})
SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}) SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION})
LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/") LIST (APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/")
SET (prefix ${CMAKE_INSTALL_PREFIX})
SET (exec_prefix "\${prefix}")
SET (libdir "\${exec_prefix}/lib")
SET (includedir "\${prefix}/include")
SET (GNUCXX_STD_SUPPORT_VERSION "4.3") SET (GNUCXX_STD_SUPPORT_VERSION "4.3")
OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF) OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF)
OPTION (MSGPACK_32BIT "32bit compile" OFF) OPTION (MSGPACK_32BIT "32bit compile" OFF)
OPTION (MSGPACK_BOOST "Using boost libraries" OFF)
IF (APPLE)
SET(CMAKE_MACOSX_RPATH ON)
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
IF ("${isSystemDir}" STREQUAL "-1")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
ENDIF ()
ENDIF ()
IF (MSGPACK_USE_X3_PARSE) IF (MSGPACK_USE_X3_PARSE)
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE -std=c++14 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE -std=c++14 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") # matches Clang and AppleClang
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE -std=c++14 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE -std=c++14 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_X3_PARSE ${CMAKE_CXX_FLAGS}")
@@ -54,15 +38,15 @@ ELSE ()
IF (MSGPACK_CXX17) IF (MSGPACK_CXX17)
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET (CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
MESSAGE ( FATAL_ERROR "MSVC doesn't support C++17.") # MESSAGE ( FATAL_ERROR "MSVC doesn't support C++17.")
ENDIF () ENDIF ()
ELSEIF (MSGPACK_CXX11) ELSEIF (MSGPACK_CXX11)
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19) IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
@@ -75,7 +59,7 @@ ELSE ()
(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL ${GNUCXX_STD_SUPPORT_VERSION})) (CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL ${GNUCXX_STD_SUPPORT_VERSION}))
SET (CMAKE_CXX_FLAGS "-std=c++98 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-std=c++98 ${CMAKE_CXX_FLAGS}")
ENDIF () ENDIF ()
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-std=c++98 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-std=c++98 ${CMAKE_CXX_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18) IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18)
@@ -88,37 +72,32 @@ ENDIF ()
IF (MSGPACK_32BIT) IF (MSGPACK_32BIT)
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET (CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}")
SET (CMAKE_C_FLAGS "-m32 ${CMAKE_C_FLAGS}")
SET (CMAKE_EXE_LINKER_FLAGS "-m32 ${CMAKE_EXE_LINKER_FLAGS}") SET (CMAKE_EXE_LINKER_FLAGS "-m32 ${CMAKE_EXE_LINKER_FLAGS}")
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-m32 ${CMAKE_CXX_FLAGS}")
SET (CMAKE_C_FLAGS "-m32 ${CMAKE_C_FLAGS}")
SET (CMAKE_EXE_LINKER_FLAGS "-m32 ${CMAKE_EXE_LINKER_FLAGS}") SET (CMAKE_EXE_LINKER_FLAGS "-m32 ${CMAKE_EXE_LINKER_FLAGS}")
ENDIF () ENDIF ()
ENDIF () ENDIF ()
OPTION (MSGPACK_BUILD_EXAMPLES "Build msgpack examples." ON) OPTION (MSGPACK_BUILD_EXAMPLES "Build msgpack examples." ON)
IF (MSGPACK_BOOST) SET (Boost_USE_MULTITHREADED ON)
SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_BOOST ${CMAKE_CXX_FLAGS}") SET (Boost_USE_STATIC_RUNTIME OFF)
SET (Boost_USE_MULTITHREADED ON) FIND_PACKAGE (Boost REQUIRED COMPONENTS chrono context system timer)
SET (Boost_USE_STATIC_RUNTIME OFF)
FIND_PACKAGE (Boost REQUIRED COMPONENTS chrono context system timer) INCLUDE_DIRECTORIES (
${Boost_INCLUDE_DIRS}
)
LINK_DIRECTORIES (
${Boost_LIBRARY_DIRS}
)
IF (MSGPACK_BOOST_DIR)
INCLUDE_DIRECTORIES ( INCLUDE_DIRECTORIES (
${Boost_INCLUDE_DIRS} ${MSGPACK_BOOST_DIR}
) )
LINK_DIRECTORIES (
${Boost_LIBRARY_DIRS}
)
IF (MSGPACK_BOOST_DIR)
INCLUDE_DIRECTORIES (
${MSGPACK_BOOST_DIR}
)
ENDIF ()
ENDIF () ENDIF ()
IF (MSGPACK_CHAR_SIGN) IF (MSGPACK_CHAR_SIGN)
SET (CMAKE_C_FLAGS "-f${MSGPACK_CHAR_SIGN}-char ${CMAKE_C_FLAGS}")
SET (CMAKE_CXX_FLAGS "-f${MSGPACK_CHAR_SIGN}-char ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-f${MSGPACK_CHAR_SIGN}-char ${CMAKE_CXX_FLAGS}")
ENDIF () ENDIF ()
@@ -128,26 +107,6 @@ ELSE ()
SET (CMAKE_CXX_FLAGS "-DMSGPACK_DEFAULT_API_VERSION=3 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-DMSGPACK_DEFAULT_API_VERSION=3 ${CMAKE_CXX_FLAGS}")
ENDIF () ENDIF ()
FILE (GLOB_RECURSE PREDEF_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/predef/include/boost ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/predef/include/boost/*.h)
FOREACH (F ${PREDEF_FILES})
SET(M "Converting ${F}")
MESSAGE(STATUS ${M})
FILE (READ ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/predef/include/boost/${F} CONTENT)
STRING(REPLACE "BOOST_" "MSGPACK_" CONTENT ${CONTENT})
STRING(REPLACE "boost/" "msgpack/" CONTENT ${CONTENT})
FILE (GENERATE OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/${F} CONTENT ${CONTENT})
ENDFOREACH ()
FILE (GLOB_RECURSE PREPROCESSOR_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/preprocessor/include/boost ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/preprocessor/include/boost/*.hpp)
FOREACH (F ${PREPROCESSOR_FILES})
SET(M "Converting ${F}")
MESSAGE(STATUS ${M})
FILE (READ ${CMAKE_CURRENT_SOURCE_DIR}/external/boost/preprocessor/include/boost/${F} CONTENT)
STRING(REPLACE "BOOST_" "MSGPACK_" CONTENT ${CONTENT})
STRING(REPLACE "boost/" "msgpack/" CONTENT ${CONTENT})
FILE (GENERATE OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include/msgpack/${F} CONTENT ${CONTENT})
ENDFOREACH ()
FIND_PACKAGE (GTest) FIND_PACKAGE (GTest)
FIND_PACKAGE (ZLIB) FIND_PACKAGE (ZLIB)
FIND_PACKAGE (Threads) FIND_PACKAGE (Threads)
@@ -156,54 +115,6 @@ IF (GTEST_FOUND AND ZLIB_FOUND AND THREADS_FOUND AND NOT "${MSGPACK_FUZZ_REGRESS
OPTION (MSGPACK_GEN_COVERAGE "Enable running gcov to get a test coverage report." OFF) OPTION (MSGPACK_GEN_COVERAGE "Enable running gcov to get a test coverage report." OFF)
ENDIF () ENDIF ()
OPTION (MSGPACK_ENABLE_CXX "Enable C++ interface." ON)
OPTION (MSGPACK_CXX_ONLY "Build only C++ libraries (header-only)." OFF)
IF (MSGPACK_CXX_ONLY)
IF (DEFINED MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_SHARED)
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to OFF by MSGPACK_CXX_ONLY")
ENDIF ()
SET (MSGPACK_ENABLE_SHARED OFF)
IF (DEFINED MSGPACK_ENABLE_STATIC AND MSGPACK_ENABLE_STATIC)
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to OFF by MSGPACK_CXX_ONLY")
ENDIF ()
SET (MSGPACK_ENABLE_STATIC OFF)
IF (DEFINED MSGPACK_ENABLE_CXX AND NOT MSGPACK_ENABLE_CXX)
MESSAGE(WARNING "MSGPACK_ENABLE_CXX is overridden to ON by MSGPACK_CXX_ONLY")
ENDIF ()
SET (MSGPACK_ENABLE_CXX ON)
ELSE ()
IF (DEFINED BUILD_SHARED_LIBS)
IF (BUILD_SHARED_LIBS)
IF (DEFINED MSGPACK_ENABLE_SHARED AND NOT MSGPACK_ENABLE_SHARED)
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to ON by BUILD_SHARED_LIBS")
ENDIF ()
SET (MSGPACK_ENABLE_SHARED ON)
IF (DEFINED MSGPACK_ENABLE_STATIC AND MSGPACK_ENABLE_STATIC)
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to OFF by BUILD_SHARED_LIBS")
ENDIF ()
SET (MSGPACK_ENABLE_STATIC OFF)
ELSE ()
IF (DEFINED MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_SHARED)
MESSAGE(WARNING "MSGPACK_ENABLE_SHARED is overridden to OFF by BUILD_SHARED_LIBS")
ENDIF ()
SET (MSGPACK_ENABLE_SHARED OFF)
IF (DEFINED MSGPACK_ENABLE_STATIC AND NOT MSGPACK_ENABLE_STATIC)
MESSAGE(WARNING "MSGPACK_ENABLE_STATIC is overridden to ON by BUILD_SHARED_LIBS")
ENDIF ()
SET (MSGPACK_ENABLE_STATIC ON)
ENDIF ()
ELSE ()
IF (NOT DEFINED MSGPACK_ENABLE_SHARED)
SET (MSGPACK_ENABLE_SHARED ON)
ENDIF ()
IF (NOT DEFINED MSGPACK_ENABLE_STATIC)
SET (MSGPACK_ENABLE_STATIC ON)
ENDIF ()
SET (BUILD_SHARED_LIBS ${MSGPACK_ENABLE_SHARED})
ENDIF ()
ENDIF ()
INCLUDE (CheckCXXSourceCompiles) INCLUDE (CheckCXXSourceCompiles)
CHECK_CXX_SOURCE_COMPILES (" CHECK_CXX_SOURCE_COMPILES ("
#include <bits/atomicity.h> #include <bits/atomicity.h>
@@ -218,78 +129,17 @@ int main(int argc, char * argv[])
INCLUDE (Files.cmake) INCLUDE (Files.cmake)
EXECUTE_PROCESS ( ADD_LIBRARY (msgpackcxx INTERFACE)
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/src/msgpack
TARGET_INCLUDE_DIRECTORIES (msgpackcxx
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
) )
CONFIGURE_FILE (
msgpack.pc.in
msgpack.pc
@ONLY
)
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
ADD_LIBRARY (msgpackc
${msgpackc_SOURCES}
${msgpackc_HEADERS}
)
SET_TARGET_PROPERTIES (msgpackc PROPERTIES SOVERSION 2 VERSION 2.0.0)
TARGET_INCLUDE_DIRECTORIES (msgpackc
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
ENDIF ()
IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSION VERSION_EQUAL 3.0)))
ADD_LIBRARY (msgpackc-cxx INTERFACE)
TARGET_INCLUDE_DIRECTORIES (msgpackc-cxx
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
)
ENDIF ()
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
ADD_LIBRARY (msgpackc-static STATIC
${msgpackc_SOURCES}
${msgpackc_HEADERS}
)
TARGET_INCLUDE_DIRECTORIES (msgpackc-static
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:include>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc")
IF (MSGPACK_ENABLE_SHARED)
IF (MSVC)
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib")
ELSEIF (MINGW)
SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX ".dll.a")
ENDIF ()
ENDIF ()
ENDIF ()
# enable regression testing # enable regression testing
IF ("${MSGPACK_FUZZ_REGRESSION}" STREQUAL "ON" AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${MSGPACK_FUZZ_REGRESSION}" STREQUAL "ON" AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET (CMAKE_CXX_FLAGS "-DMSGPACK_USE_BOOST ${CMAKE_CXX_FLAGS}")
SET (Boost_USE_MULTITHREADED ON)
SET (Boost_USE_STATIC_RUNTIME OFF)
enable_testing () enable_testing ()
ADD_SUBDIRECTORY (fuzz) ADD_SUBDIRECTORY (fuzz)
SET (MSGPACK_BUILD_EXAMPLES OFF) SET (MSGPACK_BUILD_EXAMPLES OFF)
@@ -305,7 +155,6 @@ IF (MSGPACK_GEN_COVERAGE)
ENDIF () ENDIF ()
INCLUDE(CodeCoverage) INCLUDE(CodeCoverage)
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COVERAGE_FLAGS}")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_FLAGS}") SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_FLAGS}")
SETUP_TARGET_FOR_COVERAGE(coverage make coverage test) SETUP_TARGET_FOR_COVERAGE(coverage make coverage test)
@@ -320,24 +169,6 @@ IF (MSGPACK_BUILD_TESTS)
ADD_SUBDIRECTORY (test) ADD_SUBDIRECTORY (test)
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -DPIC")
ENDIF ()
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra" )
ENDIF ()
ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF ()
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF ()
ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
@@ -346,83 +177,22 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
ENDIF () ENDIF ()
ENDIF () ENDIF ()
IF ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
IF (CMAKE_C_FLAGS MATCHES "/W[0-4]")
STRING(REGEX REPLACE "/W[0-4]" "/W3 /WX" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
ELSE ()
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3 /WX")
ENDIF ()
ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC90" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC10")
SET_SOURCE_FILES_PROPERTIES(${msgpackc_SOURCES} PROPERTIES LANGUAGE CXX)
ENDIF ()
IF ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "sparc") IF ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "sparc")
SET (CMAKE_C_FLAGS "-DMSGPACK_ZONE_ALIGN=8 ${CMAKE_C_FLAGS}")
SET (CMAKE_CXX_FLAGS "-DMSGPACK_ZONE_ALIGN=8 ${CMAKE_CXX_FLAGS}") SET (CMAKE_CXX_FLAGS "-DMSGPACK_ZONE_ALIGN=8 ${CMAKE_CXX_FLAGS}")
ENDIF () ENDIF ()
IF (NOT DEFINED CMAKE_INSTALL_BINDIR)
SET(CMAKE_INSTALL_BINDIR bin)
ENDIF ()
IF (NOT DEFINED CMAKE_INSTALL_LIBDIR)
SET(CMAKE_INSTALL_LIBDIR lib)
ENDIF ()
IF (MSGPACK_BUILD_EXAMPLES) IF (MSGPACK_BUILD_EXAMPLES)
ADD_SUBDIRECTORY (example) ADD_SUBDIRECTORY (example)
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_SHARED OR MSGPACK_ENABLE_STATIC)
SET (MSGPACK_INSTALLTARGETS msgpackc)
ENDIF ()
IF (MSGPACK_ENABLE_CXX AND ((CMAKE_VERSION VERSION_GREATER 3.0) OR (CMAKE_VERSION VERSION_EQUAL 3.0)))
LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-cxx)
ENDIF ()
IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC)
LIST (APPEND MSGPACK_INSTALLTARGETS msgpackc-static)
ENDIF ()
INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} EXPORT msgpack-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
FOREACH (file ${msgpackc_HEADERS}) FOREACH (file ${msgpackc_HEADERS})
GET_FILENAME_COMPONENT (dir ${file} PATH) GET_FILENAME_COMPONENT (dir ${file} PATH)
INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir}) INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir})
ENDFOREACH () ENDFOREACH ()
IF (NOT MSGPACK_CXX_ONLY AND NOT MSVC)
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
ENDIF ()
# Doxygen # Doxygen
FIND_PACKAGE (Doxygen) FIND_PACKAGE (Doxygen)
IF (DOXYGEN_FOUND) IF (DOXYGEN_FOUND)
LIST (APPEND Doxyfile_c_CONTENT
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
COMMAND ${CMAKE_COMMAND} -E echo "FILE_PATTERNS = *.h" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
COMMAND ${CMAKE_COMMAND} -E echo "OUTPUT_DIRECTORY = doc_c" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
COMMAND ${CMAKE_COMMAND} -E echo "INPUT = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
COMMAND ${CMAKE_COMMAND} -E echo "EXTRACT_ALL = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"MessagePack for C\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
COMMAND ${CMAKE_COMMAND} -E echo "STRIP_FROM_PATH = ${CMAKE_CURRENT_SOURCE_DIR}/include" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
)
IF (DOXYGEN_DOT_FOUND)
LIST (APPEND Doxyfile_c_CONTENT
COMMAND ${CMAKE_COMMAND} -E echo "HAVE_DOT = YES" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
)
ENDIF ()
ADD_CUSTOM_TARGET (
doxygen_c
${Doxyfile_c_CONTENT}
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_c
VERBATIM
)
LIST (APPEND Doxyfile_cpp_CONTENT LIST (APPEND Doxyfile_cpp_CONTENT
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp
COMMAND ${CMAKE_COMMAND} -E echo "FILE_PATTERNS = *.hpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp COMMAND ${CMAKE_COMMAND} -E echo "FILE_PATTERNS = *.hpp" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp
@@ -437,52 +207,10 @@ IF (DOXYGEN_FOUND)
) )
ENDIF () ENDIF ()
ADD_CUSTOM_TARGET ( ADD_CUSTOM_TARGET (
doxygen_cpp doxygen
${Doxyfile_cpp_CONTENT} ${Doxyfile_cpp_CONTENT}
COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"MessagePack for C++\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp COMMAND ${CMAKE_COMMAND} -E echo "PROJECT_NAME = \"MessagePack for C++\"" >> ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile_cpp
VERBATIM VERBATIM
) )
ADD_CUSTOM_TARGET (
doxygen
DEPENDS doxygen_c doxygen_cpp
)
ENDIF ()
INCLUDE (CMakePackageConfigHelpers)
SET (CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/msgpack")
WRITE_BASIC_PACKAGE_VERSION_FILE (
msgpack-config-version.cmake
VERSION ${VERSION}
COMPATIBILITY SameMajorVersion
)
IF (NOT CMAKE_VERSION VERSION_LESS 3.0)
EXPORT (EXPORT msgpack-targets
FILE "${CMAKE_CURRENT_BINARY_DIR}/msgpack-targets.cmake"
)
ENDIF ()
CONFIGURE_PACKAGE_CONFIG_FILE (msgpack-config.cmake.in
msgpack-config.cmake
INSTALL_DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
)
IF (NOT MSGPACK_CXX_ONLY)
INSTALL (EXPORT msgpack-targets
FILE
msgpack-targets.cmake
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)
INSTALL (
FILES
"${CMAKE_CURRENT_BINARY_DIR}/msgpack-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/msgpack-config-version.cmake"
DESTINATION
"${CMAKE_INSTALL_CMAKEDIR}"
)
ENDIF () ENDIF ()

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,8 @@
`msgpack` for C/C++ `msgpack` for C++
=================== ===================
Version 3.3.0 [![Build Status](https://travis-ci.org/msgpack/msgpack-c.svg?branch=master)](https://travis-ci.org/msgpack/msgpack-c) [![Build status](https://ci.appveyor.com/api/projects/status/8kstcgt79qj123mw/branch/master?svg=true)](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/master) Version 3.3.0 [![Build Status](https://travis-ci.org/msgpack/msgpack-c.svg?branch=cpp_master)](https://travis-ci.org/msgpack/msgpack-c) [![Build status](https://ci.appveyor.com/api/projects/status/8kstcgt79qj123mw/branch/cpp_master?svg=true)](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/cpp_master)
[![codecov](https://codecov.io/gh/msgpack/msgpack-c/branch/master/graph/badge.svg)](https://codecov.io/gh/msgpack/msgpack-c) [![codecov](https://codecov.io/gh/msgpack/msgpack-c/branch/cpp_master/graph/badge.svg)](https://codecov.io/gh/msgpack/msgpack-c/branch/cpp_master)
It's like JSON but smaller and faster. It's like JSON but smaller and faster.
@@ -18,51 +18,6 @@ addition to the strings themselves.
Example Example
------- -------
In C:
```c
#include <msgpack.h>
#include <stdio.h>
int main(void)
{
/* msgpack::sbuffer is a simple buffer implementation. */
msgpack_sbuffer sbuf;
msgpack_sbuffer_init(&sbuf);
/* serialize values into the buffer using msgpack_sbuffer_write callback function. */
msgpack_packer pk;
msgpack_packer_init(&pk, &sbuf, msgpack_sbuffer_write);
msgpack_pack_array(&pk, 3);
msgpack_pack_int(&pk, 1);
msgpack_pack_true(&pk);
msgpack_pack_str(&pk, 7);
msgpack_pack_str_body(&pk, "example", 7);
/* deserialize the buffer into msgpack_object instance. */
/* deserialized object is valid during the msgpack_zone instance alive. */
msgpack_zone mempool;
msgpack_zone_init(&mempool, 2048);
msgpack_object deserialized;
msgpack_unpack(sbuf.data, sbuf.size, NULL, &mempool, &deserialized);
/* print the deserialized object. */
msgpack_object_print(stdout, deserialized);
puts("");
msgpack_zone_destroy(&mempool);
msgpack_sbuffer_destroy(&sbuf);
return 0;
}
```
See [`QUICKSTART-C.md`](./QUICKSTART-C.md) for more details.
In C++:
```c++ ```c++
#include <msgpack.hpp> #include <msgpack.hpp>
#include <string> #include <string>
@@ -118,9 +73,6 @@ msgpack-c/include to your include path:
g++ -I msgpack-c/include your_source_file.cpp g++ -I msgpack-c/include your_source_file.cpp
If you want to use C version of msgpack, you need to build it. You can
also install the C and C++ versions of msgpack.
### Building and Installing ### Building and Installing
#### Install from git repository #### Install from git repository
@@ -130,12 +82,13 @@ also install the C and C++ versions of msgpack.
You will need: You will need:
- `gcc >= 4.1.0` - `gcc >= 4.1.0`
- `cmake >= 2.8.0` - `cmake >= 3.0.0`
C and C++03: C++03:
$ git clone https://github.com/msgpack/msgpack-c.git $ git clone https://github.com/msgpack/msgpack-c.git
$ cd msgpack-c $ cd msgpack-c
$ git checkout cpp_master
$ cmake . $ cmake .
$ make $ make
$ sudo make install $ sudo make install
@@ -145,13 +98,12 @@ execute the following commands:
$ git clone https://github.com/msgpack/msgpack-c.git $ git clone https://github.com/msgpack/msgpack-c.git
$ cd msgpack-c $ cd msgpack-c
$ git checkout cpp_master
$ cmake -DMSGPACK_CXX[11|17]=ON . $ cmake -DMSGPACK_CXX[11|17]=ON .
$ sudo make install $ sudo make install
`MSGPACK_CXX[11|17]` flags are not affected to installing files. Just switching test cases. All files are installed in every settings. `MSGPACK_CXX[11|17]` flags are not affected to installing files. Just switching test cases. All files are installed in every settings.
When you use the C part of `msgpack-c`, you need to build and link the library. By default, both static/shared libraries are built. If you want to build only static library, set `BUILD_SHARED_LIBS=OFF` to cmake. If you want to build only shared library, set `BUILD_SHARED_LIBS=ON`.
#### GUI on Windows #### GUI on Windows
Clone msgpack-c git repository. Clone msgpack-c git repository.
@@ -162,20 +114,22 @@ or using GUI git client.
e.g.) tortoise git https://code.google.com/p/tortoisegit/ e.g.) tortoise git https://code.google.com/p/tortoisegit/
1. Launch [cmake GUI client](http://www.cmake.org/cmake/resources/software.html). 1. Checkout to cpp_master branch
2. Set 'Where is the source code:' text box and 'Where to build 2. Launch [cmake GUI client](http://www.cmake.org/cmake/resources/software.html).
3. Set 'Where is the source code:' text box and 'Where to build
the binaries:' text box. the binaries:' text box.
3. Click 'Configure' button. 4. Click 'Configure' button.
4. Choose your Visual Studio version. 5. Choose your Visual Studio version.
5. Click 'Generate' button. 6. Click 'Generate' button.
6. Open the created msgpack.sln on Visual Studio. 7. Open the created msgpack.sln on Visual Studio.
7. Build all. 8. Build all.
### Documentation ### Documentation

View File

@@ -2,7 +2,7 @@ version: 3.3.0.{build}
branches: branches:
only: only:
- master - cpp_master
image: image:
- Visual Studio 2015 - Visual Studio 2015
@@ -11,25 +11,14 @@ environment:
BOOST_ROOT: C:\Libraries\boost_1_67_0 BOOST_ROOT: C:\Libraries\boost_1_67_0
matrix: matrix:
- cpp11: -DMSGPACK_CXX11=OFF - cpp11: -DMSGPACK_CXX11=OFF
boost: -DMSGPACK_BOOST=OFF
msvc: '"Visual Studio 10 2010"' msvc: '"Visual Studio 10 2010"'
- cpp11: -DMSGPACK_CXX11=OFF - cpp11: -DMSGPACK_CXX11=OFF
boost: -DMSGPACK_BOOST=OFF
msvc: '"Visual Studio 11 2012"' msvc: '"Visual Studio 11 2012"'
- cpp11: -DMSGPACK_CXX11=OFF - cpp11: -DMSGPACK_CXX11=OFF
boost: -DMSGPACK_BOOST=OFF
msvc: '"Visual Studio 12 2013"' msvc: '"Visual Studio 12 2013"'
- cpp11: -DMSGPACK_CXX11=ON - cpp11: -DMSGPACK_CXX11=ON
boost: -DMSGPACK_BOOST=ON
msvc: '"Visual Studio 14 2015"' msvc: '"Visual Studio 14 2015"'
- cpp11: -DMSGPACK_CXX11=OFF - cpp11: -DMSGPACK_CXX11=OFF
boost: -DMSGPACK_BOOST=ON
msvc: '"Visual Studio 14 2015"'
- cpp11: -DMSGPACK_CXX11=ON
boost: -DMSGPACK_BOOST=OFF
msvc: '"Visual Studio 14 2015"'
- cpp11: -DMSGPACK_CXX11=OFF
boost: -DMSGPACK_BOOST=OFF
msvc: '"Visual Studio 14 2015"' msvc: '"Visual Studio 14 2015"'
build_script: build_script:
- appveyor DownloadFile https://github.com/google/googletest/archive/release-1.7.0.zip -FileName googletest-release-1.7.0.zip - appveyor DownloadFile https://github.com/google/googletest/archive/release-1.7.0.zip -FileName googletest-release-1.7.0.zip
@@ -54,7 +43,7 @@ build_script:
- cd .. - cd ..
- md build - md build
- cd build - cd build
- cmake -G %msvc% %cpp11% %boost% %x3_parse% -DGTEST_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest.lib -DGTEST_MAIN_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest_main.lib -DGTEST_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\include -DZLIB_LIBRARY=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' .. - cmake -G %msvc% %cpp11% %x3_parse% -DGTEST_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest.lib -DGTEST_MAIN_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest_main.lib -DGTEST_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\include -DZLIB_LIBRARY=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' ..
- cmake --build . --config Release -v - cmake --build . --config Release -v
test_script: test_script:

View File

@@ -25,7 +25,7 @@ else
export ARCH_FLAG="-m64" export ARCH_FLAG="-m64"
fi fi
cmake -DMSGPACK_CXX11=${CXX11} -DMSGPACK_CXX17=${CXX17} -DMSGPACK_32BIT=${BIT32} -DMSGPACK_BOOST=${BOOST} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DMSGPACK_DEFAULT_API_VERSION=${API_VERSION} -DMSGPACK_USE_X3_PARSE=${X3_PARSE} -DCMAKE_CXX_FLAGS=${ARCH_FLAG} .. cmake -DMSGPACK_CXX11=${CXX11} -DMSGPACK_CXX17=${CXX17} -DMSGPACK_32BIT=${BIT32} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DMSGPACK_DEFAULT_API_VERSION=${API_VERSION} -DMSGPACK_USE_X3_PARSE=${X3_PARSE} -DCMAKE_CXX_FLAGS=${ARCH_FLAG} ..
ret=$? ret=$?
if [ $ret -ne 0 ] if [ $ret -ne 0 ]
@@ -92,7 +92,7 @@ then
exit $ret exit $ret
fi fi
cmake -DCMAKE_PREFIX_PATH=`pwd`/../install/usr/local/lib/cmake ../../example/cmake ${CXX} ../../example/cpp03/simple.cpp -o simple -I `pwd`/../install/usr/local/include -I ${GTEST_ROOT}/include -L ${GTEST_ROOT}/lib -lgtest_main -lgtest
ret=$? ret=$?
if [ $ret -ne 0 ] if [ $ret -ne 0 ]
@@ -100,7 +100,7 @@ then
exit $ret exit $ret
fi fi
make ./simple
ret=$? ret=$?
if [ $ret -ne 0 ] if [ $ret -ne 0 ]

View File

@@ -22,7 +22,7 @@ then
exit 1 exit 1
fi fi
cmake -DMSGPACK_FUZZ_REGRESSION="ON" -DMSGPACK_CXX11="ON" -DMSGPACK_BOOST=${BOOST} -DMSGPACK_SAN=${MSGPACK_SAN} -v .. cmake -DMSGPACK_FUZZ_REGRESSION="ON" -DMSGPACK_CXX11="ON" -DMSGPACK_SAN=${MSGPACK_SAN} -v ..
ret=$? ret=$?
if [ $ret -ne 0 ] if [ $ret -ne 0 ]

View File

@@ -7,10 +7,10 @@ IF(NOT GCOV_PATH)
MESSAGE(FATAL_ERROR "gcov not found! Aborting...") MESSAGE(FATAL_ERROR "gcov not found! Aborting...")
ENDIF() ENDIF()
IF(NOT CMAKE_COMPILER_IS_GNUCC) IF(NOT CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_COMPILER_IS_GNUCXX)
# Clang version 3.0.0 and greater now supports gcov as well. # Clang version 3.0.0 and greater now supports gcov as well.
MESSAGE(STATUS "Compiler is not GNU gcc! Clang Version 3.0.0 and greater supports gcov as well, but older versions don't.") MESSAGE(STATUS "Compiler is not GNU gcc! Clang Version 3.0.0 and greater supports gcov as well, but older versions don't.")
IF(NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" AND NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang") IF(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "Clang" AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...") MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...")
ENDIF() ENDIF()
ENDIF() ENDIF()

View File

@@ -1,9 +1,4 @@
IF (NOT MSGPACK_CXX_ONLY) ADD_SUBDIRECTORY (cpp03)
ADD_SUBDIRECTORY (c) ADD_SUBDIRECTORY (cpp11)
ENDIF () ADD_SUBDIRECTORY (boost)
IF (MSGPACK_ENABLE_CXX) ADD_SUBDIRECTORY (x3)
ADD_SUBDIRECTORY (cpp03)
ADD_SUBDIRECTORY (cpp11)
ADD_SUBDIRECTORY (boost)
ADD_SUBDIRECTORY (x3)
ENDIF ()

View File

@@ -1,21 +1,19 @@
IF (MSGPACK_BOOST) LIST (APPEND exec_PROGRAMS
msgpack_variant_capitalize.cpp
msgpack_variant_mapbased.cpp
)
IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
FIND_PACKAGE (Threads REQUIRED)
LIST (APPEND exec_PROGRAMS LIST (APPEND exec_PROGRAMS
msgpack_variant_capitalize.cpp asio_send_recv.cpp
msgpack_variant_mapbased.cpp
) )
IF (MSGPACK_CXX11 OR MSGPACK_CXX17) IF (ZLIB_FOUND)
FIND_PACKAGE (Threads REQUIRED) INCLUDE_DIRECTORIES (
LIST (APPEND exec_PROGRAMS ${ZLIB_INCLUDE_DIRS}
asio_send_recv.cpp )
LIST (APPEND exec_PROGRAMS
asio_send_recv_zlib.cpp
) )
IF (ZLIB_FOUND)
INCLUDE_DIRECTORIES (
${ZLIB_INCLUDE_DIRS}
)
LIST (APPEND exec_PROGRAMS
asio_send_recv_zlib.cpp
)
ENDIF ()
ENDIF () ENDIF ()
ENDIF () ENDIF ()
@@ -27,7 +25,7 @@ FOREACH (source_file ${exec_PROGRAMS})
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
${Boost_SYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY}
@@ -38,11 +36,11 @@ FOREACH (source_file ${exec_PROGRAMS})
${ZLIB_LIBRARIES} ${ZLIB_LIBRARIES}
) )
ENDIF() ENDIF()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()

View File

@@ -22,12 +22,10 @@ IF (NOT MSVC)
) )
ENDIF () ENDIF ()
IF (MSGPACK_BOOST) LIST (APPEND with_boost_lib_PROGRAMS
LIST (APPEND with_boost_lib_PROGRAMS speed_test.cpp
speed_test.cpp speed_test_nested_array.cpp
speed_test_nested_array.cpp )
)
ENDIF ()
FOREACH (source_file ${exec_PROGRAMS}) FOREACH (source_file ${exec_PROGRAMS})
GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
@@ -37,9 +35,9 @@ FOREACH (source_file ${exec_PROGRAMS})
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
@@ -59,12 +57,12 @@ FOREACH (source_file ${with_pthread_PROGRAMS})
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
) )
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
@@ -88,7 +86,7 @@ FOREACH (source_file ${with_boost_lib_PROGRAMS})
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
@@ -102,11 +100,11 @@ FOREACH (source_file ${with_boost_lib_PROGRAMS})
) )
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -O3") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -O3")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()

View File

@@ -22,13 +22,13 @@ IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()

View File

@@ -7,11 +7,9 @@ IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
unpack.cpp unpack.cpp
parse.cpp parse.cpp
) )
IF (MSGPACK_BOOST) LIST (APPEND with_boost_PROGRAMS
LIST (APPEND with_boost_PROGRAMS stream_unpack.cpp
stream_unpack.cpp )
)
ENDIF ()
FOREACH (source_file ${exec_PROGRAMS}) FOREACH (source_file ${exec_PROGRAMS})
GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
ADD_EXECUTABLE ( ADD_EXECUTABLE (
@@ -20,13 +18,13 @@ IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()
@@ -46,18 +44,18 @@ IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
) )
TARGET_INCLUDE_DIRECTORIES (${source_file_we} TARGET_INCLUDE_DIRECTORIES (${source_file_we}
PRIVATE PRIVATE
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
) )
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
${Boost_CONTEXT_LIBRARY} ${Boost_CONTEXT_LIBRARY}
${Boost_SYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
) )
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()

View File

@@ -23,14 +23,14 @@ FOREACH (source_file ${check_PROGRAMS})
${source_file} ${source_file}
) )
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
msgpackc msgpackcxx
${GTEST_BOTH_LIBRARIES} ${GTEST_BOTH_LIBRARIES}
${ZLIB_LIBRARIES} ${ZLIB_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
${Boost_LIBRARIES} ${Boost_LIBRARIES}
) )
ADD_TEST (${source_file_we} ${source_file_we}) ADD_TEST (${source_file_we} ${source_file_we})
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -g") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Wno-mismatched-tags -g")
IF ("${MSGPACK_SAN}" STREQUAL "ASAN") IF ("${MSGPACK_SAN}" STREQUAL "ASAN")
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address") SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address")

View File

@@ -14,11 +14,11 @@
// http://www.boost.org/libs/preprocessor/doc/ref/variadics.html // http://www.boost.org/libs/preprocessor/doc/ref/variadics.html
// However, supporting compiler detection is not complete. msgpack-c requires // However, supporting compiler detection is not complete. msgpack-c requires
// variadic macro arguments support. So BOOST_PP_VARIADICS is defined here explicitly. // variadic macro arguments support. So BOOST_PP_VARIADICS is defined here explicitly.
#if !defined(MSGPACK_PP_VARIADICS) #if !defined(BOOST_PP_VARIADICS)
#define MSGPACK_PP_VARIADICS #define BOOST_PP_VARIADICS
#endif #endif
#include <msgpack/preprocessor.hpp> #include <boost/preprocessor.hpp>
#include "msgpack/versioning.hpp" #include "msgpack/versioning.hpp"
@@ -45,18 +45,18 @@
#define MSGPACK_NVP(name, value) (name) (value) #define MSGPACK_NVP(name, value) (name) (value)
#define MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem) \ #define MSGPACK_DEFINE_MAP_EACH_PROC(r, data, elem) \
MSGPACK_PP_IF( \ BOOST_PP_IF( \
MSGPACK_PP_IS_BEGIN_PARENS(elem), \ BOOST_PP_IS_BEGIN_PARENS(elem), \
elem, \ elem, \
(MSGPACK_PP_STRINGIZE(elem))(elem) \ (BOOST_PP_STRINGIZE(elem))(elem) \
) )
#define MSGPACK_DEFINE_MAP_IMPL(...) \ #define MSGPACK_DEFINE_MAP_IMPL(...) \
MSGPACK_PP_SEQ_TO_TUPLE( \ BOOST_PP_SEQ_TO_TUPLE( \
MSGPACK_PP_SEQ_FOR_EACH( \ BOOST_PP_SEQ_FOR_EACH( \
MSGPACK_DEFINE_MAP_EACH_PROC, \ MSGPACK_DEFINE_MAP_EACH_PROC, \
0, \ 0, \
MSGPACK_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \ BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) \
) \ ) \
) )
@@ -83,7 +83,7 @@
} }
#define MSGPACK_BASE_MAP(base) \ #define MSGPACK_BASE_MAP(base) \
(MSGPACK_PP_STRINGIZE(base))(*const_cast<base *>(static_cast<base const*>(this))) (BOOST_PP_STRINGIZE(base))(*const_cast<base *>(static_cast<base const*>(this)))
// MSGPACK_ADD_ENUM must be used in the global namespace. // MSGPACK_ADD_ENUM must be used in the global namespace.
#define MSGPACK_ADD_ENUM(enum_name) \ #define MSGPACK_ADD_ENUM(enum_name) \

View File

@@ -13,7 +13,6 @@
#if defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41) #if defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41)
#include "msgpack/gcc_atomic.h"
#include <bits/atomicity.h> #include <bits/atomicity.h>
int _msgpack_sync_decr_and_fetch(volatile _msgpack_atomic_counter_t* ptr) int _msgpack_sync_decr_and_fetch(volatile _msgpack_atomic_counter_t* ptr)

View File

@@ -7,8 +7,8 @@
* (See accompanying file LICENSE_1_0.txt or copy at * (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt) * http://www.boost.org/LICENSE_1_0.txt)
*/ */
#ifndef MSGPACK_SYSDEP_H #ifndef MSGPACK_SYSDEP_HPP
#define MSGPACK_SYSDEP_H #define MSGPACK_SYSDEP_HPP
#include <stdlib.h> #include <stdlib.h>
#include <stddef.h> #include <stddef.h>
@@ -60,11 +60,7 @@
#endif #endif
#elif defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41) #elif defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41)
# if defined(__cplusplus) # define _msgpack_atomic_counter_header "msgpack/gcc_atomic.hpp"
# define _msgpack_atomic_counter_header "msgpack/gcc_atomic.hpp"
# else
# define _msgpack_atomic_counter_header "msgpack/gcc_atomic.h"
# endif
#else #else
typedef unsigned int _msgpack_atomic_counter_t; typedef unsigned int _msgpack_atomic_counter_t;
@@ -74,14 +70,12 @@
#ifdef _WIN32 #ifdef _WIN32
# ifdef __cplusplus
/* numeric_limits<T>::min,max */ /* numeric_limits<T>::min,max */
# ifdef max # ifdef max
# undef max # undef max
# endif # endif
# ifdef min # ifdef min
# undef min # undef min
# endif
# endif # endif
#elif defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__) #elif defined(unix) || defined(__unix) || defined(__APPLE__) || defined(__OpenBSD__)
@@ -94,7 +88,9 @@
#endif #endif
#if !defined(MSGPACK_ENDIAN_LITTLE_BYTE) && !defined(MSGPACK_ENDIAN_BIG_BYTE) #if !defined(MSGPACK_ENDIAN_LITTLE_BYTE) && !defined(MSGPACK_ENDIAN_BIG_BYTE)
#include <msgpack/predef/other/endian.h> #include <boost/predef/other/endian.h>
#define MSGPACK_ENDIAN_LITTLE_BYTE BOOST_ENDIAN_LITTLE_BYTE
#define MSGPACK_ENDIAN_BIG_BYTE BOOST_ENDIAN_BIG_BYTE
#endif // !defined(MSGPACK_ENDIAN_LITTLE_BYTE) && !defined(MSGPACK_ENDIAN_BIG_BYTE) #endif // !defined(MSGPACK_ENDIAN_LITTLE_BYTE) && !defined(MSGPACK_ENDIAN_BIG_BYTE)
#if MSGPACK_ENDIAN_LITTLE_BYTE #if MSGPACK_ENDIAN_LITTLE_BYTE
@@ -188,27 +184,8 @@
*/ */
#if !defined(__cplusplus) && defined(_MSC_VER)
# if !defined(_KERNEL_MODE)
# if !defined(FALSE)
# define FALSE (0)
# endif
# if !defined(TRUE)
# define TRUE (!FALSE)
# endif
# endif
# if _MSC_VER >= 1800
# include <stdbool.h>
# else
# define bool int
# define true TRUE
# define false FALSE
# endif
# define inline __inline
#endif
#ifdef __APPLE__ #ifdef __APPLE__
# include <TargetConditionals.h> # include <TargetConditionals.h>
#endif #endif
#endif /* msgpack/sysdep.h */ #endif /* msgpack/sysdep.hpp */

View File

@@ -59,12 +59,8 @@
#endif // defined(MSGPACK_USE_CPP03) #endif // defined(MSGPACK_USE_CPP03)
#if defined(MSGPACK_USE_BOOST)
#include "adaptor/boost/fusion.hpp" #include "adaptor/boost/fusion.hpp"
#include "adaptor/boost/msgpack_variant.hpp" #include "adaptor/boost/msgpack_variant.hpp"
#include "adaptor/boost/optional.hpp" #include "adaptor/boost/optional.hpp"
#include "adaptor/boost/string_ref.hpp" #include "adaptor/boost/string_ref.hpp"
#include "adaptor/boost/string_view.hpp" #include "adaptor/boost/string_view.hpp"
#endif // defined(MSGPACK_USE_BOOST)

View File

@@ -7,20 +7,15 @@
* (See accompanying file LICENSE_1_0.txt or copy at * (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt) * http://www.boost.org/LICENSE_1_0.txt)
*/ */
#ifndef MSGPACK_UNPACK_DEFINE_H #ifndef MSGPACK_UNPACK_DEFINE_HPP
#define MSGPACK_UNPACK_DEFINE_H #define MSGPACK_UNPACK_DEFINE_HPP
#include "msgpack/sysdep.h" #include "msgpack/sysdep.hpp"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include <stdio.h> #include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifndef MSGPACK_EMBED_STACK_SIZE #ifndef MSGPACK_EMBED_STACK_SIZE
#define MSGPACK_EMBED_STACK_SIZE 32 #define MSGPACK_EMBED_STACK_SIZE 32
#endif #endif
@@ -81,9 +76,5 @@ typedef enum {
} msgpack_container_type; } msgpack_container_type;
#ifdef __cplusplus #endif /* msgpack/unpack_define.hpp */
}
#endif
#endif /* msgpack/unpack_define.h */

View File

@@ -10,8 +10,6 @@
#ifndef MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP #ifndef MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP
#define MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP #define MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP
#if defined(MSGPACK_USE_BOOST)
#include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp" #include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp"
#include "msgpack/adaptor/check_container_size.hpp" #include "msgpack/adaptor/check_container_size.hpp"
@@ -439,5 +437,4 @@ struct object_with_zone<type::basic_variant<STR, BIN, EXT> > {
} // namespace msgpack } // namespace msgpack
#endif // MSGPACK_USE_BOOST
#endif // MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP #endif // MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_HPP

View File

@@ -10,8 +10,6 @@
#ifndef MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #ifndef MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
#define MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #define MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
#if defined(MSGPACK_USE_BOOST)
#include "msgpack/versioning.hpp" #include "msgpack/versioning.hpp"
#include "msgpack/adaptor/adaptor_base.hpp" #include "msgpack/adaptor/adaptor_base.hpp"
#include "msgpack/adaptor/check_container_size.hpp" #include "msgpack/adaptor/check_container_size.hpp"
@@ -58,5 +56,4 @@ typedef basic_variant<
} // namespace msgpack } // namespace msgpack
#endif // MSGPACK_USE_BOOST
#endif // MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #endif // MSGPACK_V1_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP

View File

@@ -12,7 +12,7 @@
#include "msgpack/versioning.hpp" #include "msgpack/versioning.hpp"
#include <cstdlib> #include <cstdlib>
#include "msgpack/sysdep.h" #include "msgpack/sysdep.hpp"
namespace msgpack { namespace msgpack {

View File

@@ -1168,27 +1168,6 @@ inline object::object(const T& v, msgpack::zone* z)
} }
inline object::object(const msgpack_object& o)
{
// FIXME beter way?
std::memcpy(this, &o, sizeof(o));
}
inline void operator<< (msgpack::object& o, const msgpack_object& v)
{
// FIXME beter way?
std::memcpy(static_cast<void*>(&o), &v, sizeof(v));
}
inline object::operator msgpack_object() const
{
// FIXME beter way?
msgpack_object obj;
std::memcpy(&obj, this, sizeof(obj));
return obj;
}
// obsolete // obsolete
template <typename T> template <typename T>
inline void convert(T& v, msgpack::object const& o) inline void convert(T& v, msgpack::object const& o)

View File

@@ -81,8 +81,6 @@ bool operator!=(const msgpack::object& x, const T& y);
template <typename T> template <typename T>
bool operator!=(const T& y, const msgpack::object& x); bool operator!=(const T& y, const msgpack::object& x);
void operator<< (msgpack::object& o, const msgpack_object& v);
class object_parser; class object_parser;
template <typename Stream> template <typename Stream>

View File

@@ -179,9 +179,6 @@ struct object {
/// Default constructor. The object is set to nil. /// Default constructor. The object is set to nil.
object(); object();
/// Copy constructor. Object is shallow copied.
object(const msgpack_object& o);
/// Construct object from T /// Construct object from T
/** /**
* If `v` is the type that is corresponding to MessegePack format str, bin, ext, array, or map, * If `v` is the type that is corresponding to MessegePack format str, bin, ext, array, or map,
@@ -222,8 +219,6 @@ struct object {
template <typename T> template <typename T>
object& operator=(const T& v); object& operator=(const T& v);
operator msgpack_object() const;
struct with_zone; struct with_zone;
protected: protected:

View File

@@ -13,8 +13,7 @@
#include "msgpack/versioning.hpp" #include "msgpack/versioning.hpp"
#include "msgpack/zone.hpp" #include "msgpack/zone.hpp"
#include "msgpack/object.h" #include <stdint.h>
#include <typeinfo> #include <typeinfo>
namespace msgpack { namespace msgpack {
@@ -26,21 +25,21 @@ MSGPACK_API_VERSION_NAMESPACE(v1) {
namespace type { namespace type {
enum object_type { enum object_type {
NIL = MSGPACK_OBJECT_NIL, NIL = 0x00,
BOOLEAN = MSGPACK_OBJECT_BOOLEAN, BOOLEAN = 0x01,
POSITIVE_INTEGER = MSGPACK_OBJECT_POSITIVE_INTEGER, POSITIVE_INTEGER = 0x02,
NEGATIVE_INTEGER = MSGPACK_OBJECT_NEGATIVE_INTEGER, NEGATIVE_INTEGER = 0x03,
FLOAT32 = MSGPACK_OBJECT_FLOAT32, FLOAT32 = 0x0a,
FLOAT64 = MSGPACK_OBJECT_FLOAT64, FLOAT64 = 0x04,
FLOAT = MSGPACK_OBJECT_FLOAT, FLOAT = 0x04,
#if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT) #if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT)
DOUBLE = MSGPACK_DEPRECATED("please use FLOAT64 instead") MSGPACK_OBJECT_DOUBLE, // obsolete DOUBLE = MSGPACK_DEPRECATED("please use FLOAT64 instead") FLOAT, // obsolete
#endif // MSGPACK_USE_LEGACY_NAME_AS_FLOAT #endif // MSGPACK_USE_LEGACY_NAME_AS_FLOAT
STR = MSGPACK_OBJECT_STR, STR = 0x05,
BIN = MSGPACK_OBJECT_BIN, BIN = 0x06,
ARRAY = MSGPACK_OBJECT_ARRAY, ARRAY = 0x07,
MAP = MSGPACK_OBJECT_MAP, MAP = 0x08,
EXT = MSGPACK_OBJECT_EXT EXT = 0x09
}; };
} }

View File

@@ -12,7 +12,7 @@
#include "msgpack/versioning.hpp" #include "msgpack/versioning.hpp"
#include "msgpack/cpp_config.hpp" #include "msgpack/cpp_config.hpp"
#include "msgpack/sysdep.h" #include "msgpack/sysdep.hpp"
namespace msgpack { namespace msgpack {

View File

@@ -15,9 +15,9 @@
#include "msgpack/object.hpp" #include "msgpack/object.hpp"
#include "msgpack/zone.hpp" #include "msgpack/zone.hpp"
#include "msgpack/unpack_exception.hpp" #include "msgpack/unpack_exception.hpp"
#include "msgpack/unpack_define.h" #include "msgpack/unpack_define.hpp"
#include "msgpack/cpp_config.hpp" #include "msgpack/cpp_config.hpp"
#include "msgpack/sysdep.h" #include "msgpack/sysdep.hpp"
#include <memory> #include <memory>

View File

@@ -11,11 +11,11 @@
#define MSGPACK_V1_UNPACK_DECL_HPP #define MSGPACK_V1_UNPACK_DECL_HPP
#include "msgpack/versioning.hpp" #include "msgpack/versioning.hpp"
#include "msgpack/unpack_define.h" #include "msgpack/unpack_define.hpp"
#include "msgpack/object.hpp" #include "msgpack/object.hpp"
#include "msgpack/zone.hpp" #include "msgpack/zone.hpp"
#include "msgpack/cpp_config.hpp" #include "msgpack/cpp_config.hpp"
#include "msgpack/sysdep.h" #include "msgpack/sysdep.hpp"
#include "msgpack/parse_return.hpp" #include "msgpack/parse_return.hpp"
#include <memory> #include <memory>

View File

@@ -10,7 +10,7 @@
#ifndef MSGPACK_VERSION_HPP #ifndef MSGPACK_VERSION_HPP
#define MSGPACK_VERSION_HPP #define MSGPACK_VERSION_HPP
#include "version_master.h" #include "version_master.hpp"
#define MSGPACK_STR(v) #v #define MSGPACK_STR(v) #v
#define MSGPACK_VERSION_I(maj, min, rev) MSGPACK_STR(maj) "." MSGPACK_STR(min) "." MSGPACK_STR(rev) #define MSGPACK_VERSION_I(maj, min, rev) MSGPACK_STR(maj) "." MSGPACK_STR(min) "." MSGPACK_STR(rev)

View File

@@ -10,8 +10,6 @@
#ifndef MSGPACK_V2_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #ifndef MSGPACK_V2_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
#define MSGPACK_V2_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #define MSGPACK_V2_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
#if defined(MSGPACK_USE_BOOST)
#include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp" #include "msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp"
namespace msgpack { namespace msgpack {
@@ -38,5 +36,4 @@ using v1::type::operator==;
} // namespace msgpack } // namespace msgpack
#endif // MSGPACK_USE_BOOST
#endif // MSGPACK_V2_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #endif // MSGPACK_V2_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP

View File

@@ -14,7 +14,7 @@
#include <cstddef> #include <cstddef>
#include "msgpack/unpack_define.h" #include "msgpack/unpack_define.hpp"
#include "msgpack/parse_return.hpp" #include "msgpack/parse_return.hpp"
#include "msgpack/unpack_exception.hpp" #include "msgpack/unpack_exception.hpp"
#include "msgpack/unpack_decl.hpp" #include "msgpack/unpack_decl.hpp"

View File

@@ -10,8 +10,6 @@
#ifndef MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #ifndef MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
#define MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #define MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP
#if defined(MSGPACK_USE_BOOST)
#include "msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp" #include "msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp"
namespace msgpack { namespace msgpack {
@@ -38,5 +36,4 @@ using v2::type::operator==;
} // namespace msgpack } // namespace msgpack
#endif // MSGPACK_USE_BOOST
#endif // MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP #endif // MSGPACK_V3_TYPE_BOOST_MSGPACK_VARIANT_DECL_HPP

View File

@@ -10,7 +10,7 @@
#ifndef MSGPACK_VERSION_HPP #ifndef MSGPACK_VERSION_HPP
#define MSGPACK_VERSION_HPP #define MSGPACK_VERSION_HPP
#include "version_master.h" #include "version_master.hpp"
#define MSGPACK_STR(v) #v #define MSGPACK_STR(v) #v
#define MSGPACK_VERSION_I(maj, min, rev) MSGPACK_STR(maj) "." MSGPACK_STR(min) "." MSGPACK_STR(rev) #define MSGPACK_VERSION_I(maj, min, rev) MSGPACK_STR(maj) "." MSGPACK_STR(min) "." MSGPACK_STR(rev)

View File

@@ -1,48 +1,9 @@
#!/bin/bash #!/bin/bash
c_headers=( find include -name "*.hpp" | sed -e 's/\s\+/\n/g' | LC_ALL=C sort > cpp_headers.tmp
include/msgpack.h
include/msgpack/gcc_atomic.h
include/msgpack/pack.h
include/msgpack/pack_define.h
include/msgpack/pack_template.h
include/msgpack/sbuffer.h
include/msgpack/timestamp.h
include/msgpack/unpack.h
include/msgpack/unpack_template.h
include/msgpack/util.h
include/msgpack/version.h
include/msgpack/vrefbuffer.h
)
rm -f c_headers.tmp echo 'SET (msgpackc_HEADERS' >> Files.cmake
for hdr in ${c_headers[@]}; do cat cpp_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
echo $hdr >> c_headers.tmp echo ')' >> Files.cmake
done
find src -name "*.c" | sed -e 's/\s\+/\n/g' | sort > srcs.tmp rm -f cpp_headers.tmp
find include -name "*.h" | grep -vFf c_headers.tmp | sed -e 's/\s\+/\n/g' | sort > c_cpp_headers.tmp
find include -name "*.hpp" | sed -e 's/\s\+/\n/g' | sort > cpp_headers.tmp
echo 'LIST (APPEND msgpackc_SOURCES' > Files.cmake
cat srcs.tmp | sed -e 's/^/ /g' >> Files.cmake
echo -e ')\n' >> Files.cmake
echo '# For both C and C++ libraries
LIST (APPEND msgpackc_HEADERS' >> Files.cmake
cat c_cpp_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
echo -e ')\n' >> Files.cmake
echo 'IF (NOT MSGPACK_CXX_ONLY)
# Only for C library
LIST (APPEND msgpackc_HEADERS' >> Files.cmake
cat c_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
echo -e ' )\nENDIF ()\n' >> Files.cmake
echo 'IF (MSGPACK_ENABLE_CXX)
# Only for C++ library
LIST (APPEND msgpackc_HEADERS' >> Files.cmake
cat cpp_headers.tmp | sed -e 's/^/ /g' >> Files.cmake
echo -e ' )\nENDIF ()' >> Files.cmake
rm -f srcs.tmp c_headers.tmp cpp_headers.tmp c_cpp_headers.tmp

View File

@@ -1,8 +1,8 @@
#!/bin/sh #!/bin/sh
ver=`cat include/msgpack/version_master.h | tr -d "\n" | sed -e 's/#define MSGPACK_VERSION_MAJOR[[:space:]]*\([[:alnum:]]*\)/\1./g' -e 's/#define MSGPACK_VERSION_MINOR[[:space:]]*\([[:alnum:]]*\)/\1./g' -e 's/#define MSGPACK_VERSION_REVISION[[:space:]]*\([[:alnum:]]*\)/\1/g'` ver=`cat include/msgpack/version_master.hpp | tr -d "\n" | sed -e 's/#define MSGPACK_VERSION_MAJOR[[:space:]]*\([[:alnum:]]*\)/\1./g' -e 's/#define MSGPACK_VERSION_MINOR[[:space:]]*\([[:alnum:]]*\)/\1./g' -e 's/#define MSGPACK_VERSION_REVISION[[:space:]]*\([[:alnum:]]*\)/\1/g'`
prefix=msgpack-$ver prefix=msgpack-cxx-$ver
filename=$prefix.tar filename=$prefix.tar
ln -s . $prefix ln -s . $prefix
@@ -18,14 +18,12 @@ tar cf $filename $prefix/example
tar --append --file=$filename $prefix/test tar --append --file=$filename $prefix/test
tar --append --file=$filename $prefix/include tar --append --file=$filename $prefix/include
tar --append --file=$filename $prefix/erb tar --append --file=$filename $prefix/erb
tar --append --file=$filename $prefix/src
tar --append --file=$filename $prefix/fuzz tar --append --file=$filename $prefix/fuzz
tar --append --file=$filename $prefix/CMakeLists.txt tar --append --file=$filename $prefix/CMakeLists.txt
tar --append --file=$filename $prefix/Files.cmake tar --append --file=$filename $prefix/Files.cmake
tar --append --file=$filename $prefix/NOTICE tar --append --file=$filename $prefix/NOTICE
tar --append --file=$filename $prefix/Doxyfile tar --append --file=$filename $prefix/Doxyfile
tar --append --file=$filename $prefix/msgpack.pc.in
tar --append --file=$filename $prefix/AUTHORS tar --append --file=$filename $prefix/AUTHORS
tar --append --file=$filename $prefix/README.md tar --append --file=$filename $prefix/README.md
tar --append --file=$filename $prefix/LICENSE_1_0.txt tar --append --file=$filename $prefix/LICENSE_1_0.txt
@@ -33,9 +31,6 @@ tar --append --file=$filename $prefix/ChangeLog
tar --append --file=$filename $prefix/NEWS tar --append --file=$filename $prefix/NEWS
tar --append --file=$filename $prefix/COPYING tar --append --file=$filename $prefix/COPYING
tar --append --file=$filename $prefix/README tar --append --file=$filename $prefix/README
tar --append --file=$filename $prefix/msgpack_vc8.sln
tar --append --file=$filename $prefix/msgpack_vc8.vcproj
tar --append --file=$filename $prefix/msgpack-config.cmake.in
rm -f $prefix rm -f $prefix

View File

@@ -7,85 +7,64 @@ INCLUDE_DIRECTORIES (
${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS}
) )
SET (tests_C LIST (APPEND check_PROGRAMS
buffer_c.cpp array_ref.cpp
fixint_c.cpp boost_fusion.cpp
msgpack_c.cpp boost_optional.cpp
pack_unpack_c.cpp boost_string_ref.cpp
streaming_c.cpp boost_string_view.cpp
boost_variant.cpp
buffer.cpp
carray.cpp
cases.cpp
convert.cpp
fixint.cpp
inc_adaptor_define.cpp
json.cpp
limit.cpp
msgpack_basic.cpp
msgpack_container.cpp
msgpack_stream.cpp
msgpack_tuple.cpp
msgpack_vref.cpp
object.cpp
object_with_zone.cpp
pack_unpack.cpp
raw.cpp
reference.cpp
size_equal_only.cpp
streaming.cpp
user_class.cpp
version.cpp
visitor.cpp
zone.cpp
) )
IF (NOT MSGPACK_CXX_ONLY) IF (MSGPACK_USE_X3_PARSE)
LIST (APPEND check_PROGRAMS LIST (APPEND check_PROGRAMS
${tests_C} msgpack_x3_parse.cpp
) )
ENDIF () ENDIF ()
IF (MSGPACK_ENABLE_CXX) IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
LIST (APPEND check_PROGRAMS LIST (APPEND check_PROGRAMS
array_ref.cpp iterator_cpp11.cpp
buffer.cpp msgpack_cpp11.cpp
carray.cpp reference_cpp11.cpp
cases.cpp reference_wrapper_cpp11.cpp
convert.cpp shared_ptr_cpp11.cpp
fixint.cpp unique_ptr_cpp11.cpp
inc_adaptor_define.cpp
json.cpp # fuzzers are cpp11 only
limit.cpp fuzz_unpack_pack_fuzzer_cpp11.cpp
msgpack_basic.cpp
msgpack_container.cpp
msgpack_stream.cpp
msgpack_tuple.cpp
msgpack_vref.cpp
object.cpp
object_with_zone.cpp
pack_unpack.cpp
raw.cpp
reference.cpp
size_equal_only.cpp
streaming.cpp
user_class.cpp
version.cpp
visitor.cpp
zone.cpp
) )
ENDIF ()
IF (MSGPACK_BOOST) IF (MSGPACK_CXX17)
LIST (APPEND check_PROGRAMS LIST (APPEND check_PROGRAMS
boost_fusion.cpp msgpack_cpp17.cpp
boost_variant.cpp )
boost_optional.cpp ENDIF ()
boost_string_ref.cpp
boost_string_view.cpp
)
ENDIF ()
IF (MSGPACK_USE_X3_PARSE)
LIST (APPEND check_PROGRAMS
msgpack_x3_parse.cpp
)
ENDIF ()
IF (MSGPACK_CXX11 OR MSGPACK_CXX17)
LIST (APPEND check_PROGRAMS
iterator_cpp11.cpp
msgpack_cpp11.cpp
reference_cpp11.cpp
reference_wrapper_cpp11.cpp
shared_ptr_cpp11.cpp
unique_ptr_cpp11.cpp
# fuzzers are cpp11 only
fuzz_unpack_pack_fuzzer_cpp11.cpp
)
ENDIF ()
IF (MSGPACK_CXX17)
LIST (APPEND check_PROGRAMS
msgpack_cpp17.cpp
)
ENDIF ()
ENDIF (MSGPACK_ENABLE_CXX)
FOREACH (source_file ${check_PROGRAMS}) FOREACH (source_file ${check_PROGRAMS})
GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE) GET_FILENAME_COMPONENT (source_file_we ${source_file} NAME_WE)
@@ -94,24 +73,17 @@ FOREACH (source_file ${check_PROGRAMS})
${source_file} ${source_file}
) )
LIST (FIND tests_C ${source_file} idx)
IF (idx GREATER -1)
SET (link_target msgpackc)
ELSE ()
SET (link_target msgpackc-cxx)
ENDIF ()
TARGET_LINK_LIBRARIES (${source_file_we} TARGET_LINK_LIBRARIES (${source_file_we}
${link_target} msgpackcxx
${GTEST_BOTH_LIBRARIES} ${GTEST_BOTH_LIBRARIES}
${ZLIB_LIBRARIES} ${ZLIB_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT} ${CMAKE_THREAD_LIBS_INIT}
) )
ADD_TEST (${source_file_we} ${source_file_we}) ADD_TEST (${source_file_we} ${source_file_we})
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -Wconversion") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wall -Wextra -Wconversion")
ENDIF () ENDIF ()
IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags")
ENDIF () ENDIF ()
@@ -124,14 +96,12 @@ FOREACH (source_file ${check_PROGRAMS})
ENDIF () ENDIF ()
ENDFOREACH () ENDFOREACH ()
IF (MSGPACK_ENABLE_CXX) ADD_EXECUTABLE (
ADD_EXECUTABLE ( multi_file
multi_file multi_file1.cpp multi_file2.cpp
multi_file1.cpp multi_file2.cpp )
) TARGET_INCLUDE_DIRECTORIES (multi_file
TARGET_INCLUDE_DIRECTORIES (multi_file PRIVATE
PRIVATE $<TARGET_PROPERTY:msgpackcxx,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:msgpackc-cxx,INTERFACE_INCLUDE_DIRECTORIES> )
) ADD_TEST (multi_file multi_file)
ADD_TEST (multi_file multi_file)
ENDIF ()

View File

@@ -18,8 +18,6 @@
#include "config.h" #include "config.h"
#endif #endif
#if defined(MSGPACK_USE_BOOST)
#include <boost/fusion/adapted/struct/define_struct.hpp> #include <boost/fusion/adapted/struct/define_struct.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp> #include <boost/fusion/adapted/struct/adapt_struct.hpp>
@@ -256,5 +254,3 @@ TEST(MSGPACK_BOOST, fusion_pack_unpack_convert_tuple)
} }
#endif // !defined(MSGPACK_USE_CPP03) #endif // !defined(MSGPACK_USE_CPP03)
#endif // defined(MSGPACK_USE_BOOST)

View File

@@ -18,8 +18,6 @@
#include "config.h" #include "config.h"
#endif #endif
#if defined(MSGPACK_USE_BOOST)
TEST(MSGPACK_BOOST, pack_convert_nil) TEST(MSGPACK_BOOST, pack_convert_nil)
{ {
std::stringstream ss; std::stringstream ss;
@@ -187,5 +185,3 @@ TEST(MSGPACK_BOOST, pack_convert_no_def_con)
} }
#endif // !defined(MSGPACK_USE_CPP03 #endif // !defined(MSGPACK_USE_CPP03
#endif // defined(MSGPACK_USE_BOOST)

View File

@@ -17,7 +17,6 @@
#include "config.h" #include "config.h"
#endif #endif
#if defined(MSGPACK_USE_BOOST)
#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 #if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53
TEST(MSGPACK_BOOST, pack_convert_string_ref) TEST(MSGPACK_BOOST, pack_convert_string_ref)
@@ -55,4 +54,3 @@ TEST(MSGPACK_BOOST, object_with_zone_string_ref)
} }
#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53 #endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 53
#endif // defined(MSGPACK_USE_BOOST)

View File

@@ -17,7 +17,6 @@
#include "config.h" #include "config.h"
#endif #endif
#if defined(MSGPACK_USE_BOOST)
#if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 61 #if (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 61
TEST(MSGPACK_BOOST, pack_convert_string_view) TEST(MSGPACK_BOOST, pack_convert_string_view)
@@ -55,4 +54,3 @@ TEST(MSGPACK_BOOST, object_with_zone_string_view)
} }
#endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 61 #endif // (BOOST_VERSION / 100000) >= 1 && ((BOOST_VERSION / 100) % 1000) >= 61
#endif // defined(MSGPACK_USE_BOOST)

View File

@@ -18,8 +18,6 @@
#include "config.h" #include "config.h"
#endif #endif
#if defined(MSGPACK_USE_BOOST)
const double kEPS = 1e-10; const double kEPS = 1e-10;
// nil // nil
@@ -831,6 +829,3 @@ TEST(MSGPACK_BOOST, object_with_zone_variant_ref_map)
EXPECT_NO_THROW(boost::get<multimap_t>(val2)); EXPECT_NO_THROW(boost::get<multimap_t>(val2));
EXPECT_TRUE(val1 == val2); EXPECT_TRUE(val1 == val2);
} }
#endif // defined(MSGPACK_USE_BOOST)

View File

@@ -9,9 +9,9 @@ major=`echo $1 | sed -e "s/^\([0-9]*\)\.[0-9]*\.[0-9]*/\1/"`
minor=`echo $1 | sed -e "s/^[0-9]*\.\([0-9]*\)\.[0-9]*/\1/"` minor=`echo $1 | sed -e "s/^[0-9]*\.\([0-9]*\)\.[0-9]*/\1/"`
revision=`echo $1 | sed -e "s/^[0-9]*\.[0-9]*\.\([0-9]*\)/\1/"` revision=`echo $1 | sed -e "s/^[0-9]*\.[0-9]*\.\([0-9]*\)/\1/"`
sed -i -e "s/^\(#define MSGPACK_VERSION_MAJOR[[:space:]]*\)[0-9]*/\1$major/" include/msgpack/version_master.h sed -i -e "s/^\(#define MSGPACK_VERSION_MAJOR[[:space:]]*\)[0-9]*/\1$major/" include/msgpack/version_master.hpp
sed -i -e "s/^\(#define MSGPACK_VERSION_MINOR[[:space:]]*\)[0-9]*/\1$minor/" include/msgpack/version_master.h sed -i -e "s/^\(#define MSGPACK_VERSION_MINOR[[:space:]]*\)[0-9]*/\1$minor/" include/msgpack/version_master.hpp
sed -i -e "s/^\(#define MSGPACK_VERSION_REVISION[[:space:]]*\)[0-9]*/\1$revision/" include/msgpack/version_master.h sed -i -e "s/^\(#define MSGPACK_VERSION_REVISION[[:space:]]*\)[0-9]*/\1$revision/" include/msgpack/version_master.hpp
sed -i -e "s/\(^Version \)[0-9]*\.[0-9]*\.[0-9]*/\1$1/" README.md sed -i -e "s/\(^Version \)[0-9]*\.[0-9]*\.[0-9]*/\1$1/" README.md
sed -i -e "s/\(^version: \)[0-9]*\.[0-9]*\.[0-9]*/\1$1/" appveyor.yml sed -i -e "s/\(^version: \)[0-9]*\.[0-9]*\.[0-9]*/\1$1/" appveyor.yml