Andrzej Kurek
40741f8ce5
Add a test with a cpp executable including all mbed TLS headers
...
In case of any problems with the 'extern "C"' directives,
building the executable will fail
2018-06-28 05:05:40 -04:00
Simon Butcher
4ab8acd696
Merge remote-tracking branch 'public/pr/1075' into development
2018-06-14 10:34:44 +01:00
Simon Butcher
ebb6427992
Merge remote-tracking branch 'public/pr/1646' into development
2018-06-12 16:41:04 +01:00
Darryl Green
2a1edacb1b
Change symlink to hardlink to avoid permission issues
2018-06-08 10:07:32 +01:00
Darryl Green
d75ee64c1f
Fix out-of-tree testing symlinks on Windows
2018-06-07 11:55:50 +01:00
Simon Butcher
b02f7893f6
Merge remote-tracking branch 'public/pr/1470' into development
2018-06-01 19:20:25 +01:00
Azim Khan
45b79cf12b
Treat warnings as errors for IAR
...
Fix IAR compiler warnings
Two warnings have been fixed:
1. code 'if( len <= 0xFFFFFFFF )' gave warning 'pointless integer comparison'.
This was fixed by wraping the condition in '#if SIZE_MAX > 0xFFFFFFFF'.
2. code 'diff |= A[i] ^ B[i];' gave warning 'the order of volatile accesses is undefined in'.
This was fixed by read the volatile data in temporary variables before the computation.
Explain IAR warning on volatile access
Consistent use of CMAKE_C_COMPILER_ID
2018-05-25 14:54:14 +01:00
Ron Eldor
e95092d8eb
Change the value of fno-sanitize-recover
...
Change the value of `-fno-sanitize-recover` from `undefined,integer` to `all`
2018-05-24 10:15:13 +03:00
Gilles Peskine
c33c7c8363
Copy DartConfiguration.tcl, needed for make memcheck
2018-04-05 15:59:45 +02:00
Gilles Peskine
be038366ea
Fix some comments regarding what files are symlinked
2018-03-23 14:39:52 +01:00
Gilles Peskine
fc458d0b9b
Merge remote-tracking branch 'myfork/pr_1073' into development-proposed
2018-03-22 21:53:12 +01:00
Gilles Peskine
8405257035
Support out-of-tree testing with CMake
...
Create extra symbolic links with CMake so that SSL testing (ssl-opt.sh
and compat.sh) works in out-of-tree builds.
2018-03-21 12:28:59 +01:00
Krzysztof Stachowiak
a0188d6730
Have doxygen run in the doxygen directory
...
When the Doxywizzard GUI is used and the doxyfile is loaded, the
workind directory for doxygen is set to the location of the doxyfile.
However the Make and CMake build systems expect doxygen to be ran
from the top level directory.
This commit unifies the build system and the Doxywizzard GUI so that
all of them expect doxygen to be executed in the doxygen directory.
2018-01-19 16:21:18 +01:00
Ron Eldor
3f8271e32b
Support only new CLang version
...
Support only new CLang version by enabling only
`-fno-sanitize-recover=undefined,integer`
2017-09-19 15:13:44 +03:00
Ron Eldor
18b3c912f9
Address Azim's coments
...
Fix typo and use new check for clang>3.5m according to azim's comments
2017-09-04 14:03:33 +03:00
Ron Eldor
22d989c434
Suport clang version 3.8
...
Check CLANG version, and according to the version,
set the correct paramters. fix for #1072
2017-09-03 17:56:25 +03:00
VOLAT Matthieu 22923
533751f98f
Use current source paths for config file creation command
...
That way, the project integrate more nicely when used as a cmake sub-project.
2017-09-01 09:55:40 +02:00
Simon B
9b3e3c4942
Fix config of compiler warning flags with MSVC
...
Compiler warnings were being configured twice and not suppressed on the
test suites with Microsoft Visual Studio.
2016-11-10 15:37:33 +00:00
Andres AG
dc192215f4
Allow cmake 'out-of-source' builds
...
Allow mbed TLS to be build in a subdirectory. Also add a test in
all.sh
2016-09-06 20:38:40 +01:00
Simon Butcher
45103f3e15
Changes multiline string (for CMake >3.0) to list (for CMake 2.8)
2016-06-21 14:47:11 +01:00
Simon Butcher
1ceab6e43a
Adds a check and warning for the null entropy option
...
If the option MBEDTLS_TEST_NULL_ENTROPY is enabled, the cmake generated
makefile will generate an error unless a UNSAFE_BUILD switch is also enabled.
Equally, a similar warning will always be generated if the Makefile is built,
and another warning is generated on every compilation of entropy.c.
This is to ensure the user is aware of what they're doing when they enable the
null entropy option.
2016-06-21 10:14:00 +01:00
Simon Butcher
3ea7f52fdf
Update interop tests to default configuration
...
Removed SSLv3 from the default tests in compat.sh, and adapted the test
cases in all.sh to include an additional SSLv3 regression test suite.
2016-03-09 19:32:11 +00:00
Janos Follath
e2681a448b
Update default configuration
...
Change the default settings for SSL and modify the tests accordingly.
2016-03-09 19:32:11 +00:00
Manuel Pégourié-Gonnard
c990189e14
Revert changes done to 'make apidoc' target
...
This partially reverts 1989caf71c
(only the changes to Makefile and
CMakeLists, the addition to scripts/config.pl is kept).
Modifying config.h in the apidoc target creates a race condition with
make -j4 all apidoc
where some parts of the library, tests or programs could be built with the
wrong config.h, resulting in all kinds of (semi-random) errors. Recent
versions of CMake mitigate this by adding a .NOTPARALLEL target to the
generated Makefile, but people would still get errors with older CMake
versions that are still in use (eg in RHEL 5), and with plain make.
An additional issue is that, by failing to use cp -p, the apidoc target was
updating the timestamp on config.h, which seems to cause further build issues.
Let's get back to the previous, safe, situation. The improved apidoc building
will be resurrected in a script in the next commit.
fixes #390
fixes #391
2016-01-12 14:48:03 +00:00
Manuel Pégourié-Gonnard
1989caf71c
Use a full config.h with doxygen
...
Otherwise we get warnings that some documentation items don't have
corresponding #define, and more importantly the corresponding snippets are not
included in the output.
For that we need a modified version of the "full" argument for config.pl.
Also, the new CMakeLists.txt target only works on Unix (which was already the
case of the Makefile target). Hopefully this is not an issue as people are
unlikely to need that target on Windows.
2016-01-04 12:57:32 +01:00
Manuel Pégourié-Gonnard
824ba72442
Only use -Wshadow with GCC 4.8 or higher
...
Before that, we get useless warnings about local variables shadowing extern
functions, which means we can't have a local variable called index when we
include string.h.
https://lkml.org/lkml/2006/11/28/239
https://gcc.gnu.org/gcc-4.8/changes.html
2015-08-31 10:34:27 +02:00
Manuel Pégourié-Gonnard
ea35666f50
Fix -Wshadow warnings
...
Checked that it is supported by gcc 4.2.1 (FreeBSD 9).
fixes #240
2015-08-31 10:34:26 +02:00
Manuel Pégourié-Gonnard
c98204e68f
Fix missing break in switch for SSL presets
...
closes #235
2015-08-11 04:21:01 +02:00
Manuel Pégourié-Gonnard
bcb0460224
Fix bug with cmake and old version of GCC
2015-07-19 16:00:04 +02:00
Manuel Pégourié-Gonnard
5871910490
cmake: testing disabled by default with MSVC
...
Previously testing was enabled only if GCC || Clang, and I though this was a
"proxy" for the likelihood of Perl being available. Apparently it was not just
that, since MSVC gives me a lot of errors when trying to build tests.
Let's fix them later, and disable for now.
2015-07-09 09:19:47 +01:00
Manuel Pégourié-Gonnard
0b4e2ac6f5
cmake: move options to the top
2015-07-08 22:10:38 +01:00
Manuel Pégourié-Gonnard
3d404b4763
Simplify some scripts
...
ssl-opt.sh and compat.sh can now be run from root too
2015-07-08 21:59:16 +01:00
Manuel Pégourié-Gonnard
4d2ef297cb
Tests enabled by default with cmake on win32
...
People who don't have Perl will have to disable them manually.
That way they have an occasion to notice and install Perl.
2015-07-08 21:36:43 +01:00
Manuel Pégourié-Gonnard
3083053dd2
More cmake for windows tune-ups
2015-07-01 17:06:28 +02:00
Manuel Pégourié-Gonnard
5fe51d75f0
Don't rely on CMake 3.0 features
...
Too recent (about one year).
2015-07-01 16:59:56 +02:00
Manuel Pégourié-Gonnard
d3a9166afe
Adjust prerequisites for tests in cmake
2015-07-01 10:08:08 +02:00
Manuel Pégourié-Gonnard
c8293b20a9
cmake: no reason for test to depend on gcc/clang
2015-06-25 10:59:57 +02:00
Manuel Pégourié-Gonnard
216a1831de
Fix whitespace in CMakeLists.txt
...
- all spaces no tabs
- indent with 4 spaces everywhere
2015-06-25 10:59:57 +02:00
Manuel Pégourié-Gonnard
db5d15e227
Minor tune-ups in CMake
2015-06-25 10:59:56 +02:00
Manuel Pégourié-Gonnard
187ffb99eb
Change "check" build mode to use -Os
2015-03-13 11:20:20 +00:00
Manuel Pégourié-Gonnard
9014b6f227
Rename project in CMake
...
TODO: to create symlinks to the old names!
2015-01-27 15:44:46 +00:00
Manuel Pégourié-Gonnard
afe8f53ead
Fix error in lcov target
2015-01-23 17:40:33 +00:00
Manuel Pégourié-Gonnard
cfa9a45dd6
Rename in cmake help strings
2015-01-23 13:33:31 +00:00
Manuel Pégourié-Gonnard
f234ff82ec
Rename doxyfile
2015-01-22 17:01:27 +00:00
Paul Bakker
d7e2483bfc
Merge miscellaneous fixes into development
2015-01-13 16:04:38 +01:00
Manuel Pégourié-Gonnard
d68b65199f
Fix previous commit
...
(worked with BSD sed but no GNU sed...)
2015-01-07 14:55:38 +01:00
Manuel Pégourié-Gonnard
3da751ea55
Allow flexible location of valgrind
2014-12-15 10:47:31 +01:00
Manuel Pégourié-Gonnard
98aa19148c
Adjust warnings in different modes
2014-11-14 16:45:48 +01:00
Manuel Pégourié-Gonnard
705b70f122
Add new build modes for sanitizers
2014-11-13 13:35:50 +01:00
Manuel Pégourié-Gonnard
e9271e6835
Add a MemSan Cmake build type
...
Detects uninitialised memory reads. Available only with Clang on Linux x86_64
for now. Experimental but seems usable enough.
2014-11-12 00:01:52 +01:00
Manuel Pégourié-Gonnard
d6197a37e0
Detect undefined behaviours too in ASan builds
2014-11-12 00:01:51 +01:00
Manuel Pégourié-Gonnard
54f6e562e6
Fix CFLAGS with cmake and gcc
2014-11-12 00:01:51 +01:00
Manuel Pégourié-Gonnard
39141fed63
Add warnings in debug build, and -Werror with ASan
...
- warnings in debug build allows the to be caught earlier
- -Werror with ASan make tests/scripts/all.sh a bit shorter
2014-08-14 18:33:00 +02:00
Manuel Pégourié-Gonnard
31855456f9
Fix clang's check mode again
2014-06-25 15:59:50 +02:00
Manuel Pégourié-Gonnard
10a3891336
Add -Wmissing-prototypes to clang's check mode too
2014-06-25 12:49:54 +02:00
Manuel Pégourié-Gonnard
e41072e7f9
Exclude headers from lcov reports
...
The data produced by gcov for static inline functions is too unreliable to be
actually useful. Some lines that are covered are not marked as such, some
other static inline functions are completely ignored, and the reasons why do
not look obvious.
2014-06-23 11:54:57 +02:00
Manuel Pégourié-Gonnard
53c6e96ce7
Force lcov to notice files not covered at all
2014-06-23 11:52:59 +02:00
Barry K. Nathan
cf975f5988
Fix build with cc from Apple LLVM
...
On Xcode 4.x and above (I tested Xcode 4.6.3 on 10.7.5 and Xcode 5.5.1 on 10.9.2), cmake (2.8.12.2, whether from MacPorts or from clang.org, FWIW) is detecting /usr/bin/cc as Clang, but CMAKE_COMPILER_IS_CLANG is not getting set, so the tests aren't being built. (There may have been other build problems as well, but the fact that the tests weren't being built was by far the most obvious problem.)
Checking the compiler ID detected by cmake, rather than the name of the command used to invoke the compiler, fixes this.
2014-04-30 16:53:34 +02:00
Paul Bakker
27f1caed02
Add option to CMake to disable all tests
2014-04-30 16:31:54 +02:00
Manuel Pégourié-Gonnard
1827a6e77e
Add -O1 to check mode (helps some warnings)
2014-03-27 21:10:56 +01:00
Paul Bakker
df5024c0dd
Made building of programs optional in CMake
2014-03-26 13:27:51 +01:00
Manuel Pégourié-Gonnard
720375e7ea
Add test descriptions for lcov
2014-03-14 08:41:01 +01:00
Manuel Pégourié-Gonnard
61137df560
Add a 'testcov' target
2014-03-14 08:41:01 +01:00
Manuel Pégourié-Gonnard
03893df747
lcov cosmetics
2014-03-14 08:41:01 +01:00
hasufell
7c4a553baf
CMake: fix zlib include dir
...
ZLIB_INCLUDE_DIR was interpreted as a relative path from the
working directory.
2014-03-13 19:25:06 +01:00
hasufell
fcd362989c
CMake: respect system cflags
...
Adding optimization level to CMAKE_C_FLAGS is intrusive and problematic
with policies of various distribution.
However, setting "-O2" in CMAKE_CFLAGS_RELEASE is fine and only
affects release build.
2014-03-13 19:25:06 +01:00
Manuel Pégourié-Gonnard
e8bac683c2
Add -Wunreachable-code to check mode
...
See eg https://www.imperialviolet.org/2014/02/22/applebug.html
2014-02-24 10:49:27 +01:00
Manuel Pégourié-Gonnard
546d86c8ec
Add an 'lcov' target for HTML coverage report
2014-01-31 16:48:03 +01:00
Manuel Pégourié-Gonnard
6529ff0b6a
make: add a 'test-ref-configs' target
2014-01-31 15:42:07 +01:00
Manuel Pégourié-Gonnard
469238a9a5
cmake: add 'ASan' build type
2014-01-31 13:29:47 +01:00
Manuel Pégourié-Gonnard
0933d1fe3f
cmake: coverage flags for clang too
2014-01-31 13:16:30 +01:00
Manuel Pégourié-Gonnard
8505d50d4b
Fix "check" mode warnings
2014-01-23 17:26:36 +01:00
Manuel Pégourié-Gonnard
1b460440af
Disable unused-function warning for clang-check
2014-01-22 16:01:44 +01:00
Manuel Pégourié-Gonnard
bd0de9422b
Enable cmake tests with Clang too
2014-01-22 12:55:52 +01:00
Paul Bakker
e1e962de91
Position of -Werror is relevant
2013-12-30 19:00:41 +01:00
Paul Bakker
92bc875e0a
Support for CLANG compiler in CMakeLists.txt
2013-12-30 17:56:23 +01:00
Paul Bakker
ad0db975bf
Added -Werror to Check buildtype
2013-12-30 14:09:27 +01:00
Paul Bakker
76f03118c4
Only compile with -Wmissing-declarations and -Wmissing-prototypes in
...
library, not tests and programs
2013-11-28 17:20:04 +01:00
Paul Bakker
7d2c0c4eda
Added Check and CheckFull options to CMakeLists
2013-11-25 13:30:11 +01:00
Manuel Pégourié-Gonnard
deb7949a22
Fix mistake in 7669f28
(rm limitation in memcheck)
2013-09-13 13:43:43 +02:00
Manuel Pégourié-Gonnard
7669f28421
Add 'memcheck' (valgrind) target to CMake
2013-09-08 20:08:09 +02:00
Paul Bakker
f1ab0ec1ff
- Changed default compiler flags to include -O2
2012-10-23 12:12:53 +00:00
Paul Bakker
92eeea4627
- Modified CMakeLists to support zlib
2012-07-03 15:10:33 +00:00
Paul Bakker
b3b4901295
- Fixed duplicate prefix inclusion
2011-12-11 11:28:52 +00:00
Paul Bakker
2015eacd4c
- Made CMakeLists.txt more robust on Windows platforms
2011-07-27 16:52:28 +00:00
Paul Bakker
091e2872e4
- Added missing definition of LIB_INSTALL_DIR
2011-07-13 11:45:58 +00:00
Paul Bakker
b06819bb5d
- Adapted CMake files for the PKCS#11 support
2011-01-18 16:18:38 +00:00
Paul Bakker
37ca75d6f2
- Added Doxygen source code documentation parts (donated by Fox-IT)
2011-01-06 12:28:03 +00:00
Paul Bakker
ccba9bc42d
- Added CMake target "apidoc" for creating Doxygen API documentation
2011-01-05 15:30:32 +00:00
Paul Bakker
547f73d66f
- Added install targets to the CMake files
2011-01-05 15:07:54 +00:00
Paul Bakker
1bbeb69e38
- Compile tests before programs
2009-10-04 15:08:01 +00:00
Paul Bakker
396c52f711
- Updated and cleaned CMakeList
2009-07-11 19:54:40 +00:00
Paul Bakker
3bcf28c21f
- Added warnings for declarations after statements
2009-07-11 19:16:30 +00:00
Paul Bakker
367dae44b2
- Added CMake makefiles as alternative to regular Makefiles.
...
- Added preliminary Code Coverage tests for AES, ARC4, Base64, MPI, SHA-family, MD-family and HMAC-SHA-family.
2009-06-28 21:50:27 +00:00