mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-21 23:56:55 +02:00
Compare commits
27 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
eba6304a3a | ||
![]() |
ef0927a6f0 | ||
![]() |
bf2504e7bb | ||
![]() |
724d1aad39 | ||
![]() |
a5c8a2c845 | ||
![]() |
4e027b72de | ||
![]() |
c31fafbcd1 | ||
![]() |
68cc50a3de | ||
![]() |
9f37918bb5 | ||
![]() |
b8b54a2fef | ||
![]() |
f2c1991ede | ||
![]() |
5ab83b10b4 | ||
![]() |
9785991158 | ||
![]() |
68d085aa45 | ||
![]() |
d1af4a3cdb | ||
![]() |
5f287d1361 | ||
![]() |
76d768c5a4 | ||
![]() |
37744bd6a8 | ||
![]() |
8957d6ec07 | ||
![]() |
3a41b24ff2 | ||
![]() |
d03a9b91f3 | ||
![]() |
366f06d4ac | ||
![]() |
fe4312c427 | ||
![]() |
cd67366b7f | ||
![]() |
80f60009f5 | ||
![]() |
4fd5056ea5 | ||
![]() |
7fc51afd59 |
42
.github/workflows/gha.yml
vendored
42
.github/workflows/gha.yml
vendored
@@ -18,6 +18,9 @@ jobs:
|
|||||||
pattern: [0, 1, 2, 3]
|
pattern: [0, 1, 2, 3]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
- name: install gtest
|
||||||
|
run: |
|
||||||
|
brew install --force googletest
|
||||||
- name: build and test
|
- name: build and test
|
||||||
env:
|
env:
|
||||||
CC: clang
|
CC: clang
|
||||||
@@ -48,25 +51,11 @@ jobs:
|
|||||||
export CHAR_SIGN="unsigned"
|
export CHAR_SIGN="unsigned"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# install gtest
|
|
||||||
wget https://github.com/google/googletest/archive/release-1.7.0.zip -O googletest-release-1.7.0.zip
|
|
||||||
unzip -q googletest-release-1.7.0.zip
|
|
||||||
cd googletest-release-1.7.0
|
|
||||||
$CXX -m${ARCH} src/gtest-all.cc -I. -Iinclude -c
|
|
||||||
$CXX -m${ARCH} src/gtest_main.cc -I. -Iinclude -c
|
|
||||||
ar -rv libgtest.a gtest-all.o
|
|
||||||
ar -rv libgtest_main.a gtest_main.o
|
|
||||||
mkdir -p ${BASE}/usr/include
|
|
||||||
cp -r include/gtest ${BASE}/usr/include
|
|
||||||
mkdir -p ${BASE}/usr/lib
|
|
||||||
mv *.a ${BASE}/usr/lib
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# build and test
|
# build and test
|
||||||
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -fsanitize=undefined -fno-sanitize-recover=all" CXXFLAGS="-Werror -g -ggdb3 -fsanitize=undefined -fno-sanitize-recover=all" ${ACTION}
|
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" CFLAGS="-Werror -g -fsanitize=undefined -fno-sanitize-recover=all" CXXFLAGS="-Werror -g -ggdb3 -fsanitize=undefined -fno-sanitize-recover=all" ${ACTION}
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -76,7 +65,7 @@ jobs:
|
|||||||
- name: install build 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 valgrind
|
||||||
- name: build and test
|
- name: build and test
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
@@ -161,17 +150,12 @@ jobs:
|
|||||||
fi
|
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/v1.13.0.zip -O googletest-1.13.0.zip
|
||||||
unzip -q googletest-release-1.7.0.zip
|
unzip -q googletest-1.13.0.zip
|
||||||
cd googletest-release-1.7.0
|
cd googletest-1.13.0
|
||||||
$CXX -m${ARCH} src/gtest-all.cc -I. -Iinclude -c -fPIC
|
cmake -S . -DCMAKE_CXX_FLAGS="-m$ARCH" --install-prefix="$BASE/usr"
|
||||||
$CXX -m${ARCH} src/gtest_main.cc -I. -Iinclude -c -fPIC
|
cmake --build . --verbose
|
||||||
ar -rv libgtest.a gtest-all.o
|
cmake --install . --verbose
|
||||||
ar -rv libgtest_main.a gtest_main.o
|
|
||||||
mkdir -p ${BASE}/usr/include
|
|
||||||
cp -r include/gtest ${BASE}/usr/include
|
|
||||||
mkdir -p ${BASE}/usr/lib
|
|
||||||
mv *.a ${BASE}/usr/lib
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
@@ -180,7 +164,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# build and test
|
# build and test
|
||||||
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -fsanitize=undefined -fno-sanitize-recover=all" CXXFLAGS="-Werror -g -ggdb3 -fsanitize=undefined -fno-sanitize-recover=all" ${ACTION}
|
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -gdwarf-4 -fsanitize=undefined -fno-sanitize-recover=all" CXXFLAGS="-Werror -g -ggdb3 -gdwarf-4 -fsanitize=undefined -fno-sanitize-recover=all" ${ACTION}
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
|
10
CHANGELOG.md
10
CHANGELOG.md
@@ -1,3 +1,13 @@
|
|||||||
|
# 2024-06-24 version 6.0.2
|
||||||
|
* Fix header file installation to respect `CMAKE_INSTALL_INCLUDEDIR` (#1125)
|
||||||
|
* Support absolute path for `CMAKE_INSTALL_*DIR` (#1121)
|
||||||
|
* Removed invalid ctest option. (#1120)
|
||||||
|
* Support relative path for `CMAKE_INSTALL_*DIR{ (#1119)
|
||||||
|
|
||||||
|
# 2024-04-02 version 6.0.1
|
||||||
|
* Improve CI environment (#1061, #1091, #1109)
|
||||||
|
* Improve build system (#1060, #1069, #1108)
|
||||||
|
|
||||||
# 2023-03-02 version 6.0.0
|
# 2023-03-02 version 6.0.0
|
||||||
* Remove C++ requirement if test is disabled (#1055)
|
* Remove C++ requirement if test is disabled (#1055)
|
||||||
## << breaking changes >>
|
## << breaking changes >>
|
||||||
|
@@ -1,11 +1,14 @@
|
|||||||
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12)
|
if(${CMAKE_VERSION} VERSION_GREATER "3.4")
|
||||||
|
CMAKE_MINIMUM_REQUIRED (VERSION 3.5)
|
||||||
|
else()
|
||||||
|
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12)
|
||||||
|
IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR
|
||||||
|
(CMAKE_VERSION VERSION_EQUAL 3.1))
|
||||||
|
CMAKE_POLICY(SET CMP0054 NEW)
|
||||||
|
ENDIF ()
|
||||||
|
endif()
|
||||||
|
|
||||||
IF ((CMAKE_VERSION VERSION_GREATER 3.1) OR
|
OPTION (MSGPACK_BUILD_TESTS "Build msgpack tests." OFF)
|
||||||
(CMAKE_VERSION VERSION_EQUAL 3.1))
|
|
||||||
CMAKE_POLICY(SET CMP0054 NEW)
|
|
||||||
ENDIF ()
|
|
||||||
|
|
||||||
OPTION (MSGPACK_BUILD_TESTS "Build msgpack tests." ON)
|
|
||||||
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)
|
||||||
|
|
||||||
if(MSGPACK_BUILD_TESTS)
|
if(MSGPACK_BUILD_TESTS)
|
||||||
@@ -24,10 +27,19 @@ 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/")
|
||||||
|
include(GNUInstallDirs)
|
||||||
SET (prefix ${CMAKE_INSTALL_PREFIX})
|
SET (prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
SET (exec_prefix "\${prefix}")
|
SET (exec_prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
SET (libdir "\${exec_prefix}/lib")
|
IF (IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
|
||||||
SET (includedir "\${prefix}/include")
|
SET (libdir ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
ELSE ()
|
||||||
|
SET (libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
|
||||||
|
ENDIF ()
|
||||||
|
IF (IS_ABSOLUTE ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
SET (includedir ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
ELSE ()
|
||||||
|
SET (includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
ENDIF ()
|
||||||
|
|
||||||
OPTION (MSGPACK_32BIT "32bit compile" OFF)
|
OPTION (MSGPACK_32BIT "32bit compile" OFF)
|
||||||
|
|
||||||
@@ -38,7 +50,7 @@ IF (BIGENDIAN)
|
|||||||
SET(MSGPACK_ENDIAN_LITTLE_BYTE 0)
|
SET(MSGPACK_ENDIAN_LITTLE_BYTE 0)
|
||||||
ELSE ()
|
ELSE ()
|
||||||
SET(MSGPACK_ENDIAN_BIG_BYTE 0)
|
SET(MSGPACK_ENDIAN_BIG_BYTE 0)
|
||||||
SET(MSGPACK_ENDIAN_LITTLE_BYTE 1)
|
SET(MSGPACK_ENDIAN_LITTLE_BYTE 1)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
||||||
CONFIGURE_FILE (
|
CONFIGURE_FILE (
|
||||||
@@ -259,12 +271,14 @@ INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} EXPORT msgpack-c-targets
|
|||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
)
|
)
|
||||||
FOREACH (file ${msgpack-c_common_HEADERS})
|
FOREACH (file ${msgpack-c_common_HEADERS})
|
||||||
GET_FILENAME_COMPONENT (dir ${file} PATH)
|
GET_FILENAME_COMPONENT(dir ${file} DIRECTORY)
|
||||||
INSTALL (FILES ${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir})
|
STRING(REPLACE "include" "${CMAKE_INSTALL_INCLUDEDIR}" header_path ${dir})
|
||||||
|
INSTALL (FILES ${file} DESTINATION ${header_path})
|
||||||
ENDFOREACH ()
|
ENDFOREACH ()
|
||||||
FOREACH (file ${msgpack-c_configured_HEADERS})
|
FOREACH (file ${msgpack-c_configured_HEADERS})
|
||||||
GET_FILENAME_COMPONENT (dir ${file} PATH)
|
GET_FILENAME_COMPONENT(dir ${file} DIRECTORY)
|
||||||
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/${file} DESTINATION ${CMAKE_INSTALL_PREFIX}/${dir})
|
STRING(REPLACE "include" "${CMAKE_INSTALL_INCLUDEDIR}" header_path ${dir})
|
||||||
|
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/${file} DESTINATION ${header_path})
|
||||||
ENDFOREACH ()
|
ENDFOREACH ()
|
||||||
IF (NOT MSVC)
|
IF (NOT MSVC)
|
||||||
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack-c.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack-c.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
`msgpack` for C
|
`msgpack` for C
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Version 6.0.0 [](https://github.com/msgpack/msgpack-c/actions) [](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/c_master)
|
Version 6.0.2 [](https://github.com/msgpack/msgpack-c/actions) [](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/c_master)
|
||||||
[](https://codecov.io/gh/msgpack/msgpack-c/branch/c_master)
|
[](https://codecov.io/gh/msgpack/msgpack-c/branch/c_master)
|
||||||
|
|
||||||
It's like JSON but smaller and faster.
|
It's like JSON but smaller and faster.
|
||||||
|
14
appveyor.yml
14
appveyor.yml
@@ -1,4 +1,4 @@
|
|||||||
version: 6.0.0.{build}
|
version: 6.0.2.{build}
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
@@ -22,10 +22,10 @@ build_script:
|
|||||||
- cmake --build . --config Release
|
- cmake --build . --config Release
|
||||||
- cd ..
|
- cd ..
|
||||||
- cd ..
|
- cd ..
|
||||||
- appveyor DownloadFile http://zlib.net/zlib-1.2.13.tar.gz -FileName zlib-1.2.13.tar.gz
|
- appveyor DownloadFile http://zlib.net/zlib-1.3.1.tar.gz -FileName zlib-1.3.1.tar.gz
|
||||||
- 7z x zlib-1.2.13.tar.gz > NUL
|
- 7z x zlib-1.3.1.tar.gz > NUL
|
||||||
- 7z x zlib-1.2.13.tar > NUL
|
- 7z x zlib-1.3.1.tar > NUL
|
||||||
- cd zlib-1.2.13
|
- cd zlib-1.3.1
|
||||||
- md build
|
- md build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake -G %msvc% ..
|
- cmake -G %msvc% ..
|
||||||
@@ -35,9 +35,9 @@ build_script:
|
|||||||
- cd ..
|
- cd ..
|
||||||
- md build
|
- md build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake -G %msvc% -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.13\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.13 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' ..
|
- cmake -G %msvc% -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.3.1\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.3.1 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' ..
|
||||||
- cmake --build . --config Release -v
|
- cmake --build . --config Release -v
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.13\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release
|
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.3\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release
|
||||||
- ctest -V
|
- ctest -V
|
||||||
|
@@ -20,12 +20,13 @@ if [ "${ARCH}" == "32" ]
|
|||||||
then
|
then
|
||||||
export BIT32="ON"
|
export BIT32="ON"
|
||||||
export ARCH_FLAG="-m32"
|
export ARCH_FLAG="-m32"
|
||||||
|
ZLIB32="-DZLIB_LIBRARY=/usr/lib32/libz.a"
|
||||||
else
|
else
|
||||||
export BIT32="OFF"
|
export BIT32="OFF"
|
||||||
export ARCH_FLAG="-m64"
|
export ARCH_FLAG="-m64"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmake -DMSGPACK_32BIT=${BIT32} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DCMAKE_CXX_FLAGS="${ARCH_FLAG} ${CXXFLAGS} ${SAN}" -DCMAKE_C_FLAGS="${CFLAGS} ${SAN}" ..
|
cmake -DMSGPACK_BUILD_TESTS=ON -DMSGPACK_32BIT=${BIT32} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DCMAKE_CXX_FLAGS="${ARCH_FLAG} ${CXXFLAGS} ${SAN}" -DCMAKE_C_FLAGS="${CFLAGS} ${SAN}" ${ZLIB32} ..
|
||||||
|
|
||||||
ret=$?
|
ret=$?
|
||||||
if [ $ret -ne 0 ]
|
if [ $ret -ne 0 ]
|
||||||
@@ -33,7 +34,7 @@ then
|
|||||||
exit $ret
|
exit $ret
|
||||||
fi
|
fi
|
||||||
|
|
||||||
make
|
make VERBOSE=1
|
||||||
|
|
||||||
ret=$?
|
ret=$?
|
||||||
if [ $ret -ne 0 ]
|
if [ $ret -ne 0 ]
|
||||||
@@ -60,17 +61,8 @@ fi
|
|||||||
|
|
||||||
if [ "${ARCH}" != "32" ] && [ `uname` = "Linux" ]
|
if [ "${ARCH}" != "32" ] && [ `uname` = "Linux" ]
|
||||||
then
|
then
|
||||||
ctest -T memcheck | tee memcheck.log
|
if ! ctest -T memcheck; then
|
||||||
|
find Testing/Temporary -name "MemoryChecker.*.log" -exec cat {} +
|
||||||
ret=${PIPESTATUS[0]}
|
|
||||||
if [ $ret -ne 0 ]
|
|
||||||
then
|
|
||||||
exit $ret
|
|
||||||
fi
|
|
||||||
cat memcheck.log | grep "Memory Leak" > /dev/null
|
|
||||||
ret=$?
|
|
||||||
if [ $ret -eq 0 ]
|
|
||||||
then
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required (VERSION 3.0)
|
cmake_minimum_required (VERSION 3.5)
|
||||||
project (example)
|
project (example)
|
||||||
|
|
||||||
if(EXAMPLE_MSGPACK_EMBEDDED)
|
if(EXAMPLE_MSGPACK_EMBEDDED)
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
#define MSGPACK_VERSION_MAJOR 6
|
#define MSGPACK_VERSION_MAJOR 6
|
||||||
#define MSGPACK_VERSION_MINOR 0
|
#define MSGPACK_VERSION_MINOR 0
|
||||||
#define MSGPACK_VERSION_REVISION 0
|
#define MSGPACK_VERSION_REVISION 2
|
||||||
|
Reference in New Issue
Block a user