blob: e0e5adecd1728efed654615c0f5c16d08d3b472f [file] [log] [blame]
David Horstmannde527fb2023-09-28 17:52:52 +01001set(everest_target "${MBEDTLS_TARGET_PREFIX}everest")
2
3add_library(${everest_target}
Chris Kayd259e342021-03-25 16:03:25 +00004 library/everest.c
5 library/x25519.c
6 library/Hacl_Curve25519_joined.c)
Christoph M. Wintersteigerea243942019-01-07 14:12:25 +00007
David Horstmannde527fb2023-09-28 17:52:52 +01008target_include_directories(${everest_target}
Chris Kayd259e342021-03-25 16:03:25 +00009 PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
10 $<BUILD_INTERFACE:${MBEDTLS_DIR}/include>
11 $<INSTALL_INTERFACE:include>
12 PRIVATE include/everest
13 include/everest/kremlib
14 ${MBEDTLS_DIR}/library/)
Christoph M. Wintersteiger6e0cac12019-02-22 17:02:12 +000015
David Horstmannbf66b752023-10-02 10:46:59 +010016# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE
17# This must be duplicated from library/CMakeLists.txt because
18# everest is not directly linked against any mbedtls targets
19# so does not inherit the compile definitions.
20if(MBEDTLS_CONFIG_FILE)
David Horstmann3c33cb52023-10-06 11:48:44 +010021 target_compile_definitions(${everest_target}
David Horstmannbf66b752023-10-02 10:46:59 +010022 PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}")
23endif()
24if(MBEDTLS_USER_CONFIG_FILE)
David Horstmann3c33cb52023-10-06 11:48:44 +010025 target_compile_definitions(${everest_target}
David Horstmannbf66b752023-10-02 10:46:59 +010026 PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}")
27endif()
28
Ronald Cron00f5b8c2020-05-25 09:39:09 +020029if(INSTALL_MBEDTLS_HEADERS)
Christoph M. Wintersteigerea243942019-01-07 14:12:25 +000030
Ronald Cron00f5b8c2020-05-25 09:39:09 +020031 install(DIRECTORY include/everest
32 DESTINATION include
33 FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
34 DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
35 FILES_MATCHING PATTERN "*.h")
Christoph M. Wintersteiger6ea2dea12019-01-21 17:26:19 +000036
Ronald Cron00f5b8c2020-05-25 09:39:09 +020037endif(INSTALL_MBEDTLS_HEADERS)
Christoph M. Wintersteiger6ea2dea12019-01-21 17:26:19 +000038
David Horstmannde527fb2023-09-28 17:52:52 +010039install(TARGETS ${everest_target}
Chris Kayd259e342021-03-25 16:03:25 +000040 EXPORT MbedTLSTargets
Biswapriyo Nath0f2e87b2022-04-22 20:56:21 +053041 DESTINATION ${CMAKE_INSTALL_LIBDIR}
Chris Kayd259e342021-03-25 16:03:25 +000042 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)