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()