FLTK logo

[master] 4742d83 - CMake for macOS platform: improve handling of -framework link arguments

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.commit  ]
 
Previous Message ]Next Message ]

[master] 4742d83 - CMake for macOS platform: improve handling of -framework link arguments "ManoloFLTK" 01:02 Mar 24  
 
commit 4742d830beb17bd92fed83eb58cede09bfddd576
Author:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
AuthorDate: Sun Mar 24 08:48:45 2024 +0100
Commit:     ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>
CommitDate: Sun Mar 24 08:48:45 2024 +0100

    CMake for macOS platform: improve handling of -framework link arguments

 CMake/fl_add_library.cmake | 9 +++------
 CMake/setup.cmake          | 6 ++----
 CMake/variables.cmake      | 7 +------
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git CMake/fl_add_library.cmake CMake/fl_add_library.cmake
index 3f57e7a..ebf9e28 100644
--- CMake/fl_add_library.cmake
+++ CMake/fl_add_library.cmake
@@ -153,12 +153,9 @@ function(fl_add_library LIBNAME LIBTYPE SOURCES)
     )
 
     if(APPLE AND NOT FLTK_BACKEND_X11)
-      target_link_libraries(${TARGET_NAME} PUBLIC "-framework Cocoa")
-      if(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 20.0.0)) # a.k.a. macOS version â?¥ 11.0
-        if (NOT (CMAKE_OSX_ARCHITECTURES STREQUAL "ppc" OR CMAKE_OSX_ARCHITECTURES STREQUAL "i386"))
-          target_link_libraries(${TARGET_NAME} PUBLIC "-framework UniformTypeIdentifiers")
-        endif()
-      endif()
+      foreach(item ${FLTK_COCOA_FRAMEWORKS})
+        target_link_libraries(${TARGET_NAME} PUBLIC "${item}")
+      endforeach()
     endif()
 
     # we must link fltk with cairo if Cairo or Wayland is enabled (or both)
diff --git CMake/setup.cmake CMake/setup.cmake
index 69835fc..ed00be3 100644
--- CMake/setup.cmake
+++ CMake/setup.cmake
@@ -124,12 +124,10 @@ if(APPLE)
       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LIBCPP_HAS_THREAD_API_PTHREAD")
     endif(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 17.0.0))
   else()
-    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework Cocoa")
-    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework Cocoa")
+    set(FLTK_COCOA_FRAMEWORKS "-framework Cocoa")
     if(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 20.0.0)) # a.k.a. macOS version â?¥ 11.0
       if (NOT (CMAKE_OSX_ARCHITECTURES STREQUAL "ppc" OR CMAKE_OSX_ARCHITECTURES STREQUAL "i386"))
-        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework UniformTypeIdentifiers")
-        set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework UniformTypeIdentifiers")
+        list(APPEND FLTK_COCOA_FRAMEWORKS "-framework UniformTypeIdentifiers")
       endif()
     endif()
   endif(FLTK_BACKEND_X11)
diff --git CMake/variables.cmake CMake/variables.cmake
index 981cd07..cbf6ffd 100644
--- CMake/variables.cmake
+++ CMake/variables.cmake
@@ -43,12 +43,7 @@ endif(DEBUG_VARIABLES_CMAKE)
 if(WIN32)
   list(APPEND FLTK_LDLIBS -lole32 -luuid -lcomctl32 -lws2_32)
 elseif(APPLE AND NOT FLTK_BACKEND_X11)
-  list(APPEND FLTK_LDLIBS "-framework Cocoa")
-  if(NOT(${CMAKE_SYSTEM_VERSION} VERSION_LESS 20.0.0)) # a.k.a. macOS version â?¥ 11.0
-    if (NOT (CMAKE_OSX_ARCHITECTURES STREQUAL "ppc" OR CMAKE_OSX_ARCHITECTURES STREQUAL "i386"))
-      list(APPEND FLTK_LDLIBS "-framework UniformTypeIdentifiers")
-    endif()
-  endif()
+  list(APPEND FLTK_LDLIBS ${FLTK_COCOA_FRAMEWORKS})
 elseif(FLTK_BACKEND_WAYLAND)
   list(APPEND FLTK_LDLIBS "-lwayland-cursor -lwayland-client -lxkbcommon -ldbus-1")
   if(USE_SYSTEM_LIBDECOR)
Direct Link to Message ]
 
     
Previous Message ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.