mirror of
https://github.com/yuzu-mirror/mbedtls.git
synced 2026-01-06 08:40:14 +01:00
In cmake version < 3.0, the SOURCES property on targets cannot be
modified after the target is defined. There are several instances in
the code that were using `target_properties()`, which is not available
in the older versions of cmake. Unfortunately, the workaround in #3801
(381c1078fc) assumes that this SOURCES property can be modified.
Work around this by building up any necessary sources before declaring
the target. This is more awkward, but needed to continue to be able to
support the old versions of cmake.
Fixes #3788.
Signed-off-by: David Brown <david.brown@linaro.org>
53 lines
1.6 KiB
CMake
53 lines
1.6 KiB
CMake
set(THREADS_USE_PTHREADS_WIN32 true)
|
|
find_package(Threads)
|
|
|
|
set(libs
|
|
${mbedtls_target}
|
|
)
|
|
|
|
if(USE_PKCS11_HELPER_LIBRARY)
|
|
set(libs ${libs} pkcs11-helper)
|
|
endif(USE_PKCS11_HELPER_LIBRARY)
|
|
|
|
if(ENABLE_ZLIB_SUPPORT)
|
|
set(libs ${libs} ${ZLIB_LIBRARIES})
|
|
endif(ENABLE_ZLIB_SUPPORT)
|
|
|
|
set(executables
|
|
dtls_client
|
|
dtls_server
|
|
mini_client
|
|
ssl_client1
|
|
ssl_client2
|
|
ssl_context_info
|
|
ssl_fork_server
|
|
ssl_mail_client
|
|
ssl_server
|
|
ssl_server2
|
|
)
|
|
|
|
foreach(exe IN LISTS executables)
|
|
set(extra_sources "")
|
|
if(exe STREQUAL "ssl_client2" OR exe STREQUAL "ssl_server2")
|
|
list(APPEND extra_sources
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../test/query_config.c)
|
|
endif()
|
|
add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>
|
|
${extra_sources})
|
|
target_link_libraries(${exe} ${libs})
|
|
target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include)
|
|
endforeach()
|
|
|
|
set_property(TARGET ssl_client2 APPEND PROPERTY SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../test/query_config.c)
|
|
set_property(TARGET ssl_server2 APPEND PROPERTY SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/../test/query_config.c)
|
|
|
|
if(THREADS_FOUND)
|
|
add_executable(ssl_pthread_server ssl_pthread_server.c $<TARGET_OBJECTS:mbedtls_test>)
|
|
target_link_libraries(ssl_pthread_server ${libs} ${CMAKE_THREAD_LIBS_INIT})
|
|
list(APPEND executables ssl_pthread_server)
|
|
endif(THREADS_FOUND)
|
|
|
|
install(TARGETS ${executables}
|
|
DESTINATION "bin"
|
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
|