cmake_minimum_required(VERSION 2.6)
project(MBEDTLS C)
string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}")
if(CMAKE_COMPILER_IS_GNUCC)
# some warnings we want are not available with old GCC versions
# note: starting with CMake 2.8 we could use CMAKE_C_COMPILER_VERSION
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
OUTPUT_VARIABLE GCC_VERSION)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement -Wwrite-strings")
if (GCC_VERSION VERSION_GREATER 4.5 OR GCC_VERSION VERSION_EQUAL 4.5)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wlogical-op")
endif()
if (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow")
endif()
set(CMAKE_C_FLAGS_RELEASE "-O2")
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
set(CMAKE_C_FLAGS_ASAN "-Werror -fsanitize=address -fno-common -O3")
set(CMAKE_C_FLAGS_ASANDBG "-Werror -fsanitize=address -fno-common -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls ")
set(CMAKE_C_FLAGS_CHECK "-Werror -O1")
set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual")
endif(CMAKE_COMPILER_IS_GNUCC)
if(CMAKE_COMPILER_IS_CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -Wshadow")
set(CMAKE_C_FLAGS_RELEASE "-O2")
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
set(CMAKE_C_FLAGS_ASAN "-Werror -fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover -O3")
set(CMAKE_C_FLAGS_ASANDBG "-Werror -fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls ")
set(CMAKE_C_FLAGS_MEMSAN "-Werror -fsanitize=memory -O3")
set(CMAKE_C_FLAGS_MEMSANDBG "-Werror -fsanitize=memory -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize-memory-track-origins=2")
set(CMAKE_C_FLAGS_CHECK "-Werror -O1")
endif(CMAKE_COMPILER_IS_CLANG)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}
CACHE STRING "Choose the type of build: None Debug Release Coverage ASan ASanDbg MemSan MemSanDbg Check CheckFull"
FORCE)
if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_SHARED_LINKER_FLAGS "--coverage")
endif(CMAKE_COMPILER_IS_GNUCC)
if(CMAKE_COMPILER_IS_CLANG)
set(CMAKE_SHARED_LINKER_FLAGS "--coverage")
endif(CMAKE_COMPILER_IS_CLANG)
endif(CMAKE_BUILD_TYPE STREQUAL "Coverage")
option(USE_PKCS11_HELPER_LIBRARY "Build mbed TLS with the pkcs11-helper library." OFF)
option(ENABLE_ZLIB_SUPPORT "Build mbed TLS with zlib library." OFF)
option(ENABLE_PROGRAMS "Build mbed TLS programs." ON)
option(ENABLE_TESTING "Build mbed TLS tests." ON)
if(ENABLE_TESTING)
enable_testing()
endif()
if(LIB_INSTALL_DIR)
else()
set(LIB_INSTALL_DIR lib)
endif()
include_directories(include/)
if(ENABLE_ZLIB_SUPPORT)
find_package(ZLIB)
if(ZLIB_FOUND)
include_directories(${ZLIB_INCLUDE_DIR})
endif(ZLIB_FOUND)
endif(ENABLE_ZLIB_SUPPORT)
add_subdirectory(library)
add_subdirectory(include)
if(ENABLE_TESTING)
if(CMAKE_COMPILER_IS_GNUCC)
add_subdirectory(tests)
endif(CMAKE_COMPILER_IS_GNUCC)
if(CMAKE_COMPILER_IS_CLANG)
add_subdirectory(tests)
endif(CMAKE_COMPILER_IS_CLANG)
endif()
if(ENABLE_PROGRAMS)
add_subdirectory(programs)
endif()
ADD_CUSTOM_TARGET(apidoc
COMMAND doxygen doxygen/mbedtls.doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
if(ENABLE_TESTING)
ADD_CUSTOM_TARGET(test-ref-config
COMMAND tests/scripts/test-ref-configs.pl
)
ADD_CUSTOM_TARGET(covtest
COMMAND make test
COMMAND programs/test/selftest
COMMAND cd tests && ./compat.sh
COMMAND cd tests && ./ssl-opt.sh
)
ADD_CUSTOM_TARGET(lcov
COMMAND rm -rf Coverage
COMMAND lcov --capture --initial --directory library/CMakeFiles/mbedtls.dir -o files.info
COMMAND lcov --capture --directory library/CMakeFiles/mbedtls.dir -o tests.info
COMMAND lcov --add-tracefile files.info --add-tracefile tests.info -o all.info
COMMAND lcov --remove all.info -o final.info '*.h'
COMMAND gendesc tests/Descriptions.txt -o descriptions
COMMAND genhtml --title "mbed TLS" --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info
COMMAND rm -f files.info tests.info all.info final.info descriptions
)
ADD_CUSTOM_TARGET(memcheck
COMMAND sed -i.bak s+/usr/bin/valgrind+`which valgrind`+ DartConfiguration.tcl
COMMAND ctest -O memcheck.log -D ExperimentalMemCheck
COMMAND tail -n1 memcheck.log | grep 'Memory checking results:' > /dev/null
COMMAND rm -f memcheck.log
COMMAND mv DartConfiguration.tcl.bak DartConfiguration.tcl
)
endif()
没有合适的资源?快使用搜索试试~ 我知道了~
polarssl-1.3.15源码
5星 · 超过95%的资源 需积分: 46 146 下载量 194 浏览量
2016-02-16
17:30:28
上传
评论
收藏 1.68MB TGZ 举报
温馨提示
共699个文件
c:118个
crt:114个
h:77个
PolarSSL 源码,最小巧的ssl代码库。高效、便于移植和集成,最易阅读,支持DES\SHA\MD5\RSA等多种算法,对X509、ans.1的轻量级编解码。
资源推荐
资源详情
资源评论
收起资源包目录
polarssl-1.3.15源码 (699个子文件)
keyfile.3des 963B
keyfile.aes128 986B
keyfile.aes192 986B
keyfile.aes256 986B
ssl_tls.c 155KB
ssl_srv.c 110KB
ssl_cli.c 91KB
ssl_ciphersuites.c 72KB
x509_crt.c 60KB
ecp.c 58KB
ssl_server2.c 58KB
ecp_curves.c 51KB
bignum.c 50KB
aes.c 47KB
rsa.c 46KB
ssl_client2.c 44KB
error.c 37KB
pkparse.c 35KB
cipher_wrap.c 34KB
camellia.c 34KB
des.c 30KB
gcm.c 29KB
x509.c 28KB
benchmark.c 28KB
cipher.c 25KB
sha512.c 25KB
blowfish.c 25KB
ssl_mail_client.c 24KB
oid.c 23KB
cert_write.c 22KB
sha256.c 22KB
md_wrap.c 22KB
version_features.c 20KB
x509_crl.c 20KB
ripemd160.c 19KB
memory_buffer_alloc.c 19KB
ssl_test.c 18KB
aesni.c 18KB
sha1.c 17KB
md5.c 16KB
certs.c 16KB
ctr_drbg.c 15KB
crypt_and_hash.c 15KB
net.c 15KB
ssl_pthread_server.c 15KB
hmac_drbg.c 15KB
dhm.c 15KB
cert_app.c 14KB
x509write_crt.c 14KB
pkwrite.c 14KB
ecdsa.c 13KB
pk_wrap.c 13KB
pem.c 13KB
ccm.c 13KB
timing.c 12KB
md4.c 12KB
entropy.c 12KB
gen_key.c 12KB
ssl_fork_server.c 12KB
aescrypt2.c 12KB
x509_csr.c 11KB
pkcs5.c 11KB
key_app_writer.c 11KB
x509_create.c 11KB
ssl_server.c 11KB
cert_req.c 11KB
debug.c 10KB
pkcs12.c 10KB
md2.c 10KB
pk.c 10KB
asn1write.c 9KB
mini_client.c 9KB
asn1parse.c 9KB
havege.c 9KB
o_p_test.c 9KB
dh_server.c 9KB
ssl_client1.c 8KB
dh_client.c 8KB
md.c 8KB
key_app.c 8KB
ssl_cache.c 8KB
x509write_csr.c 8KB
base64.c 8KB
xtea.c 7KB
ssl_cert_test.c 7KB
ecdh.c 7KB
pem2der.c 7KB
ecdsa.c 6KB
pkcs11.c 6KB
selftest.c 6KB
generic_sum.c 6KB
rsa_genkey.c 5KB
dh_genprime.c 5KB
rsa_sign_pss.c 5KB
entropy_poll.c 5KB
pk_sign.c 5KB
rsa_decrypt.c 5KB
rsa_sign.c 5KB
rsa_encrypt.c 5KB
padlock.c 5KB
共 699 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- u0106909362018-09-27好用,值得学习。
- peri08982020-02-12值得借鉴学习
- ln_08072016-06-08很好,值得学习
- liyanjun3_12016-12-19不错啊!正式我想要的,谢谢分享
- dragonlong08082017-04-03编译bctoolbox 用到。很好
youguke1234
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功