This Trac instance is not used for development anymore!

We migrated our development workflow to git and Gitea.
To test the future redirection, replace trac by ariadne in the page URL.

source: ps/trunk/build/premake/premake5/contrib/mbedtls/tests/CMakeLists.txt

Last change on this file was 20366, checked in by Itms, 7 years ago

Alpha 12 version of Premake 5, including prebuilt binary for Windows.
Directly taken from https://premake.github.io/.

Refs #3729.

File size: 3.7 KB
Line 
1set(libs
2 mbedtls
3)
4
5if(USE_PKCS11_HELPER_LIBRARY)
6 set(libs ${libs} pkcs11-helper)
7endif(USE_PKCS11_HELPER_LIBRARY)
8
9if(ENABLE_ZLIB_SUPPORT)
10 set(libs ${libs} ${ZLIB_LIBRARIES})
11endif(ENABLE_ZLIB_SUPPORT)
12
13function(add_test_suite suite_name)
14 if(ARGV1)
15 set(data_name ${ARGV1})
16 else()
17 set(data_name ${suite_name})
18 endif()
19
20 add_custom_command(
21 OUTPUT test_suite_${data_name}.c
22 COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_code.pl ${CMAKE_CURRENT_SOURCE_DIR}/suites test_suite_${suite_name} test_suite_${data_name}
23 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_code.pl mbedtls suites/helpers.function suites/main_test.function suites/test_suite_${suite_name}.function suites/test_suite_${data_name}.data
24 )
25
26 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
27 add_executable(test_suite_${data_name} test_suite_${data_name}.c)
28 target_link_libraries(test_suite_${data_name} ${libs})
29 add_test(${data_name}-suite test_suite_${data_name})
30endfunction(add_test_suite)
31
32if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
33 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function")
34endif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
35
36if(MSVC)
37 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w") # no warnings here
38endif(MSVC)
39
40add_test_suite(aes aes.ecb)
41add_test_suite(aes aes.cbc)
42add_test_suite(aes aes.cfb)
43add_test_suite(aes aes.rest)
44add_test_suite(arc4)
45add_test_suite(asn1write)
46add_test_suite(base64)
47add_test_suite(blowfish)
48add_test_suite(camellia)
49add_test_suite(ccm)
50add_test_suite(cipher cipher.aes)
51add_test_suite(cipher cipher.arc4)
52add_test_suite(cipher cipher.blowfish)
53add_test_suite(cipher cipher.camellia)
54add_test_suite(cipher cipher.ccm)
55add_test_suite(cipher cipher.des)
56add_test_suite(cipher cipher.gcm)
57add_test_suite(cipher cipher.null)
58add_test_suite(cipher cipher.padding)
59add_test_suite(ctr_drbg)
60add_test_suite(debug)
61add_test_suite(des)
62add_test_suite(dhm)
63add_test_suite(ecdh)
64add_test_suite(ecdsa)
65add_test_suite(ecjpake)
66add_test_suite(ecp)
67add_test_suite(entropy)
68add_test_suite(error)
69add_test_suite(gcm gcm.aes128_en)
70add_test_suite(gcm gcm.aes192_en)
71add_test_suite(gcm gcm.aes256_en)
72add_test_suite(gcm gcm.aes128_de)
73add_test_suite(gcm gcm.aes192_de)
74add_test_suite(gcm gcm.aes256_de)
75add_test_suite(gcm gcm.camellia)
76add_test_suite(hmac_drbg hmac_drbg.misc)
77add_test_suite(hmac_drbg hmac_drbg.no_reseed)
78add_test_suite(hmac_drbg hmac_drbg.nopr)
79add_test_suite(hmac_drbg hmac_drbg.pr)
80add_test_suite(md)
81add_test_suite(mdx)
82add_test_suite(memory_buffer_alloc)
83add_test_suite(mpi)
84add_test_suite(pem)
85add_test_suite(pkcs1_v21)
86add_test_suite(pkcs5)
87add_test_suite(pk)
88add_test_suite(pkparse)
89add_test_suite(pkwrite)
90add_test_suite(shax)
91add_test_suite(ssl)
92add_test_suite(rsa)
93add_test_suite(version)
94add_test_suite(xtea)
95add_test_suite(x509parse)
96add_test_suite(x509write)
97
98# Make data_files available in an out-of-source build
99if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
100 # Get OS dependent path to use in `execute_process`
101 file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/data_files" link)
102 file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/data_files" target)
103
104 if (NOT EXISTS ${link})
105 if (CMAKE_HOST_UNIX)
106 set(command ln -s ${target} ${link})
107 else()
108 set(command cmd.exe /c mklink /d ${link} ${target})
109 endif()
110
111 execute_process(COMMAND ${command}
112 RESULT_VARIABLE result
113 ERROR_VARIABLE output)
114
115 if (NOT ${result} EQUAL 0)
116 message(FATAL_ERROR "Could not create symbolic link for: ${target} --> ${output}")
117 endif()
118 endif()
119endif()
120
Note: See TracBrowser for help on using the repository browser.