Commit Graph

46 Commits

Author SHA1 Message Date
Stephan
5cfda2292f Warn if compiler optimizes based on asumption signed overflow does not occur.
This switch is only active when making a release build.
2016-11-28 09:12:17 +01:00
Stephan Gatzka
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
Stephan Gatzka
bea0be48b6 Perform additional format checks. 2016-11-27 18:20:41 +01:00
Stephan Gatzka
91d11cd050 Warn if casting a pointer increases alignment of target. 2016-11-27 18:19:52 +01:00
Stephan Gatzka
9591ecddbe Warn about variables initialized by themselves. 2016-11-27 18:19:07 +01:00
Stephan Gatzka
1568015de6 Warn about shadowing variables and functions. 2016-11-27 18:18:00 +01:00
Max Bruckner
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
Max Bruckner
d0a9f46888 Release v1.0.2 2016-11-25 08:22:41 +07:00
Max Bruckner
11fd27ade7 Change version to 1.0.1 2016-11-20 01:08:54 +07:00
Max Bruckner
f2cb5e4dd4 CMake: ENABLE_CUSTOM_COMPILER_FLAGS option 2016-11-15 20:21:57 +07:00
Max Bruckner
46a3a102d5 CMake: Fix indentation 2016-11-15 20:21:30 +07:00
Max Bruckner
706636fb20 Replace -ansi with -std=c89 for better compatibility 2016-11-15 20:03:11 +07:00
Max Bruckner
5cca67e3fc CMake: Build tests by default 2016-11-14 19:36:04 +07:00
Max Bruckner
cfd0fb83d3 CMake: Fix warning on Cygwin 2016-11-14 19:14:14 +07:00
Max Bruckner
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
Max Bruckner
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
Max Bruckner
58b76b518a CMake: Fix export of targets
The prior approach was exporting paths from the build environment.
2016-11-14 19:14:13 +07:00
Max Bruckner
8a838b37e3 CMake: Use standard variables for the version 2016-11-14 19:14:12 +07:00
Max Bruckner
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
Markus Blatt
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
Max Bruckner
8a7f9a2101 CMake: Use the GNUInstallDirs module 2016-11-14 19:14:12 +07:00
Max Bruckner
78cdb0d6ec CMake: Quote all variables 2016-11-14 19:14:11 +07:00
Max Bruckner
b2283dab87 CMake: Use CMAKE_CURRENT_SOURCE/BINARY_DIR 2016-11-14 19:14:11 +07:00
Max Bruckner
3353062fc8 CMake: Make building of cJSON_Utils optional
Turned off by default.
2016-11-14 19:14:11 +07:00
Max Bruckner
97b255c736 CMake: Fix installation of libcjson_utils.pc 2016-11-14 19:14:11 +07:00
Max Bruckner
302c574e00 CMake: Add compiler options only for Clang and GCC 2016-11-14 19:14:10 +07:00
Max Bruckner
576d9bb24f CMake: Only one project 2016-11-14 19:14:10 +07:00
Max Bruckner
47841ed3a7 CMake: Build test by default 2016-11-14 19:14:10 +07:00
Max Bruckner
c3fecc2d07 CMake: Build shared libraries by default
This is also what other projects are doing.
2016-11-14 19:14:10 +07:00
Max Bruckner
aee8cb9231 pkg-config: Add libcjson_utils.pc 2016-11-14 19:14:09 +07:00
Max Bruckner
3d546c7036 pkg-config: Update libcjson.pc.in 2016-11-14 19:14:09 +07:00
Paulo Antonio Alvarez
d5baeff85f Add pkg-config file support for libcjson
We configure and install a pkg-config file so that our compilation and
linking flags can be more easily found using pkg-config.
2016-11-14 19:14:09 +07:00
Max Bruckner
32a9870786 CMake: Separate so version for cJSON_Utils 2016-11-14 19:14:09 +07:00
Max Bruckner
fd38fb712d CMake: Add compile options 2016-11-14 19:14:09 +07:00
Max Bruckner
ba6389291f CMake: Set library version 2016-11-14 19:14:08 +07:00
Max Bruckner
ba593394d4 CMake: Change include directory cJSON -> cjson 2016-11-14 19:14:08 +07:00
Max Bruckner
0d6ccf032d CMake: Change library names to all lowercase
Library names:
libcJSON -> libcjson
libcJSON_utils -> libcjson_utils
2016-11-14 19:14:08 +07:00
Max Bruckner
34361dbb9b CMake: Reformat 2016-11-14 19:14:08 +07:00
Max Bruckner
81e95718d5 CMake: Regroup lines 2016-11-14 19:14:07 +07:00
Max Bruckner
9a4657fbee CMake: Set version and soversion 2016-11-14 19:14:07 +07:00
Fabrice Fontaine
8e799362ca Do not always build static and dynamic
Currently, the static and dynamic version of the libraries are always
built as add_library is called twice. Instead, this patch will use the
standard CMake variable BUILD_SHARED_LIBS to know if the static or the
dynamic version must be built.

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
2016-10-29 20:30:28 +02:00
Weston Schmidt
a5c60cd223 Improve the locations so the destination is correct as well as the include path. 2016-02-15 06:36:21 -08:00
Weston Schmidt
2cac21e156 Add install targets. 2016-02-15 06:21:48 -08:00
Evan Todd
ebd06067a4 Remove "m" library dependency on Windows. 2015-08-19 23:03:08 -04:00
Anton Sergeev
956129116f Support cJSON_Utils library in CMakeLists.txt
Signed-off-by: Anton Sergeev <Anton.Sergeev@elecard.ru>
2015-07-28 03:48:28 +06:00
Anton Sergeev
262189428e Add CMakeLists.txt
Signed-off-by: Anton Sergeev <Anton.Sergeev@elecard.ru>
2015-07-15 14:08:45 +06:00