Codebase list libcereal / fresh-snapshots/upstream
Import upstream version 1.3.2+git20220327.2.ddd4672+dfsg Debian Janitor 1 year, 4 months ago
3 changed file(s) with 0 addition(s) and 336 deletion(s). Raw diff Collapse all Expand all
+0
-45
.github/workflows/ci-macos.yml less more
0 name: cereal mac ci
1 on: [push, pull_request]
2
3 jobs:
4 test_cereal_macos:
5 runs-on: macos-latest
6 strategy:
7 fail-fast: false
8 matrix:
9 include:
10 - CMAKE_OPTIONS: '-DWITH_WERROR=OFF -DSKIP_PORTABILITY_TEST=ON -DSKIP_PERFORMANCE_COMPARISON=ON'
11 COMPILER: 'clang++'
12 XCODE_VERSION: 11
13 NAME: macos-latest-clang-xcode11
14
15 - CMAKE_OPTIONS: '-DWITH_WERROR=OFF -DSKIP_PORTABILITY_TEST=ON -DSKIP_PERFORMANCE_COMPARISON=ON'
16 COMPILER: 'clang++'
17 XCODE_VERSION: 12
18 NAME: macos-latest-clang-xcode12
19 name: ${{ matrix.name }}
20
21 steps:
22 - name: Checkout code
23 uses: actions/checkout@v2
24
25 - uses: maxim-lobanov/setup-xcode@v1
26 with:
27 xcode-version: ${{ matrix.XCODE_VERSION }}
28
29 - name: build and test
30 shell: bash
31 env:
32 CMAKE_OPTIONS: ${{ matrix.CMAKE_OPTIONS }}
33 COMPILER: ${{ matrix.COMPILER }}
34 run: |
35 set -ex
36 # Set compiler and env variables
37 export CXX=${COMPILER}
38 ${CXX} --version
39
40 # Build cereal and test
41 cmake --version
42 mkdir build && cd build
43 cmake ${CMAKE_OPTIONS} .. && make -j4 VERBOSE=1
44 ctest . --output-on-failure
+0
-238
.github/workflows/ci.yml less more
0 name: cereal linux ci
1 on: [push, pull_request]
2
3 jobs:
4 test_cereal_linux:
5 runs-on: ubuntu-latest
6 container: ${{ matrix.CONTAINER }}
7 strategy:
8 fail-fast: false
9 matrix:
10 include:
11 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DSKIP_PERFORMANCE_COMPARISON=ON'
12 COMPILER: 'g++-4.7'
13 EXTRA_APT_PACKAGES: 'g++-4.7'
14 CONTAINER: ubuntu:16.04
15 NAME: ubuntu-16.04-g++4.7
16
17 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DSKIP_PERFORMANCE_COMPARISON=ON'
18 COMPILER: 'g++-4.8'
19 EXTRA_APT_PACKAGES: 'g++-4.8'
20 CONTAINER: ubuntu:16.04
21 NAME: ubuntu-16.04-g++4.8
22
23 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DSKIP_PERFORMANCE_COMPARISON=ON'
24 COMPILER: 'g++-4.9'
25 EXTRA_APT_PACKAGES: 'g++-4.9'
26 CONTAINER: ubuntu:16.04
27 NAME: ubuntu-16.04-g++4.9
28
29 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
30 COMPILER: 'g++-5'
31 EXTRA_APT_PACKAGES: 'g++-5'
32 CONTAINER: ubuntu:16.04
33 NAME: ubuntu-16.04-g++4.5
34
35 - COMPILER: 'g++-5'
36 EXTRA_APT_PACKAGES: 'gcc-multilib g++-5-multilib linux-libc-dev'
37 CONTAINER: ubuntu:16.04
38 NAME: ubuntu-16.04-g++5-multilib
39
40 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
41 COMPILER: 'g++-6'
42 EXTRA_APT_PACKAGES: 'g++-6'
43 CONTAINER: ubuntu:16.04
44 NAME: ubuntu-16.04-g++6
45
46 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
47 COMPILER: 'g++-7'
48 EXTRA_APT_PACKAGES: 'g++-7'
49 CONTAINER: ubuntu:16.04
50 NAME: ubuntu-16.04-g++7
51
52 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
53 COMPILER: 'g++-8'
54 EXTRA_APT_PACKAGES: 'g++-8'
55 CONTAINER: ubuntu:16.04
56 NAME: ubuntu-16.04-g++8
57
58 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
59 COMPILER: 'g++-9'
60 EXTRA_APT_PACKAGES: 'g++-9'
61 CONTAINER: ubuntu:20.04
62 NAME: ubuntu-20.04-g++9
63
64 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
65 COMPILER: 'g++-10'
66 EXTRA_APT_PACKAGES: 'g++-10'
67 CONTAINER: ubuntu:20.04
68 NAME: ubuntu-20.04-g++10
69
70 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
71 COMPILER: 'clang++-3.5'
72 EXTRA_APT_PACKAGES: 'clang-3.5'
73 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.5 main'
74 CONTAINER: ubuntu:16.04
75 NAME: ubuntu-16.04-clang-3.5
76
77 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
78 COMPILER: 'clang++-3.6'
79 EXTRA_APT_PACKAGES: 'clang-3.6'
80 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.6 main'
81 CONTAINER: ubuntu:16.04
82 NAME: ubuntu-16.04-clang-3.6
83
84 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
85 COMPILER: 'clang++-3.7'
86 EXTRA_APT_PACKAGES: 'clang-3.7'
87 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.7 main'
88 CONTAINER: ubuntu:16.04
89 NAME: ubuntu-16.04-clang-3.7
90
91 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
92 COMPILER: 'clang++-3.8'
93 EXTRA_APT_PACKAGES: 'clang-3.8'
94 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.8 main'
95 CONTAINER: ubuntu:16.04
96 NAME: ubuntu-16.04-clang-3.8
97
98 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
99 COMPILER: 'clang++-3.9'
100 EXTRA_APT_PACKAGES: 'clang-3.9'
101 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.9 main'
102 CONTAINER: ubuntu:16.04
103 NAME: ubuntu-16.04-clang-3.9
104
105 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
106 COMPILER: 'clang++-4.0'
107 EXTRA_APT_PACKAGES: 'clang-4.0 g++-5'
108 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main'
109 CONTAINER: ubuntu:16.04
110 NAME: ubuntu-16.04-clang-4.0
111
112 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON'
113 COMPILER: 'clang++-5.0'
114 EXTRA_APT_PACKAGES: 'clang-5.0 g++-7'
115 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main'
116 CONTAINER: ubuntu:16.04
117 NAME: ubuntu-16.04-clang-5.0
118
119 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
120 COMPILER: 'clang++-5.0'
121 EXTRA_APT_PACKAGES: 'clang-5.0 g++-7'
122 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main'
123 CONTAINER: ubuntu:16.04
124 NAME: ubuntu-16.04-clang-5.0-cpp17
125
126 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
127 COMPILER: 'clang++-7'
128 EXTRA_APT_PACKAGES: 'clang-7 g++-7'
129 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
130 CONTAINER: ubuntu:16.04
131 NAME: ubuntu-16.04-clang-7-cpp17
132
133 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17 -DCLANG_USE_LIBCPP=ON -DSKIP_PERFORMANCE_COMPARISON=ON'
134 COMPILER: 'clang++-8'
135 EXTRA_APT_PACKAGES: 'clang-8 g++-8 libc++-8-dev libc++abi-8-dev'
136 LLVM_APT_SOURCE: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main'
137 CONTAINER: ubuntu:16.04
138 NAME: ubuntu-16.04-clang-8-cpp17
139
140 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
141 COMPILER: 'clang++-9'
142 EXTRA_APT_PACKAGES: 'clang-9'
143 CONTAINER: ubuntu:20.04
144 NAME: ubuntu-20.04-clang-9-cpp17
145
146 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
147 COMPILER: 'clang++-10'
148 EXTRA_APT_PACKAGES: 'clang-10'
149 CONTAINER: ubuntu:20.04
150 NAME: ubuntu-20.04-clang-10-cpp17
151
152 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
153 COMPILER: 'clang++-11'
154 EXTRA_APT_PACKAGES: 'clang-11'
155 CONTAINER: ubuntu:20.04
156 NAME: ubuntu-20.04-clang-11-cpp17
157
158 - CMAKE_OPTIONS: '-DSKIP_PORTABILITY_TEST=ON -DCMAKE_CXX_STANDARD=17'
159 COMPILER: 'clang++-12'
160 EXTRA_APT_PACKAGES: 'clang-12'
161 CONTAINER: ubuntu:20.04
162 NAME: ubuntu-20.04-clang-12-cpp17
163 name: ${{ matrix.name }}
164
165 steps:
166 - name: Checkout code
167 uses: actions/checkout@v2
168
169 - name: install deps and test
170 shell: bash
171 env:
172 CMAKE_OPTIONS: ${{ matrix.CMAKE_OPTIONS }}
173 COMPILER: ${{ matrix.COMPILER }}
174 EXTRA_APT_PACKAGES: ${{ matrix.EXTRA_APT_PACKAGES }}
175 LLVM_APT_SOURCE: ${{ matrix.LLVM_APT_SOURCE }}
176 run: |
177 set -ex
178 apt-get update -y
179 DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles apt-get install -y software-properties-common wget python3-pip make apt-transport-https
180
181 # Add apt repositories for older Ubuntu
182 . /etc/os-release
183 if [[ "${VERSION_ID}" == "16.04" ]]; then
184 add-apt-repository ppa:ubuntu-toolchain-r/test -y
185 add-apt-repository ppa:mhier/libboost-latest -y
186 fi
187
188 if [[ "${LLVM_APT_SOURCE}" != "" ]]; then
189 wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
190 add-apt-repository "${LLVM_APT_SOURCE}"
191 fi
192
193 apt-get update -y
194
195 # Install apt packages
196 apt-get install libboost-serialization-dev libboost-dev ${EXTRA_APT_PACKAGES} -y
197 pip3 install cmake
198
199 # Set compiler and env variables
200 export CXX=${COMPILER}
201 ${CXX} --version
202 DEPS_DIR="${PWD}/deps"
203 mkdir -p "${DEPS_DIR}"
204 pushd "${DEPS_DIR}"
205 JOBS=2
206
207 # Install the right version of libc++
208 LLVM_INSTALL=${DEPS_DIR}/llvm/install
209 # if in linux and compiler clang and llvm not installed
210 if [[ "${CXX}" == "clang"* && -n "$(ls -A ${LLVM_INSTALL})" ]]; then
211 if [[ "${CXX}" == "clang++-3.6" ]]; then LLVM_VERSION="3.6.2";
212 elif [[ "${CXX}" == "clang++-3.7" ]]; then LLVM_VERSION="3.7.1";
213 elif [[ "${CXX}" == "clang++-3.8" ]]; then LLVM_VERSION="3.8.1";
214 elif [[ "${CXX}" == "clang++-3.9" ]]; then LLVM_VERSION="3.9.1";
215 fi
216 LLVM_URL="http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
217 LIBCXX_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxx-${LLVM_VERSION}.src.tar.xz"
218 LIBCXXABI_URL="http://llvm.org/releases/${LLVM_VERSION}/libcxxabi-${LLVM_VERSION}.src.tar.xz"
219 mkdir -p llvm llvm/build llvm/projects/libcxx llvm/projects/libcxxabi
220 wget -O - ${LLVM_URL} | tar --strip-components=1 -xJ -C llvm
221 wget -O - ${LIBCXX_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxx
222 wget -O - ${LIBCXXABI_URL} | tar --strip-components=1 -xJ -C llvm/projects/libcxxabi
223 (cd llvm/build && cmake .. -DCMAKE_INSTALL_PREFIX=${LLVM_INSTALL})
224 (cd llvm/build/projects/libcxx && make install -j2)
225 (cd llvm/build/projects/libcxxabi && make install -j2)
226 export CXXFLAGS="-isystem ${LLVM_INSTALL}/include/c++/v1"
227 export LDFLAGS="-L ${LLVM_INSTALL}/lib -l c++ -l c++abi"
228 export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${LLVM_INSTALL}/lib"
229 fi
230
231 popd
232
233 # Build cereal and test
234 cmake --version
235 mkdir build && cd build
236 cmake ${CMAKE_OPTIONS} .. && make -j4 VERBOSE=1
237 ctest . --output-on-failure
+0
-53
.gitignore less more
0 # Compiled Object files
1 *.slo
2 *.lo
3 *.o
4
5 # Compiled Dynamic libraries
6 *.so
7 *.dylib
8
9 # Compiled Static libraries
10 *.lai
11 *.la
12 *.a
13
14 # Visual studio cruft
15 *.opensdf
16 *.sdf
17 *.suo
18 *.user
19 */x64
20 *\Debug*
21 *\Release*
22 *.log
23 *.tlog*
24 *.obj
25 *.VC.db
26 *.VC.VC.opendb
27 *.pdb
28 *.idb
29 *\build_*
30 .vs/
31 CMakeSettings.json
32
33 # misc files mostly used for testing
34 out.txt
35 ptr.txt
36 test.txt
37 boost_serialize
38 arr.txt
39 performance
40 include_renamed
41 .ycm_extra_conf.py*
42 doc/html
43 rtti.txt
44 doc/latex
45 portability64
46 portability32
47 file.json
48 out.xml
49 cereal_version.out
50 xml_ordering.out
51 build
52 /out/