Paul Bakker | 3e72f6e | 2013-12-30 15:25:08 +0100 | [diff] [blame] | 1 | set(THREADS_USE_PTHREADS_WIN32 true) |
Paul Bakker | f9c4953 | 2013-12-19 15:40:58 +0100 | [diff] [blame] | 2 | find_package(Threads) |
| 3 | |
Paul Bakker | b06819b | 2011-01-18 16:18:38 +0000 | [diff] [blame] | 4 | set(libs |
Raef Coles | 995c66f | 2020-10-13 16:30:41 +0100 | [diff] [blame] | 5 | ${mbedtls_target} |
Paul Bakker | b06819b | 2011-01-18 16:18:38 +0000 | [diff] [blame] | 6 | ) |
| 7 | |
Ronald Cron | bfd45f1 | 2020-06-05 11:15:31 +0200 | [diff] [blame] | 8 | set(executables |
Manuel Pégourié-Gonnard | 216a183 | 2015-06-25 09:20:03 +0200 | [diff] [blame] | 9 | dtls_client |
| 10 | dtls_server |
Manuel Pégourié-Gonnard | 6f83025 | 2020-04-03 11:56:06 +0200 | [diff] [blame] | 11 | mini_client |
Manuel Pégourié-Gonnard | 216a183 | 2015-06-25 09:20:03 +0200 | [diff] [blame] | 12 | ssl_client1 |
| 13 | ssl_client2 |
Ronald Cron | 2773113 | 2020-06-05 11:51:28 +0200 | [diff] [blame] | 14 | ssl_context_info |
Manuel Pégourié-Gonnard | 216a183 | 2015-06-25 09:20:03 +0200 | [diff] [blame] | 15 | ssl_fork_server |
| 16 | ssl_mail_client |
Manuel Pégourié-Gonnard | 6f83025 | 2020-04-03 11:56:06 +0200 | [diff] [blame] | 17 | ssl_server |
Ronald Cron | 2773113 | 2020-06-05 11:51:28 +0200 | [diff] [blame] | 18 | ssl_server2 |
Paul Bakker | f9c4953 | 2013-12-19 15:40:58 +0100 | [diff] [blame] | 19 | ) |
| 20 | |
David Horstmann | a8d1406 | 2021-10-20 17:14:23 +0100 | [diff] [blame] | 21 | if(GEN_FILES) |
David Horstmann | d64f4b2 | 2021-10-20 12:29:47 +0100 | [diff] [blame] | 22 | # Inform CMake that the following file will be generated as part of the build |
Manuel Pégourié-Gonnard | e90e405 | 2021-09-08 13:27:09 +0200 | [diff] [blame] | 23 | # process, so it doesn't complain that it doesn't exist yet. Starting from |
| 24 | # CMake 3.20, this will no longer be necessary as CMake will automatically |
David Horstmann | d64f4b2 | 2021-10-20 12:29:47 +0100 | [diff] [blame] | 25 | # propagate this information across the tree, for now it's only visible |
Manuel Pégourié-Gonnard | e90e405 | 2021-09-08 13:27:09 +0200 | [diff] [blame] | 26 | # inside the same directory, so we need to propagate manually. |
| 27 | set_source_files_properties( |
| 28 | ${CMAKE_CURRENT_BINARY_DIR}/../test/query_config.c |
| 29 | PROPERTIES GENERATED TRUE) |
| 30 | endif() |
Manuel Pégourié-Gonnard | 86cfa6c | 2021-05-14 10:07:33 +0200 | [diff] [blame] | 31 | |
Ronald Cron | bfd45f1 | 2020-06-05 11:15:31 +0200 | [diff] [blame] | 32 | foreach(exe IN LISTS executables) |
David Brown | a8e309e | 2020-11-18 15:07:24 -0700 | [diff] [blame] | 33 | set(extra_sources "") |
| 34 | if(exe STREQUAL "ssl_client2" OR exe STREQUAL "ssl_server2") |
| 35 | list(APPEND extra_sources |
Manuel Pégourié-Gonnard | aedca0c | 2021-05-11 13:45:54 +0200 | [diff] [blame] | 36 | ssl_test_lib.c |
Manuel Pégourié-Gonnard | 86cfa6c | 2021-05-14 10:07:33 +0200 | [diff] [blame] | 37 | ${CMAKE_CURRENT_SOURCE_DIR}/../test/query_config.h |
| 38 | ${CMAKE_CURRENT_BINARY_DIR}/../test/query_config.c) |
David Brown | a8e309e | 2020-11-18 15:07:24 -0700 | [diff] [blame] | 39 | endif() |
| 40 | add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test> |
| 41 | ${extra_sources}) |
Ronald Cron | bfd45f1 | 2020-06-05 11:15:31 +0200 | [diff] [blame] | 42 | target_link_libraries(${exe} ${libs}) |
Ronald Cron | 8dc0af2 | 2020-06-05 16:00:22 +0200 | [diff] [blame] | 43 | target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include) |
Manuel Pégourié-Gonnard | 86cfa6c | 2021-05-14 10:07:33 +0200 | [diff] [blame] | 44 | if(exe STREQUAL "ssl_client2" OR exe STREQUAL "ssl_server2") |
David Horstmann | a8d1406 | 2021-10-20 17:14:23 +0100 | [diff] [blame] | 45 | if(GEN_FILES) |
Manuel Pégourié-Gonnard | e90e405 | 2021-09-08 13:27:09 +0200 | [diff] [blame] | 46 | add_dependencies(${exe} generate_query_config_c) |
| 47 | endif() |
Manuel Pégourié-Gonnard | 86cfa6c | 2021-05-14 10:07:33 +0200 | [diff] [blame] | 48 | target_include_directories(${exe} |
| 49 | PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../test) |
| 50 | endif() |
Ronald Cron | bfd45f1 | 2020-06-05 11:15:31 +0200 | [diff] [blame] | 51 | endforeach() |
Paul Bakker | b06819b | 2011-01-18 16:18:38 +0000 | [diff] [blame] | 52 | |
Paul Bakker | f9c4953 | 2013-12-19 15:40:58 +0100 | [diff] [blame] | 53 | if(THREADS_FOUND) |
Ronald Cron | 8dc0af2 | 2020-06-05 16:00:22 +0200 | [diff] [blame] | 54 | add_executable(ssl_pthread_server ssl_pthread_server.c $<TARGET_OBJECTS:mbedtls_test>) |
Mateusz Starzyk | 1aec646 | 2021-02-08 15:34:42 +0100 | [diff] [blame] | 55 | target_include_directories(ssl_pthread_server PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include) |
Paul Bakker | 3e72f6e | 2013-12-30 15:25:08 +0100 | [diff] [blame] | 56 | target_link_libraries(ssl_pthread_server ${libs} ${CMAKE_THREAD_LIBS_INIT}) |
Ronald Cron | bfd45f1 | 2020-06-05 11:15:31 +0200 | [diff] [blame] | 57 | list(APPEND executables ssl_pthread_server) |
Paul Bakker | f9c4953 | 2013-12-19 15:40:58 +0100 | [diff] [blame] | 58 | endif(THREADS_FOUND) |
| 59 | |
Ronald Cron | bfd45f1 | 2020-06-05 11:15:31 +0200 | [diff] [blame] | 60 | install(TARGETS ${executables} |
Paul Bakker | 547f73d | 2011-01-05 15:07:54 +0000 | [diff] [blame] | 61 | DESTINATION "bin" |
| 62 | PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) |