Ilya Lipnitskiy
e79f7d3ac6
cmake: use static build by default, fix MSVC build
...
Matches protobuf default behavior:
https://github.com/protocolbuffers/protobuf/tree/master/cmake#dlls-vs-static-linking
Bump min cmake version to use Protobuf_USE_STATIC_LIBS:
https://cmake.org/cmake/help/latest/module/FindProtobuf.html
2021-03-15 18:01:47 -07:00
Ilya Lipnitskiy
18ede005af
protobuf-c.{c,h}: use static empty_string on WIN32
...
MSVC has issues importing protobuf_c_empty_string from the DLL and using
it in initializers, resulting in errors like when linking against
protobuf-c.dll:
test-proto3.pb-c.c(13): error C2099: initializer is not a constant
test-proto3.pb-c.c(19): error C2440: 'initializing': cannot convert from 'void *' to 'Foo__Person__PhoneType'
Work around the issue by not exporting protobuf_c_empty string and
defining it as static const char[] in the protobuf-c.h file itself. This
change only applies to _WIN32 shared library builds.
2021-03-15 18:01:47 -07:00
Ilya Lipnitskiy
d9f098e3ab
Revert "protobuf-c.h: Fix Windows DLL export ( Fixes #331 )"
...
This reverts commit 4c8043d02659d18937447d53b38e6bb029cf8e62.
2021-03-15 18:01:47 -07:00
Ilya Lipnitskiy
2a278e0756
protoc-c: fix shared lib build on windows
...
Fixes #458
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-03-15 18:01:47 -07:00
Ilya Lipnitskiy
d97abfaea2
protobuf-c: don't use ProtobufCWireType internally
...
protobuf-c parsing code operates on wire type as uint8_t, so keep it
defined as such to avoid confusion and unnecessary compiler warnings.
2021-03-11 18:13:54 -08:00
Robert Edmonds
38af0d26ab
Merge pull request #453 from wolframroesler/no-unused-parameter
...
Avoid "unused function parameter" compiler warning
2021-02-18 21:36:05 -05:00
Wolfram Rösler
a60f2680d2
Avoid "unused function parameter" compiler warning
2021-02-18 18:33:24 -08:00
Robert Edmonds
1afa3f67b0
Merge pull request #455 from ihsinme/patch-1
...
fix invalid unsigned arithmetic.
2021-02-18 21:30:57 -05:00
Robert Edmonds
32f0a781c7
Merge pull request #456 from ppietrasa/master
...
Install debug symbols alongside the protobuf-c.lib
2021-02-18 21:21:46 -05:00
ihsinme
abca6f6cb6
fix invalid unsigned arithmetic.
2021-02-10 11:41:38 +03:00
Piotr Pietraszkiewicz
f53a8c98ad
Install debug symbols alongside the protobuf-c.lib
...
A user of the protobuf-c library is confronted with MSVC warnings about missing
PDB if the library happens to be built/configured using the CMAKE_BUILD_TYPE
"Debug" or "RelWithDebInfo". This commit deals away with the warning by
installing the "protobuf-c.pdb" alongside the lib. The .pdb is installed only
if it exists. Configuring "Release" or building under Linux won't produce and
won't install the PDB.
2021-02-08 13:58:52 +01:00
Robert Edmonds
94532c7a63
Merge pull request #443 from acozzette/std-string
...
Updated the generator to fully qualify std::string
2020-10-16 20:03:05 -04:00
Adam Cozzette
3d2ed0d410
Updated the generator to fully qualify std::string
...
The protobuf common.h header currently has a "using std::string;"
statement that pulls std::string into the google::protobuf namespace:
ce66f6047d/src/google/protobuf/stubs/common.h (L195)
I plan to delete that line soon. To keep protobuf-c working, this commit
updates the generator to fully qualify std::string.
2020-10-16 16:45:21 -07:00
Robert Edmonds
5f2484642b
Merge pull request #438 from daxtens/next
...
Travis CI: Test on other platforms
2020-09-06 17:29:43 -04:00
Daniel Axtens
50cec74c8b
travis: Test across a range of platforms
...
Travis CI now supports testing on arm64, ppc64le and s390x. It would
be nice to test on them.
Signed-off-by: Daniel Axtens <dja@axtens.net>
2020-07-23 11:18:14 +10:00
Daniel Axtens
ae76c6590f
travis: Bump distro version to Bionic
...
Bionic contains more recent compilers, which are required to have
the sanitisers work under s390x.
While we're at it, the 'sudo' key is deprecated, so remove it:
https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
(It used to be used to mark VM vs docker container infrastructure,
but currently all amd64 builds run on VMs and all other archs run
inside LXD containers.)
Signed-off-by: Daniel Axtens <dja@axtens.net>
2020-07-23 11:11:44 +10:00
Robert Edmonds
19abc46140
Merge pull request #431 from SeRoSystems/dev/inline
...
Pack nested messages inline
2020-06-20 16:01:47 -04:00
Robert Edmonds
d18a21d5ba
Merge pull request #430 from protobuf-c/ilya-underscore
...
protoc-c: Remove leading underscores from structs
2020-06-20 15:56:46 -04:00
Robert Edmonds
cf04fa717e
Merge pull request #429 from protobuf-c/ilya-357
...
protobuf-c.c: Cast %lu args to unsigned long int
2020-06-20 15:51:49 -04:00
Robert Edmonds
bca6ced64d
Merge pull request #425 from protobuf-c/ilya-cmake
...
Standardize pkg-config for use by autotools and cmake, fix cmake tests
2020-06-20 15:49:27 -04:00
Robert Edmonds
6d08d99dec
Merge pull request #428 from protobuf-c/ilya-331
...
protobuf-c.h: Fix Windows DLL export (Fixes #331 )
2020-06-20 15:29:03 -04:00
Robert Edmonds
cc79026e82
Merge pull request #427 from protobuf-c/ilya-oneof
...
c_message.cc: Resolve name conflict (Fixes #389 )
2020-06-20 15:26:19 -04:00
Markus Engel
2804820230
Pack nested messages inline
...
Signed-off-by: Markus Engel <engel@sero-systems.de>
2020-05-14 12:30:51 +02:00
Ilya Lipnitskiy
cd671dbc3d
protobuf-c.c, protoc-c: Remove leading underscores
...
Fixes #188 .
Implements suggested fix from the issue:
The struct tag namespace is different from the type namespace. Use the
same symbol names (i.e. without leading underscores) in every namespace.
2020-05-13 15:30:20 -07:00
dota17
5af12e4581
Added instructions for testing in README
2020-05-13 14:37:51 -07:00
Ilya Lipnitskiy
2102d3a2c5
CMakeLists.txt: Don't include Dart if no tests
...
Also use BUILD_TESTS instead of CMAKE_BUILD_TYPE in other places in the
file.
2020-05-13 13:38:34 -07:00
Ilya Lipnitskiy
4c86c6b333
Add test for #389
2020-05-13 13:20:48 -07:00
Ilya Lipnitskiy
e43ed4f01d
protobuf-c.c: Cast %lu args to unsigned long int
...
Resolves an ambiguity that %zu was meant to address, since %zu is not
present on all platforms.
Fixes #357 .
2020-05-13 10:52:15 -07:00
Ilya Lipnitskiy
4c8043d026
protobuf-c.h: Fix Windows DLL export ( Fixes #331 )
...
protobuf_c_empty_string is used in generated .pb-c.{c,h} files so it
should be exported properly.
2020-05-12 17:54:15 -07:00
Ilya Lipnitskiy
93afe2d52d
c_message.cc: Resolve name conflict ( Fixes #389 )
2020-05-12 12:21:48 -07:00
James Benton
e01b30d4fe
Add BUILD_TESTS option to CMake build.
2020-05-12 10:21:30 -07:00
Ilya Lipnitskiy
56b8d915be
Move Doxygen back to GitHub domain
...
lib.protobuf-c.io is no longer reachable.
2020-05-09 15:23:27 -07:00
Ilya Lipnitskiy
12973e7f3f
CMakeLists.txt: Add option to disable protoc-gen-c
2020-05-09 15:08:28 -07:00
Ilya Lipnitskiy
3d3b5fe220
CMakeLists.txt: Enforce C++11 for old compilers
2020-05-09 14:29:06 -07:00
Ilya Lipnitskiy
ce75229b6a
CMakeLists.txt: Fix protoc-c crashes on Linux
...
-lpthread was missing from the linker command line. See
https://github.com/protocolbuffers/protobuf/issues/5107 for more
details.
.travis.yml: Run CMake debug build for verification
2020-05-09 13:27:33 -07:00
Ilya Lipnitskiy
db6c49cc43
CMakeLists.txt: Add pkg-config logic ( Fixes #339 )
2020-05-09 13:27:23 -07:00
Ilya Lipnitskiy
d6eaa410b6
libprotobuf-c.pc.in: Add URL, use standard macros
...
PACKAGE_DESCRIPTION is defined in configure.ac. PACKAGE_NAME,
PACKAGE_VERSION, and PACKAGE_URL come from AC_INIT.
This change will ensure that libprotobuf-c.pc.in could also be used by
CMake.
2020-05-08 18:52:42 -07:00
Robert Edmonds
39cd58f5ff
Merge pull request #399 from protobuf-c/edmonds/version/1.3.3
...
Bump version to 1.3.3
2020-02-13 18:43:35 -05:00
Robert Edmonds
f20a3fa131
ChangeLog: 1.3.3
v1.3.3
2020-02-13 18:42:42 -05:00
Robert Edmonds
d0531beaad
Bump version to 1.3.3
2019-12-04 16:08:05 -05:00
Robert Edmonds
e7c18ecda7
Merge pull request #350 from msshapira/patch-2
...
fix suport for MSVC static build
2019-12-04 13:35:36 -05:00
Markus Engel
687f27726c
Fixed endianness check for cmake
...
Signed-off-by: Markus Engel <engel@sero-systems.de>
2019-10-18 21:23:55 -04:00
Robert Edmonds
ef868b712f
Merge pull request #400 from protobuf-c/ilya-zigzag
...
protobuf-c.c: Make zigzag encoding more compact
2019-10-18 21:21:27 -04:00
Robert Edmonds
ff04761e39
Merge pull request #392 from acozzette/fix-test-asserts
...
Fixed some test assertions in test-generated-code2.c
2019-10-18 21:15:21 -04:00
Robert Edmonds
1f3d4e2e94
Merge pull request #378 from protobuf-c/ilya/coverage
...
.travis.yml: Reenable code coverage
2019-10-18 21:14:22 -04:00
Ilya Lipnitskiy
66e8aa5ed3
protobuf-c.c: Make zigzag encoding more compact
...
Also match upstream code in src/google/protobuf/wire_format_lite.h
2019-10-18 10:40:24 -07:00
Robert Edmonds
9f89e64083
Merge pull request #398 from protobuf-c/edmonds/issue330-requires-proto3
...
Makefile.am: Only enable the Issue #330 test case when building against protobuf 3.x
2019-10-17 20:19:43 -04:00
Robert Edmonds
dc3057c840
Makefile.am: Only enable the Issue #330 test case when building against protobuf 3.x
...
Issue #330 is a bug in proto3 behavior and the test case handling it
needs a 'syntax = "proto3";' line in its .proto file, which is not
supported by the protobuf 2 implementation.
Since we still support building against protobuf 2, this commit
conditionalizes the Issue #330 test case so that it is only built when
protobuf-c is being built against protobuf 3.
2019-10-17 19:01:35 -04:00
Adam Cozzette
5ee9afdc15
Fixed some test assertions in test-generated-code2.c
...
I fixed a couple test assertions here that seemed to be accidentally
using assignment (=) instead of equality (==).
2019-08-27 11:07:26 -07:00
Robert Edmonds
1390409f4e
Merge pull request #384 from protobuf-c/edmonds/version/1.3.2
...
Bump version to 1.3.2
v1.3.2
2019-06-24 01:07:52 -04:00