macOS + CMake: fix use of optional framework UniformTypeIdentifiers
This commit is contained in:
parent
6238ede94d
commit
70b84b491b
@ -123,7 +123,19 @@ if(APPLE)
|
||||
endif(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0))
|
||||
else()
|
||||
set(FLTK_COCOA_FRAMEWORKS "-framework Cocoa")
|
||||
if(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 20.0.0)) # a.k.a. macOS version ≥ 11.0
|
||||
set(UTI_CONDITION FALSE)
|
||||
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()
|
||||
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")
|
||||
endif()
|
||||
|
@ -532,7 +532,8 @@ static char *prepareMacFilter(int count, const char *filter, char **patterns) {
|
||||
- (void)control_allowed_types:(const char *)p
|
||||
{
|
||||
NSString *ext = [NSString stringWithUTF8String:p];
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_VERSION_11_0 && \
|
||||
MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_VERSION_11_0
|
||||
if (fl_mac_os_version >= 110000) {
|
||||
UTType *type = [UTType typeWithFilenameExtension:ext]; // 11.0 + framework UniformTypeIdentifiers
|
||||
[dialog setAllowedContentTypes:[NSArray arrayWithObject:type]]; // 11.0
|
||||
|
Loading…
Reference in New Issue
Block a user