Merge pull request #3897 from d3zd3z/fix-cmake28

cmake: Fix added sources to targets
This commit is contained in:
Ronald Cron 2021-01-26 13:35:56 +01:00 committed by GitHub
commit ddb3bd57d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 13 deletions

View file

@ -32,20 +32,24 @@ set(executables_with_common_c
foreach(exe IN LISTS executables_no_common_c executables_with_common_c)
add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
set(exe_sources ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
if(NOT FUZZINGENGINE_LIB)
target_link_libraries(${exe} ${libs})
set_property(TARGET ${exe} APPEND PROPERTY SOURCES onefile.c)
else()
target_link_libraries(${exe} ${libs} FuzzingEngine)
SET_TARGET_PROPERTIES(${exe} PROPERTIES LINKER_LANGUAGE CXX)
list(APPEND exe_sources onefile.c)
endif()
# This emulates "if ( ... IN_LIST ... )" which becomes available in CMake 3.3
list(FIND executables_with_common_c ${exe} exe_index)
if(${exe_index} GREATER -1)
set_property(TARGET ${exe} APPEND PROPERTY SOURCES common.c)
list(APPEND exe_sources common.c)
endif()
add_executable(${exe} ${exe_sources})
if (NOT FUZZINGENGINE_LIB)
target_link_libraries(${exe} ${libs})
else()
target_link_libraries(${exe} ${libs} FuzzingEngine)
SET_TARGET_PROPERTIES(${exe} PROPERTIES LINKER_LANGUAGE CXX)
endif()
endforeach()

View file

@ -27,7 +27,13 @@ set(executables
)
foreach(exe IN LISTS executables)
add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
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()

View file

@ -26,7 +26,13 @@ if(TEST_CPP)
endif()
foreach(exe IN LISTS executables_libs executables_mbedcrypto)
add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
set(extra_sources "")
if(exe STREQUAL "query_compile_time_config")
list(APPEND extra_sources
${CMAKE_CURRENT_SOURCE_DIR}/query_config.c)
endif()
add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>
${extra_sources})
# This emulates "if ( ... IN_LIST ... )" which becomes available in CMake 3.3
list(FIND executables_libs ${exe} exe_index)
@ -37,9 +43,6 @@ foreach(exe IN LISTS executables_libs executables_mbedcrypto)
endif()
endforeach()
set_property(TARGET query_compile_time_config APPEND PROPERTY SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/query_config.c)
install(TARGETS ${executables_libs} ${executables_mbedcrypto}
DESTINATION "bin"
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)