xref: /aosp_15_r20/external/mbedtls/3rdparty/everest/CMakeLists.txt (revision 62c56f9862f102b96d72393aff6076c951fb8148)
1*62c56f98SSadaf Ebrahimiset(everest_target "${MBEDTLS_TARGET_PREFIX}everest")
2*62c56f98SSadaf Ebrahimi
3*62c56f98SSadaf Ebrahimiadd_library(${everest_target}
4*62c56f98SSadaf Ebrahimi  library/everest.c
5*62c56f98SSadaf Ebrahimi  library/x25519.c
6*62c56f98SSadaf Ebrahimi  library/Hacl_Curve25519_joined.c)
7*62c56f98SSadaf Ebrahimi
8*62c56f98SSadaf Ebrahimitarget_include_directories(${everest_target}
9*62c56f98SSadaf Ebrahimi  PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
10*62c56f98SSadaf Ebrahimi         $<BUILD_INTERFACE:${MBEDTLS_DIR}/include>
11*62c56f98SSadaf Ebrahimi         $<INSTALL_INTERFACE:include>
12*62c56f98SSadaf Ebrahimi  PRIVATE include/everest
13*62c56f98SSadaf Ebrahimi          include/everest/kremlib
14*62c56f98SSadaf Ebrahimi          ${MBEDTLS_DIR}/library/)
15*62c56f98SSadaf Ebrahimi
16*62c56f98SSadaf Ebrahimi# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE
17*62c56f98SSadaf Ebrahimi# This must be duplicated from library/CMakeLists.txt because
18*62c56f98SSadaf Ebrahimi# everest is not directly linked against any mbedtls targets
19*62c56f98SSadaf Ebrahimi# so does not inherit the compile definitions.
20*62c56f98SSadaf Ebrahimiif(MBEDTLS_CONFIG_FILE)
21*62c56f98SSadaf Ebrahimi    target_compile_definitions(${everest_target}
22*62c56f98SSadaf Ebrahimi        PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}")
23*62c56f98SSadaf Ebrahimiendif()
24*62c56f98SSadaf Ebrahimiif(MBEDTLS_USER_CONFIG_FILE)
25*62c56f98SSadaf Ebrahimi    target_compile_definitions(${everest_target}
26*62c56f98SSadaf Ebrahimi        PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}")
27*62c56f98SSadaf Ebrahimiendif()
28*62c56f98SSadaf Ebrahimi
29*62c56f98SSadaf Ebrahimiif(INSTALL_MBEDTLS_HEADERS)
30*62c56f98SSadaf Ebrahimi
31*62c56f98SSadaf Ebrahimi  install(DIRECTORY include/everest
32*62c56f98SSadaf Ebrahimi    DESTINATION include
33*62c56f98SSadaf Ebrahimi    FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
34*62c56f98SSadaf Ebrahimi    DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
35*62c56f98SSadaf Ebrahimi    FILES_MATCHING PATTERN "*.h")
36*62c56f98SSadaf Ebrahimi
37*62c56f98SSadaf Ebrahimiendif(INSTALL_MBEDTLS_HEADERS)
38*62c56f98SSadaf Ebrahimi
39*62c56f98SSadaf Ebrahimiinstall(TARGETS ${everest_target}
40*62c56f98SSadaf Ebrahimi  EXPORT MbedTLSTargets
41*62c56f98SSadaf Ebrahimi  DESTINATION ${CMAKE_INSTALL_LIBDIR}
42*62c56f98SSadaf Ebrahimi  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
43