summaryrefslogtreecommitdiff
path: root/CMake/variables.cmake
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2024-04-14 19:05:39 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2024-04-14 19:15:08 +0200
commitb4cf1a9824f2c4ba9596044962d3af36e3ca3d99 (patch)
tree4a0e7b9867f2c39412e29df51e519ac0e3d4582d /CMake/variables.cmake
parent5417ea5f1f33f62e2511bda74477da05dce900a3 (diff)
Fix and improve generation of fltk-config (#954 and more)
Parts of this commit fix the usage of CMake targets in the generation process of fltk-config modified by PR #954. The rest improves handling of variables used to generate fltk-config, removes obsolete comments, documents variables like GLLIBS etc. which had to be done anyway.
Diffstat (limited to 'CMake/variables.cmake')
-rw-r--r--CMake/variables.cmake30
1 files changed, 18 insertions, 12 deletions
diff --git a/CMake/variables.cmake b/CMake/variables.cmake
index 20a36eda8..cb5d62481 100644
--- a/CMake/variables.cmake
+++ b/CMake/variables.cmake
@@ -24,7 +24,6 @@ if(DEBUG_VARIABLES_CMAKE)
fl_debug_var(CMAKE_DL_LIBS)
fl_debug_var(CMAKE_EXE_LINKER_FLAGS)
fl_debug_var(LDFLAGS)
- fl_debug_var(LIBS)
fl_debug_var(GLLIBS)
fl_debug_var(IMAGELIBS)
fl_debug_var(STATICIMAGELIBS)
@@ -45,9 +44,11 @@ if(WIN32)
elseif(APPLE AND NOT FLTK_BACKEND_X11)
list(APPEND FLTK_LDLIBS ${FLTK_COCOA_FRAMEWORKS})
elseif(FLTK_BACKEND_WAYLAND)
- list(APPEND FLTK_LDLIBS PkgConfig::WLDCURSOR PkgConfig::WLDCLIENT PkgConfig::XKBCOMMON PkgConfig::DBUS)
+ foreach(_lib WLDCURSOR WLDCLIENT XKBCOMMON DBUS)
+ list(APPEND FLTK_LDLIBS "${${_lib}_LDFLAGS}")
+ endforeach()
if(USE_SYSTEM_LIBDECOR)
- list(APPEND FLTK_LDLIBS PkgConfig::SYSTEM_LIBDECOR)
+ list(APPEND FLTK_LDLIBS ${SYSTEM_LIBDECOR_LDFLAGS})
endif(USE_SYSTEM_LIBDECOR)
else()
list(APPEND FLTK_LDLIBS -lm)
@@ -115,8 +116,19 @@ else()
endif(LIB_zlib)
endif(FLTK_USE_BUNDLED_ZLIB)
-string(REPLACE ";" " " IMAGELIBS "${IMAGELIBS}")
-string(REPLACE ";" " " STATICIMAGELIBS "${STATICIMAGELIBS}")
+# remove duplicates from CMake "list" variables for fltk-config
+
+list(REMOVE_DUPLICATES GLLIBS)
+list(REMOVE_DUPLICATES FLTK_LDLIBS)
+list(REMOVE_DUPLICATES IMAGELIBS)
+list(REMOVE_DUPLICATES STATICIMAGELIBS)
+
+# convert CMake lists to strings with spaces for fltk-config
+
+string(REPLACE ";" " " GLLIBS "${GLLIBS}")
+string(REPLACE ";" " " LIBS "${FLTK_LDLIBS}")
+string(REPLACE ";" " " IMAGELIBS "${IMAGELIBS}")
+string(REPLACE ";" " " STATICIMAGELIBS "${STATICIMAGELIBS}")
#######################################################################
set(CC ${CMAKE_C_COMPILER})
@@ -136,12 +148,6 @@ endforeach(arg ${FLTK_CFLAGS})
set(CXXFLAGS "${CFLAGS}")
-foreach(arg ${FLTK_LDLIBS})
- set(LINK_LIBS "${LINK_LIBS} ${arg}")
-endforeach(arg ${FLTK_LDLIBS})
-
-set(LIBS "${LINK_LIBS}")
-
if(${CMAKE_SYSTEM_NAME} STREQUAL "AIX")
set(SHAREDSUFFIX "_s")
else()
@@ -154,11 +160,11 @@ if(DEBUG_VARIABLES_CMAKE)
fl_debug_var(CMAKE_DL_LIBS)
fl_debug_var(CMAKE_EXE_LINKER_FLAGS)
fl_debug_var(LDFLAGS)
+ fl_debug_var(FLTK_LDLIBS)
fl_debug_var(LIBS)
fl_debug_var(GLLIBS)
fl_debug_var(IMAGELIBS)
fl_debug_var(STATICIMAGELIBS)
- fl_debug_var(FLTK_LDLIBS)
fl_debug_var(LIB_jpeg)
fl_debug_var(LIB_png)
fl_debug_var(LIB_zlib)