David Horstmann | de527fb | 2023-09-28 17:52:52 +0100 | [diff] [blame] | 1 | set(everest_target "${MBEDTLS_TARGET_PREFIX}everest") |
| 2 | |
| 3 | add_library(${everest_target} |
Chris Kay | d259e34 | 2021-03-25 16:03:25 +0000 | [diff] [blame] | 4 | library/everest.c |
| 5 | library/x25519.c |
| 6 | library/Hacl_Curve25519_joined.c) |
Christoph M. Wintersteiger | ea24394 | 2019-01-07 14:12:25 +0000 | [diff] [blame] | 7 | |
David Horstmann | de527fb | 2023-09-28 17:52:52 +0100 | [diff] [blame] | 8 | target_include_directories(${everest_target} |
Chris Kay | d259e34 | 2021-03-25 16:03:25 +0000 | [diff] [blame] | 9 | 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. Wintersteiger | 6e0cac1 | 2019-02-22 17:02:12 +0000 | [diff] [blame] | 15 | |
David Horstmann | bf66b75 | 2023-10-02 10:46:59 +0100 | [diff] [blame] | 16 | # 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. |
| 20 | if(MBEDTLS_CONFIG_FILE) |
David Horstmann | 3c33cb5 | 2023-10-06 11:48:44 +0100 | [diff] [blame] | 21 | target_compile_definitions(${everest_target} |
David Horstmann | bf66b75 | 2023-10-02 10:46:59 +0100 | [diff] [blame] | 22 | PUBLIC MBEDTLS_CONFIG_FILE="${MBEDTLS_CONFIG_FILE}") |
| 23 | endif() |
| 24 | if(MBEDTLS_USER_CONFIG_FILE) |
David Horstmann | 3c33cb5 | 2023-10-06 11:48:44 +0100 | [diff] [blame] | 25 | target_compile_definitions(${everest_target} |
David Horstmann | bf66b75 | 2023-10-02 10:46:59 +0100 | [diff] [blame] | 26 | PUBLIC MBEDTLS_USER_CONFIG_FILE="${MBEDTLS_USER_CONFIG_FILE}") |
| 27 | endif() |
| 28 | |
Ronald Cron | 00f5b8c | 2020-05-25 09:39:09 +0200 | [diff] [blame] | 29 | if(INSTALL_MBEDTLS_HEADERS) |
Christoph M. Wintersteiger | ea24394 | 2019-01-07 14:12:25 +0000 | [diff] [blame] | 30 | |
Ronald Cron | 00f5b8c | 2020-05-25 09:39:09 +0200 | [diff] [blame] | 31 | 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. Wintersteiger | 6ea2dea1 | 2019-01-21 17:26:19 +0000 | [diff] [blame] | 36 | |
Ronald Cron | 00f5b8c | 2020-05-25 09:39:09 +0200 | [diff] [blame] | 37 | endif(INSTALL_MBEDTLS_HEADERS) |
Christoph M. Wintersteiger | 6ea2dea1 | 2019-01-21 17:26:19 +0000 | [diff] [blame] | 38 | |
David Horstmann | de527fb | 2023-09-28 17:52:52 +0100 | [diff] [blame] | 39 | install(TARGETS ${everest_target} |
Chris Kay | d259e34 | 2021-03-25 16:03:25 +0000 | [diff] [blame] | 40 | EXPORT MbedTLSTargets |
Biswapriyo Nath | 0f2e87b | 2022-04-22 20:56:21 +0530 | [diff] [blame] | 41 | DESTINATION ${CMAKE_INSTALL_LIBDIR} |
Chris Kay | d259e34 | 2021-03-25 16:03:25 +0000 | [diff] [blame] | 42 | PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) |