e90e405e15
When the option is On, CMake will have rules to generate the generated files using scripts etc. When the option is Off, CMake will assume the files are available from the source tree; in that mode, it won't require any extra tools (Perl for example) compared to when we committed the files to git. The intention is that users will never need to adjust this option: - in the development branch (and features branches etc.) the option is always On (development mode); - in released tarballs, which include the generated files, we'll switch the option to Off (release mode) in the same commit that re-adds the generated files. Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
45 lines
1.6 KiB
CMake
45 lines
1.6 KiB
CMake
set(executables
|
|
crypto_examples
|
|
key_ladder_demo
|
|
psa_constant_names
|
|
)
|
|
|
|
if(DEV_MODE)
|
|
add_custom_command(
|
|
OUTPUT
|
|
${CMAKE_CURRENT_BINARY_DIR}/psa_constant_names_generated.c
|
|
COMMAND
|
|
${PYTHON}
|
|
${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})
|
|
target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include)
|
|
endforeach()
|
|
|
|
target_include_directories(psa_constant_names PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
if(DEV_MODE)
|
|
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")
|