summaryrefslogtreecommitdiff
path: root/CMake
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-06-12 15:52:37 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-06-14 11:55:53 +0200
commit7d98413d4621b964105f346d9e5a2361a0ce9bfc (patch)
tree56b6250e379217a67b5b67f71cd4d6409aa53557 /CMake
parent7104746413c6327d82340dede4abd06bb65f9032 (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')
-rw-r--r--CMake/setup.cmake18
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)