mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2024-12-29 09:21:19 +00:00
bfd45f1f11
Use list of executables to: - factorize the code to define executables - highlight the similarities and differences of the executable definitions - avoid list duplication Use alphabetic order for executables in lists. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
52 lines
1.1 KiB
CMake
52 lines
1.1 KiB
CMake
set(libs
|
|
mbedtls
|
|
)
|
|
|
|
if(USE_PKCS11_HELPER_LIBRARY)
|
|
set(libs ${libs} pkcs11-helper)
|
|
endif(USE_PKCS11_HELPER_LIBRARY)
|
|
|
|
if(ENABLE_ZLIB_SUPPORT)
|
|
set(libs ${libs} ${ZLIB_LIBRARIES})
|
|
endif(ENABLE_ZLIB_SUPPORT)
|
|
|
|
find_library(FUZZINGENGINE_LIB FuzzingEngine)
|
|
if(FUZZINGENGINE_LIB)
|
|
project(fuzz CXX)
|
|
endif()
|
|
|
|
set(executables_no_common_c
|
|
fuzz_privkey
|
|
fuzz_pubkey
|
|
fuzz_x509crl
|
|
fuzz_x509crt
|
|
fuzz_x509csr
|
|
)
|
|
|
|
set(executables_with_common_c
|
|
fuzz_client
|
|
fuzz_dtlsclient
|
|
fuzz_dtlsserver
|
|
fuzz_server
|
|
)
|
|
|
|
foreach(exe IN LISTS executables_no_common_c executables_with_common_c)
|
|
|
|
add_executable(${exe} ${exe}.c)
|
|
|
|
if (NOT FUZZINGENGINE_LIB)
|
|
target_link_libraries(${exe} ${libs})
|
|
target_sources(${exe} PRIVATE onefile.c)
|
|
else()
|
|
target_link_libraries(${exe} ${libs} FuzzingEngine)
|
|
SET_TARGET_PROPERTIES(${exe} PROPERTIES LINKER_LANGUAGE CXX)
|
|
endif()
|
|
|
|
# This emulates "if ( ... IN_LIST ... )" which becomes available in CMake 3.3
|
|
list(FIND executables_with_common_c ${exe} exe_index)
|
|
if (${exe_index} GREATER -1)
|
|
target_sources(${exe} PRIVATE common.c)
|
|
endif()
|
|
|
|
endforeach()
|