From fb6460bc8c9bc6df440f5b280383dcecc2e6e126 Mon Sep 17 00:00:00 2001 From: Khara Halliwell Date: Wed, 27 Aug 2025 17:06:16 +1000 Subject: [PATCH 1/2] use find_package for fltk on linux --- CMakeLists.txt | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 961217f..dd80008 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ set(FLTKINCDIR "" CACHE PATH "Path to FLTK include directory (optional if FLTKDI set(FLTKLIBDIR "" CACHE PATH "Path to FLTK lib directory (optional if FLTKDIR is set)") # Fallback logic -if(NOT FLTKINCDIR) +if(APPLE AND NOT FLTKINCDIR) if(FLTKDIR) set(FLTKINCDIR ${FLTKDIR}) else() @@ -43,7 +43,7 @@ if(NOT FLTKINCDIR) endif() endif() -if(NOT FLTKLIBDIR) +if(APPLE AND NOT FLTKLIBDIR) if(FLTKDIR) set(FLTKLIBDIR ${FLTKDIR}) else() @@ -144,17 +144,9 @@ elseif(WIN32) target_link_options(${PROJECT_NAME} PRIVATE ${LINKER_FLAGS}) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) elseif(LINUX) - target_link_libraries(${PROJECT_NAME} PRIVATE - ${FLTKLIBDIR}/lib/libfltk.a - ${FLTKLIBDIR}/lib/libfltk_images.a - ${FLTKLIBDIR}/lib/libfltk_z.a - Xft - fontconfig - Xrender - X11 - pthread - dl - ) + set(FLTK_DIR ${FLTKLIBDIR}) + find_package(FLTK 1.4 CONFIG REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE fltk::fltk fltk::images) endif() From e715d6ab85bd31966c512d7fc67f707287bda0de Mon Sep 17 00:00:00 2001 From: Khara Halliwell Date: Wed, 27 Aug 2025 17:20:13 +1000 Subject: [PATCH 2/2] fix fallback logic --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dd80008..4037e55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,18 +35,18 @@ set(FLTKINCDIR "" CACHE PATH "Path to FLTK include directory (optional if FLTKDI set(FLTKLIBDIR "" CACHE PATH "Path to FLTK lib directory (optional if FLTKDIR is set)") # Fallback logic -if(APPLE AND NOT FLTKINCDIR) +if(NOT FLTKINCDIR) if(FLTKDIR) set(FLTKINCDIR ${FLTKDIR}) - else() + elseif(APPLE) message(FATAL_ERROR "Please set either FLTKINCDIR or FLTKDIR.") endif() endif() -if(APPLE AND NOT FLTKLIBDIR) +if(NOT FLTKLIBDIR) if(FLTKDIR) set(FLTKLIBDIR ${FLTKDIR}) - else() + elseif(APPLE) message(FATAL_ERROR "Please set either FLTKLIBDIR or FLTKDIR.") endif() endif()