1project(lws-crypto-cose-key C) 2cmake_minimum_required(VERSION 2.8.12) 3find_package(libwebsockets CONFIG REQUIRED) 4list(APPEND CMAKE_MODULE_PATH ${LWS_CMAKE_DIR}) 5include(CheckCSourceCompiles) 6include(LwsCheckRequirements) 7 8set(SAMP lws-crypto-cose-key) 9set(SRCS main.c) 10 11set(requirements 1) 12require_lws_config(LWS_WITH_COSE 1 requirements) 13 14if (requirements) 15 16 add_executable(${SAMP} ${SRCS}) 17 18 add_test(NAME crypto-cose-key-1 19 COMMAND lws-crypto-cose-key --stdin set1.cks ) 20 add_test(NAME crypto-cose-key-2 21 COMMAND lws-crypto-cose-key --kty EC2 --curve P-256 --kid ctest-256 --stdout ctest-ec-256.key) 22 add_test(NAME crypto-cose-key-3 23 COMMAND lws-crypto-cose-key --kty EC2 --curve P-384 --kid ctest-384 --stdout ctest-ec-384.key) 24 add_test(NAME crypto-cose-key-4 25 COMMAND lws-crypto-cose-key --kty EC2 --curve P-521 --kid ctest-512 --stdout ctest-ec-512.key) 26 add_test(NAME crypto-cose-key-5 27 COMMAND lws-crypto-cose-key --kty SYMMETRIC --bits 256 --stdout ctest-sym-256.key) 28 add_test(NAME crypto-cose-key-6 29 COMMAND lws-crypto-cose-key --kty RSA --bits 2048 --stdout ctest-rsa-2048.key) 30 add_test(NAME crypto-cose-key-7 31 COMMAND lws-crypto-cose-key --stdin ctest-rsa-2048.key) 32 33 set_tests_properties(crypto-cose-key-1 34 crypto-cose-key-2 35 crypto-cose-key-3 36 crypto-cose-key-4 37 crypto-cose-key-5 38 crypto-cose-key-6 39 crypto-cose-key-7 40 PROPERTIES 41 WORKING_DIRECTORY 42 ${CMAKE_SOURCE_DIR}/minimal-examples/crypto/minimal-crypto-cose-key 43 TIMEOUT 5) 44 45 set_tests_properties(crypto-cose-key-7 46 PROPERTIES 47 DEPENDS crypto-cose-key-6) 48 49 if (websockets_shared) 50 target_link_libraries(${SAMP} websockets_shared ${LIBWEBSOCKETS_DEP_LIBS}) 51 add_dependencies(${SAMP} websockets_shared) 52 else() 53 target_link_libraries(${SAMP} websockets ${LIBWEBSOCKETS_DEP_LIBS}) 54 endif() 55endif() 56