45 lines
1.7 KiB
CMake
45 lines
1.7 KiB
CMake
function(LinkAppleFrameworks TARGET)
|
|
target_link_libraries(${TARGET}
|
|
PUBLIC "-framework CoreFoundation"
|
|
PUBLIC "-framework Foundation"
|
|
PUBLIC "-framework CoreImage"
|
|
PUBLIC "-framework CoreVideo"
|
|
PUBLIC "-framework CoreGraphics"
|
|
PUBLIC "-framework Metal"
|
|
PUBLIC "-framework MetalPerformanceShaders"
|
|
PUBLIC "-framework MetalKit"
|
|
PUBLIC "-framework IOSurface"
|
|
PUBLIC "-framework QuartzCore"
|
|
PUBLIC "-lstdc++"
|
|
PUBLIC c++
|
|
PUBLIC c
|
|
)
|
|
|
|
if(IOS)
|
|
target_link_libraries(${TARGET} PUBLIC "-framework ARKit")
|
|
endif()
|
|
|
|
# Locate system libraries on iOS
|
|
find_library(UIKIT UIKit)
|
|
find_library(FOUNDATION Foundation)
|
|
find_library(MOBILECORESERVICES MobileCoreServices)
|
|
find_library(CFNETWORK CFNetwork)
|
|
find_library(SYSTEMCONFIGURATION SystemConfiguration)
|
|
find_library(APPKIT AppKit)
|
|
find_library(IOSURFACE IOSurface)
|
|
find_library(QUARTZ Quartz)
|
|
|
|
# link the frameworks located above
|
|
if(IOS)
|
|
target_link_libraries(${TARGET} PUBLIC ${UIKIT})
|
|
target_link_libraries(${TARGET} PUBLIC ${MOBILECORESERVICES})
|
|
else()
|
|
target_link_libraries(${TARGET} PUBLIC ${APPKIT})
|
|
target_link_libraries(${TARGET} PUBLIC ${QUARTZ})
|
|
endif()
|
|
target_link_libraries(${TARGET} PUBLIC ${IOSURFACE})
|
|
target_link_libraries(${TARGET} PUBLIC ${FOUNDATION})
|
|
target_link_libraries(${TARGET} PUBLIC ${CFNETWORK})
|
|
target_link_libraries(${TARGET} PUBLIC ${SYSTEMCONFIGURATION})
|
|
endfunction()
|