| cmake_minimum_required(VERSION 3.5.1) |
| |
| # |
| # Simulate configuring and building Mbed TLS as the user might do it. We'll |
| # skip installing it, and use the build directory directly instead. |
| # |
| |
| set(MbedTLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../..") |
| set(MbedTLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/mbedtls") |
| |
| execute_process( |
| COMMAND "${CMAKE_COMMAND}" |
| "-H${MbedTLS_SOURCE_DIR}" |
| "-B${MbedTLS_BINARY_DIR}" |
| "-DENABLE_PROGRAMS=NO" |
| "-DENABLE_TESTING=NO" |
| # Turn on generated files explicitly in case this is a release |
| "-DGEN_FILES=ON") |
| |
| execute_process( |
| COMMAND "${CMAKE_COMMAND}" |
| --build "${MbedTLS_BINARY_DIR}") |
| |
| # |
| # Locate the package. |
| # |
| |
| set(MbedTLS_DIR "${MbedTLS_BINARY_DIR}/cmake") |
| find_package(MbedTLS REQUIRED) |
| |
| # |
| # At this point, the Mbed TLS targets should have been imported, and we can now |
| # link to them from our own program. |
| # |
| |
| add_executable(cmake_package cmake_package.c) |
| target_link_libraries(cmake_package |
| MbedTLS::mbedcrypto MbedTLS::mbedtls MbedTLS::mbedx509) |