Commit Graph

360 Commits

Author SHA1 Message Date
29b6643bab Warn about missing prototypes.
This switch warns about missing prototypes. It does not warn if
functions are declared static. So this switch encourages the usage of
static whenever possible. This enables the compiler to perform inlining.
2016-11-27 18:22:12 +01:00
a8e1368697 Make function static when possible.
This is a prerequisite to later enable -Wmissing-prototypes.
2016-11-27 18:20:58 +01:00
bea0be48b6 Perform additional format checks. 2016-11-27 18:20:41 +01:00
91d11cd050 Warn if casting a pointer increases alignment of target. 2016-11-27 18:19:52 +01:00
9591ecddbe Warn about variables initialized by themselves. 2016-11-27 18:19:07 +01:00
1568015de6 Warn about shadowing variables and functions. 2016-11-27 18:18:00 +01:00
7ed067e680 Rename some variables to avoid shadowing. 2016-11-27 18:16:28 +01:00
4703f01cf4 Make/CMake: Fix use of compiler flags
CMake: Option was not enabled by default as intended.
Makefile: Flags were not passed when building the tests
2016-11-26 22:09:20 +07:00
d0a9f46888 Release v1.0.2 v1.0.2 2016-11-25 08:22:41 +07:00
23b269d5f9 Rename bool -> cjbool, fix #71 2016-11-25 08:19:18 +07:00
11fd27ade7 Change version to 1.0.1 v1.0.1 2016-11-20 01:08:54 +07:00
65ac0a1a2b cJSON_Utils tests: fix formatting 2016-11-19 17:50:01 +07:00
679004914f Define a boolean type
This is not changing the behavior of the code, but it is improving the
readability and helps to make the intention clearer.

One thing to take care: 'true' should never be compared against.
2016-11-19 17:29:22 +07:00
b88da9b0de Initialize all variables 2016-11-19 17:29:21 +07:00
a5ff796c20 Replace 0 with more expressive NULL or '\0' 2016-11-19 17:28:14 +07:00
d47339e274 cJSON_Utils: Fix comparing of cJSON_ types
When comparing the type, it has to be masked with 0xFF because of
cJSON_IsConst and cJSON_IsReference.
2016-11-18 22:52:52 +07:00
aafb64a1c5 Merge pull request #66 from DaveGamble/v1
Release version 1.0.0
v1.0.0
2016-11-17 08:19:08 +07:00
3a2151d267 README: Document ENABLE_CUSTOM_COMPILER_FLAGS 2016-11-15 20:23:47 +07:00
f2cb5e4dd4 CMake: ENABLE_CUSTOM_COMPILER_FLAGS option 2016-11-15 20:21:57 +07:00
46a3a102d5 CMake: Fix indentation 2016-11-15 20:21:30 +07:00
1f3b95e2b1 README: Compiles on FreeBSD 2016-11-15 20:19:02 +07:00
706636fb20 Replace -ansi with -std=c89 for better compatibility 2016-11-15 20:03:11 +07:00
a22da43578 README: More formatting 2016-11-15 08:12:35 +07:00
df1ffa1e0b README: Building 2016-11-15 02:01:38 +07:00
501be02690 README: Reformat 2016-11-15 00:29:23 +07:00
778bcd1a62 Makefile: Redo with library versioning
And remove special handling of SunOs
2016-11-14 22:52:44 +07:00
46ff20c8b0 cJSON.h: add stddef.h because of size_t 2016-11-14 22:25:16 +07:00
5cca67e3fc CMake: Build tests by default 2016-11-14 19:36:04 +07:00
dc4b62915a fix #10, now failing on incorrect escape sequences 2016-11-14 19:33:03 +07:00
afd690d1c9 format fix 2016-11-14 19:14:14 +07:00
cfd0fb83d3 CMake: Fix warning on Cygwin 2016-11-14 19:14:14 +07:00
c213f2eb58 cJSON: Option to disable exporting targets
This can be disabled when the exporting of the targets causes problems.
2016-11-14 19:14:13 +07:00
5838e279a5 CMake: Use CMAKE_C_FLAGS instead of add_compile_options
This is for compatibility reasons with old CMake 2.8 versions.
2016-11-14 19:14:13 +07:00
966646d70e CMake config: Add CJSON_INCLUDE_DIR 2016-11-14 19:14:13 +07:00
58b76b518a CMake: Fix export of targets
The prior approach was exporting paths from the build environment.
2016-11-14 19:14:13 +07:00
8a838b37e3 CMake: Use standard variables for the version 2016-11-14 19:14:12 +07:00
de992ec3c9 pkg-config: Add URL and link math library 2016-11-14 19:14:12 +07:00
f9ce93029a Buildsystem: Fix paths
Fix library and include paths in pkg-config, CMakeLists.txt and the
CMake config files.
2016-11-14 19:14:12 +07:00
251e5a5e34 Added rudimentary package configuration files.
These files will allow cmake based projects to find the
library using find_package(cJSON). If successful, they can
use CJSON_LIBRARIES and CJSON_INCLUDE_DIRS.

Other build systems can use a similar approach to pkg-config:
cmake --find-package -DNAME=cJSON -DCOMPILER_ID=GNU -DLANGUAGE=C  -DCMAKE_PREFIX_PATH=<path-to-non-sytem-installation-path> -DMODE=LINK

or with MODE COMPILE or EXISTS.
2016-11-14 19:14:12 +07:00
8a7f9a2101 CMake: Use the GNUInstallDirs module 2016-11-14 19:14:12 +07:00
78cdb0d6ec CMake: Quote all variables 2016-11-14 19:14:11 +07:00
b2283dab87 CMake: Use CMAKE_CURRENT_SOURCE/BINARY_DIR 2016-11-14 19:14:11 +07:00
3353062fc8 CMake: Make building of cJSON_Utils optional
Turned off by default.
2016-11-14 19:14:11 +07:00
97b255c736 CMake: Fix installation of libcjson_utils.pc 2016-11-14 19:14:11 +07:00
fad10d5b1e Update list of contributors 2016-11-14 19:14:11 +07:00
302c574e00 CMake: Add compiler options only for Clang and GCC 2016-11-14 19:14:10 +07:00
576d9bb24f CMake: Only one project 2016-11-14 19:14:10 +07:00
47841ed3a7 CMake: Build test by default 2016-11-14 19:14:10 +07:00
c3fecc2d07 CMake: Build shared libraries by default
This is also what other projects are doing.
2016-11-14 19:14:10 +07:00
9acd1c6e7e Add list of contributors 2016-11-14 19:14:10 +07:00