[fltk] Revise (#51569)

This commit is contained in:
Kai Pastor 2026-05-07 20:18:23 +02:00 committed by GitHub
parent bc71aa640f
commit 4bc07e3eb0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 76 additions and 15 deletions

View File

@ -1,5 +1,5 @@
diff --git a/CMake/options.cmake b/CMake/options.cmake
index d1e299f..d20e9c8 100644
index d1e299f..3c996f8 100644
--- a/CMake/options.cmake
+++ b/CMake/options.cmake
@@ -101,11 +101,14 @@ endif ()
@ -56,6 +56,30 @@ index d1e299f..d20e9c8 100644
if (CMAKE_HAVE_THREADS_LIBRARY)
add_definitions ("-D_THREAD_SAFE -D_REENTRANT")
@@ -432,9 +436,9 @@ if (OPTION_USE_THREADS)
if (CMAKE_USE_PTHREADS_INIT AND NOT WIN32)
set (HAVE_PTHREAD 1)
if (NOT APPLE)
- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_THREAD_LIBS_INIT}")
endif (NOT APPLE)
- list (APPEND FLTK_LDLIBS -lpthread)
+ list (APPEND FLTK_LDLIBS "${CMAKE_THREAD_LIBS_INIT}")
list (APPEND FLTK_CFLAGS -D_THREAD_SAFE -D_REENTRANT)
set (FLTK_PTHREADS_FOUND TRUE)
else()
@@ -511,7 +515,10 @@ if (X11_Xft_FOUND)
endif (X11_Xft_FOUND)
if (OPTION_USE_XFT)
- set (USE_XFT X11_Xft_FOUND)
+ if (NOT X11_Xft_FOUND)
+ message(FATAL_ERROR "OPTION_USE_XFT is ON, but X11_Xft_FOUND is false.")
+ endif()
+ set (USE_XFT TRUE)
list (APPEND FLTK_LDLIBS -lXft)
set (FLTK_XFT_FOUND TRUE)
else()
diff --git a/CMake/resources.cmake b/CMake/resources.cmake
index a763fb6..5fdb3d5 100644
--- a/CMake/resources.cmake
@ -95,3 +119,40 @@ index a763fb6..5fdb3d5 100644
find_library (LIB_GL GL)
find_library (LIB_MesaGL MesaGL)
find_library (LIB_GLEW NAMES GLEW glew32)
diff --git a/CMake/variables.cmake b/CMake/variables.cmake
index 0360d06..606bb1f 100644
--- a/CMake/variables.cmake
+++ b/CMake/variables.cmake
@@ -82,8 +82,8 @@ if (FLTK_BUILTIN_JPEG_FOUND)
list (APPEND STATICIMAGELIBS \$libdir/libfltk_jpeg.a)
else ()
if (LIB_jpeg)
- list (APPEND IMAGELIBS -ljpeg)
- list (APPEND STATICIMAGELIBS -ljpeg)
+ list (APPEND IMAGELIBS "\$(\${PKG_CONFIG:-pkg-config} --libs libjpeg)")
+ list (APPEND STATICIMAGELIBS "\$(\${PKG_CONFIG:-pkg-config} --libs libjpeg)")
endif (LIB_jpeg)
endif (FLTK_BUILTIN_JPEG_FOUND)
@@ -92,8 +92,8 @@ if (FLTK_BUILTIN_PNG_FOUND)
list (APPEND STATICIMAGELIBS \$libdir/libfltk_png.a)
else ()
if (LIB_png)
- list (APPEND IMAGELIBS -lpng)
- list (APPEND STATICIMAGELIBS -lpng)
+ list (APPEND IMAGELIBS "\$(\${PKG_CONFIG:-pkg-config} --libs libpng)")
+ list (APPEND STATICIMAGELIBS "\$(\${PKG_CONFIG:-pkg-config} --libs libpng)")
endif (LIB_png)
endif (FLTK_BUILTIN_PNG_FOUND)
@@ -102,8 +102,8 @@ if (FLTK_BUILTIN_ZLIB_FOUND)
list (APPEND STATICIMAGELIBS \$libdir/libfltk_z.a)
else ()
if (LIB_zlib)
- list (APPEND IMAGELIBS -lz)
- list (APPEND STATICIMAGELIBS -lz)
+ list (APPEND IMAGELIBS "\$(\${PKG_CONFIG:-pkg-config} --libs zlib)")
+ list (APPEND STATICIMAGELIBS "\$(\${PKG_CONFIG:-pkg-config} --libs zlib)")
endif (LIB_zlib)
endif (FLTK_BUILTIN_ZLIB_FOUND)

View File

@ -2,13 +2,12 @@ diff --git a/CMake/fl_add_library.cmake b/CMake/fl_add_library.cmake
index 7e3490b..682a000 100644
--- a/CMake/fl_add_library.cmake
+++ b/CMake/fl_add_library.cmake
@@ -39,6 +39,11 @@ macro (FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES)
@@ -39,6 +39,10 @@ macro (FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES)
target_include_directories(${TARGET_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
+ if (APPLE)
+ find_library(Cocoa Cocoa)
+ target_link_libraries(${TARGET_NAME} $<$<PLATFORM_ID:Darwin>:${Cocoa}>)
+ target_link_libraries(${TARGET_NAME} "-framework Cocoa")
+ endif()
+
# target properties for all libraries

View File

@ -30,10 +30,7 @@ if(VCPKG_CROSSCOMPILING)
set(fluid_path_param "-DFLUID_PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/fltk/fluid${VCPKG_HOST_EXECUTABLE_SUFFIX}")
endif()
set(runtime_dll "ON")
if(VCPKG_CRT_LINKAGE STREQUAL "static")
set(runtime_dll "OFF")
endif()
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FLTK_MSVC_RUNTIME_DLL)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
@ -47,18 +44,15 @@ vcpkg_cmake_configure(
-DOPTION_USE_SYSTEM_LIBJPEG=ON
-DOPTION_BUILD_SHARED_LIBS=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=1
"-DCocoa:STRING=-framework Cocoa" # avoid absolute path
${fluid_path_param}
-DFLTK_MSVC_RUNTIME_DLL=${runtime_dll}
-DFLTK_MSVC_RUNTIME_DLL=${FLTK_MSVC_RUNTIME_DLL}
MAYBE_UNUSED_VARIABLES
Cocoa
FLTK_MSVC_RUNTIME_DLL
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup()
if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/fltk-config")
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}")

View File

@ -1,6 +1,7 @@
{
"name": "fltk",
"version": "1.3.11",
"port-version": 1,
"description": "FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.",
"homepage": "https://www.fltk.org/",
"license": null,

View File

@ -324,6 +324,7 @@ flashlight-sequence[cuda]:x86-windows=cascade
flashlight-sequence[openmp]:arm64-osx=feature-fails # No openmp on osx
flashlight-text[kenlm]:arm64-windows=cascade
fltk:arm64-linux=fail
fltk(android)=fail # needs X
fluidsynth[pulseaudio](android | osx | windows)=cascade
forge:arm64-linux=cascade
forge:x86-windows=fail

View File

@ -3110,7 +3110,7 @@
},
"fltk": {
"baseline": "1.3.11",
"port-version": 0
"port-version": 1
},
"fluidlite": {
"baseline": "2023-04-18",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "1fd82b793982e7541fd67ed94edcc7f8bd949601",
"version": "1.3.11",
"port-version": 1
},
{
"git-tree": "1aa2a3f1e9baf7547c85ff2a6899d98646e92d55",
"version": "1.3.11",