xref: /aosp_15_r20/external/mbedtls/programs/psa/CMakeLists.txt (revision 62c56f9862f102b96d72393aff6076c951fb8148)
1*62c56f98SSadaf Ebrahimiset(executables
2*62c56f98SSadaf Ebrahimi    aead_demo
3*62c56f98SSadaf Ebrahimi    crypto_examples
4*62c56f98SSadaf Ebrahimi    hmac_demo
5*62c56f98SSadaf Ebrahimi    key_ladder_demo
6*62c56f98SSadaf Ebrahimi    psa_constant_names
7*62c56f98SSadaf Ebrahimi)
8*62c56f98SSadaf Ebrahimi
9*62c56f98SSadaf Ebrahimiif(GEN_FILES)
10*62c56f98SSadaf Ebrahimi    add_custom_command(
11*62c56f98SSadaf Ebrahimi        OUTPUT
12*62c56f98SSadaf Ebrahimi            ${CMAKE_CURRENT_BINARY_DIR}/psa_constant_names_generated.c
13*62c56f98SSadaf Ebrahimi        COMMAND
14*62c56f98SSadaf Ebrahimi            ${MBEDTLS_PYTHON_EXECUTABLE}
15*62c56f98SSadaf Ebrahimi                ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/generate_psa_constants.py
16*62c56f98SSadaf Ebrahimi                ${CMAKE_CURRENT_BINARY_DIR}
17*62c56f98SSadaf Ebrahimi        WORKING_DIRECTORY
18*62c56f98SSadaf Ebrahimi            ${CMAKE_CURRENT_SOURCE_DIR}/../..
19*62c56f98SSadaf Ebrahimi        DEPENDS
20*62c56f98SSadaf Ebrahimi            ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/generate_psa_constants.py
21*62c56f98SSadaf Ebrahimi            ${CMAKE_CURRENT_SOURCE_DIR}/../../include/psa/crypto_values.h
22*62c56f98SSadaf Ebrahimi            ${CMAKE_CURRENT_SOURCE_DIR}/../../include/psa/crypto_extra.h
23*62c56f98SSadaf Ebrahimi    )
24*62c56f98SSadaf Ebrahimielse()
25*62c56f98SSadaf Ebrahimi    link_to_source(psa_constant_names_generated.c)
26*62c56f98SSadaf Ebrahimiendif()
27*62c56f98SSadaf Ebrahimi
28*62c56f98SSadaf Ebrahimiforeach(exe IN LISTS executables)
29*62c56f98SSadaf Ebrahimi    add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
30*62c56f98SSadaf Ebrahimi    target_link_libraries(${exe} ${mbedcrypto_target})
31*62c56f98SSadaf Ebrahimi    target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include)
32*62c56f98SSadaf Ebrahimiendforeach()
33*62c56f98SSadaf Ebrahimi
34*62c56f98SSadaf Ebrahimitarget_include_directories(psa_constant_names PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
35*62c56f98SSadaf Ebrahimiif(GEN_FILES)
36*62c56f98SSadaf Ebrahimi    add_custom_target(generate_psa_constant_names_generated_c
37*62c56f98SSadaf Ebrahimi        DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/psa_constant_names_generated.c)
38*62c56f98SSadaf Ebrahimi    add_dependencies(psa_constant_names generate_psa_constant_names_generated_c)
39*62c56f98SSadaf Ebrahimiendif()
40*62c56f98SSadaf Ebrahimi
41*62c56f98SSadaf Ebrahimiinstall(TARGETS ${executables}
42*62c56f98SSadaf Ebrahimi        DESTINATION "bin"
43*62c56f98SSadaf Ebrahimi        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
44*62c56f98SSadaf Ebrahimi
45*62c56f98SSadaf Ebrahimiinstall(PROGRAMS
46*62c56f98SSadaf Ebrahimi            key_ladder_demo.sh
47*62c56f98SSadaf Ebrahimi        DESTINATION "bin")
48