diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-06-12 15:52:37 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-06-14 11:55:53 +0200 |
| commit | 7d98413d4621b964105f346d9e5a2361a0ce9bfc (patch) | |
| tree | 56b6250e379217a67b5b67f71cd4d6409aa53557 /CMake/setup.cmake | |
| parent | 7104746413c6327d82340dede4abd06bb65f9032 (diff) | |
macOS 15.0 Sequoia: fix capture of window titlebars
The previous procedure using CGWindowListCreateImageFromArray()
is obsoleted in macOS 15.0 .
The new procedure requires an additional framework: ScreenCaptureKit;
FLTK uses it only for macOS ≥ 15.0
Diffstat (limited to 'CMake/setup.cmake')
| -rw-r--r-- | CMake/setup.cmake | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/CMake/setup.cmake b/CMake/setup.cmake index 5419fb7f2..04cc5d90a 100644 --- a/CMake/setup.cmake +++ b/CMake/setup.cmake @@ -123,23 +123,31 @@ if(APPLE) endif(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0)) else() set(FLTK_COCOA_FRAMEWORKS "-framework Cocoa") - set(UTI_CONDITION FALSE) + set(UTI_CONDITION FALSE) # TRUE when framework UniformTypeIdentifiers is used + set(SCK_CONDITION FALSE) # TRUE when framework ScreenCaptureKit is used string(LENGTH "${CMAKE_OSX_DEPLOYMENT_TARGET}" TARGET_LEN) string(LENGTH "${CMAKE_SYSTEM_VERSION}" SDK_LEN) if(TARGET_LEN GREATER 0) if( ${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_GREATER_EQUAL 11.0) set(UTI_CONDITION TRUE) endif() + if( ${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_GREATER_EQUAL 15.0) + set(SCK_CONDITION TRUE) + endif() elseif(SDK_LEN GREATER 0) if( ${CMAKE_SYSTEM_VERSION} VERSION_GREATER_EQUAL 20.0 ) set(UTI_CONDITION TRUE) endif() - endif() - if(UTI_CONDITION) # a.k.a. macOS version ≥ 11.0 - if (NOT (CMAKE_OSX_ARCHITECTURES STREQUAL "ppc" OR CMAKE_OSX_ARCHITECTURES STREQUAL "i386")) - list(APPEND FLTK_COCOA_FRAMEWORKS "-framework UniformTypeIdentifiers") + if( ${CMAKE_SYSTEM_VERSION} VERSION_GREATER_EQUAL 24.0 ) + set(SCK_CONDITION TRUE) endif() endif() + if(UTI_CONDITION) # a.k.a. macOS version ≥ 11.0 + list(APPEND FLTK_COCOA_FRAMEWORKS "-framework UniformTypeIdentifiers") + if(SCK_CONDITION) # a.k.a. macOS version ≥ 15.0 + list(APPEND FLTK_COCOA_FRAMEWORKS "-framework ScreenCaptureKit") + endif(SCK_CONDITION) + endif(UTI_CONDITION) endif(FLTK_BACKEND_X11) endif(APPLE) |
