aboutsummaryrefslogtreecommitdiff
path: root/programs/psa/CMakeLists.txt
blob: a8e4b0e3727b9c80cdc3e601e13545f8192ef8d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
set(executables
    aead_demo
    crypto_examples
    hmac_demo
    key_ladder_demo
    psa_constant_names
    psa_hash
)

if(GEN_FILES)
    add_custom_command(
        OUTPUT
            ${CMAKE_CURRENT_BINARY_DIR}/psa_constant_names_generated.c
        COMMAND
            ${MBEDTLS_PYTHON_EXECUTABLE}
                ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/generate_psa_constants.py
                ${CMAKE_CURRENT_BINARY_DIR}
        WORKING_DIRECTORY
            ${CMAKE_CURRENT_SOURCE_DIR}/../..
        DEPENDS
            ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/generate_psa_constants.py
            ${CMAKE_CURRENT_SOURCE_DIR}/../../include/psa/crypto_values.h
            ${CMAKE_CURRENT_SOURCE_DIR}/../../include/psa/crypto_extra.h
    )
else()
    link_to_source(psa_constant_names_generated.c)
endif()

foreach(exe IN LISTS executables)
    add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
    target_link_libraries(${exe} ${mbedcrypto_target} ${CMAKE_THREAD_LIBS_INIT})
    target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include)
endforeach()

target_include_directories(psa_constant_names PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
if(GEN_FILES)
    add_custom_target(generate_psa_constant_names_generated_c
        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/psa_constant_names_generated.c)
    add_dependencies(psa_constant_names generate_psa_constant_names_generated_c)
endif()

install(TARGETS ${executables}
        DESTINATION "bin"
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

install(PROGRAMS
            key_ladder_demo.sh
        DESTINATION "bin")