From cb399a57ffaff27051c70cd361b00b3f2ae4366a Mon Sep 17 00:00:00 2001 From: reuk Date: Wed, 21 Apr 2021 11:15:26 +0100 Subject: [PATCH] CMake: Link CoreServices weakly when building for iOS 11 or lower --- extras/Build/CMake/JUCEUtils.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake index b2d7a06f9f..d39b28e4b8 100644 --- a/extras/Build/CMake/JUCEUtils.cmake +++ b/extras/Build/CMake/JUCEUtils.cmake @@ -482,7 +482,14 @@ function(_juce_link_frameworks target visibility) find_library("juce_found_${framework}" "${framework}" REQUIRED) target_link_libraries("${target}" "${visibility}" "${juce_found_${framework}}") elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS") - target_link_libraries("${target}" "${visibility}" "-framework ${framework}") + # CoreServices is only available on iOS 12+, we must link it weakly on earlier platforms + if((framework STREQUAL "CoreServices") AND (CMAKE_OSX_DEPLOYMENT_TARGET LESS 12.0)) + set(framework_flags "-weak_framework ${framework}") + else() + set(framework_flags "-framework ${framework}") + endif() + + target_link_libraries("${target}" "${visibility}" "${framework_flags}") endif() endforeach() endfunction()