Go to file
Alexander Dahl de67675842 cmake: Set CMOCKA_LIBRARIES in package config for backwards compatibility
Projects using cmocka could have done this successfully from version 1.0 to
1.1.5 to build against cmocka:

```
find_package(cmocka 1.0 REQUIRED CONFIG)
```

and later

```
target_link_libraries(myapp
	${CMOCKA_LIBRARIES}
)
```

Modern apps should just "link" against 'cmocka::cmocka' instead like it's done in
examples already.  To not break old builds (as it is the case with cmocka
release 1.1.7) we can put that modern target string into the variable
CMOCKA_LIBRARIES and thus trick old projects to just use that, keeping
compatibility until those projects explicitly use the modern version.

Link: https://cmake.org/cmake/help/latest/command/install.html#install-export
Link: https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#package-configuration-file
Link: https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html#module:CMakePackageConfigHelpers
Fixes: #87

Signed-off-by: Alexander Dahl <ada@thorsis.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
2023-03-22 15:38:32 +01:00
cmake build: improve AddCMockaTest `LINK_OPTIONS` docs 2022-12-23 11:53:27 +01:00
coverity coverity: Add missing functions to model file 2023-02-03 12:47:42 +01:00
doc doc: Link to the examples for mocking 2023-01-29 14:32:42 +01:00
example cmake: Use C99 and define GNU and POSIX flags directly at source files 2023-02-01 08:38:44 +01:00
include include: Improve expect_check() documentation 2023-02-01 08:38:44 +01:00
src cmake: Set CMOCKA_LIBRARIES in package config for backwards compatibility 2023-03-22 15:38:32 +01:00
tests cmake: Use C99 and define GNU and POSIX flags directly at source files 2023-02-01 08:38:44 +01:00
.clang-format Add clang-format file 2022-08-08 09:49:25 +02:00
.clang_complete Add obj directory for config.h to .clang_complete. 2013-12-13 10:55:40 +01:00
.editorconfig Update editorconfig 2022-02-26 20:42:14 +01:00
.gitignore gitignore: Add .cache directory 2022-03-02 09:04:01 +01:00
.gitlab-ci.yml gitlab-ci: Build also the coverity model files 2023-02-03 11:49:13 +01:00
.ycm_extra_conf.py Add YouCompleteMe config. 2014-04-11 15:09:12 +02:00
AUTHORS cmocka: Implement a new test runner. 2015-02-08 10:29:09 +01:00
CMakeLists.txt cmake: Set CMOCKA_LIBRARIES in package config for backwards compatibility 2023-03-22 15:38:32 +01:00
COPYING misc: Fix license in COPYING. 2011-05-31 21:17:09 +02:00
CPackConfig.cmake cpack: Update ignore files for source package generation 2023-02-19 09:36:28 +01:00
CTestConfig.cmake ctest: Move to new dashboard 2018-07-05 10:18:59 +02:00
ChangeLog Bump version to 1.1.5 2019-03-28 13:33:38 +01:00
CompilerChecks.cmake cmake: Add more compiler warnings 2023-02-01 08:38:44 +01:00
ConfigureChecks.cmake src: use __builtin_align_down, if available 2022-12-23 15:21:16 +01:00
DefineOptions.cmake cmocka: Remove deprecated functions and cmockery legacy support 2020-10-12 08:25:26 +02:00
INSTALL.md Improve INSTALL.md 2023-01-29 14:42:25 +01:00
NEWS Tue Aug 26 10:18:02 2008 Google Inc. <opensource@google.com> 2008-08-26 17:51:56 +00:00
README.md Improve INSTALL.md 2023-01-29 14:42:25 +01:00
cmocka-build-tree-settings.cmake.in cmake: Fix usage of cmocka with build tree 2019-10-22 09:09:06 +02:00
cmocka-config.cmake.in cmake: Set CMOCKA_LIBRARIES in package config for backwards compatibility 2023-03-22 15:38:32 +01:00
cmocka.pc.cmake cmake: Fix path relocation in pkgconfig file for mingw 2022-12-01 19:16:08 +01:00
config.h.cmake Don't redefine uintptr_t 2019-11-19 15:41:58 +01:00
meson.build Better integration of cmocka as meson-build git subprojects 2020-10-04 09:54:24 +02:00
meson_options.txt meson: Build and run unit tests 2019-08-22 11:41:49 +02:00

README.md

cmocka

cmocka is an elegant unit testing framework for C with support for mock objects. It only requires the standard C library, works on a range of computing platforms (including embedded) and with different compilers.

For information about how to use the cmocka unit testing framework see doc/index.html or https://api.cmocka.org/.

Compiling

To compile the cmocka library and example applications run, create a build dir, and in the build dir call 'cmake /path/to/cmocka' followed by 'make'. On Windows you can use the cmake gui. More details can be found in the INSTALL.md file.

Website

https://cmocka.org