fltk/CMake/variables.cmake
Albrecht Schlosser fc5f0c13f2 Fix fltk-config --use-images with local image libs (#689)
CMake only: replace wrong variable names with correct ones. Affected
were all image libraries (jpeg, png) and zlib.

These variables had been renamed in an earlier commit when lots of
CMake code had been rewritten.
2023-02-28 14:47:33 +01:00

165 lines
4.9 KiB
CMake

#
# This file sets variables for common use in export.cmake and install.cmake
# Written by Michael Surette
#
# Copyright 1998-2020 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
# file is missing or damaged, see the license at:
#
# https://www.fltk.org/COPYING.php
#
# Please see the following page on how to report bugs and issues:
#
# https://www.fltk.org/bugs.php
#
#######################################################################
set (DEBUG_VARIABLES_CMAKE 0)
if (DEBUG_VARIABLES_CMAKE)
message (STATUS "[** variables.cmake **]")
fl_debug_var (HAVE_DLSYM)
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)
fl_debug_var (FLTK_LDLIBS)
fl_debug_var (LIB_jpeg)
fl_debug_var (LIB_png)
fl_debug_var (LIB_zlib)
endif (DEBUG_VARIABLES_CMAKE)
#######################################################################
# add several libraries
# FIXME: libraries may need reordering.
# FIXME: check fontconfig conditions (only if Xft is used or ...)
if (WIN32)
list (APPEND FLTK_LDLIBS -lole32 -luuid -lcomctl32 -lws2_32)
elseif (APPLE AND NOT OPTION_APPLE_X11)
list (APPEND FLTK_LDLIBS "-framework Cocoa")
elseif (OPTION_USE_WAYLAND)
list (APPEND FLTK_LDLIBS "-lwayland-cursor -lwayland-client -lxkbcommon -ldbus-1")
if (OPTION_USE_SYSTEM_LIBDECOR)
list (APPEND FLTK_LDLIBS "-ldecor-0")
endif (OPTION_USE_SYSTEM_LIBDECOR)
else ()
list (APPEND FLTK_LDLIBS -lm)
endif (WIN32)
if (LIB_fontconfig)
list(APPEND FLTK_LDLIBS -lfontconfig)
endif (LIB_fontconfig)
# add "-ldl" or whatever is necessary according to CMake (CMAKE_DL_LIBS)
if (HAVE_DLSYM)
foreach (LIB ${CMAKE_DL_LIBS})
list (APPEND FLTK_LDLIBS "-l${LIB}")
endforeach ()
endif (HAVE_DLSYM)
#######################################################################
# Set variables for fltk-config (generated from fltk-config.in)
#######################################################################
# Variables in fltk-config.in (@VAR@) are used in configure(.ac)
# and in CMake so their names and usage must be synchronized.
# CMake generates two instances of fltk-config, one that can be used
# directly in the build tree (see export.cmake) and one that is copied
# to the installation directory (see install.cmake). Common variables
# should be set here, whereas variables with different values should
# be set in install.cmake or export.cmake, respectively.
if (WIN32)
set (LDFLAGS "${CMAKE_EXE_LINKER_FLAGS} -mwindows")
endif ()
set (IMAGELIBS)
set (STATICIMAGELIBS)
if (FLTK_USE_BUILTIN_JPEG)
list (APPEND IMAGELIBS -lfltk_jpeg)
list (APPEND STATICIMAGELIBS \$libdir/libfltk_jpeg.a)
else ()
if (LIB_jpeg)
list (APPEND IMAGELIBS -ljpeg)
list (APPEND STATICIMAGELIBS -ljpeg)
endif (LIB_jpeg)
endif (FLTK_USE_BUILTIN_JPEG)
if (FLTK_USE_BUILTIN_PNG)
list (APPEND IMAGELIBS -lfltk_png)
list (APPEND STATICIMAGELIBS \$libdir/libfltk_png.a)
else ()
if (LIB_png)
list (APPEND IMAGELIBS -lpng)
list (APPEND STATICIMAGELIBS -lpng)
endif (LIB_png)
endif (FLTK_USE_BUILTIN_PNG)
if (FLTK_USE_BUILTIN_ZLIB)
list (APPEND IMAGELIBS -lfltk_z)
list (APPEND STATICIMAGELIBS \$libdir/libfltk_z.a)
else ()
if (LIB_zlib)
list (APPEND IMAGELIBS -lz)
list (APPEND STATICIMAGELIBS -lz)
endif (LIB_zlib)
endif (FLTK_USE_BUILTIN_ZLIB)
string (REPLACE ";" " " IMAGELIBS "${IMAGELIBS}")
string (REPLACE ";" " " STATICIMAGELIBS "${STATICIMAGELIBS}")
#######################################################################
set (CC ${CMAKE_C_COMPILER})
set (CXX ${CMAKE_CXX_COMPILER})
set (ARCHFLAGS ${OPTION_ARCHFLAGS})
string(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_UPPER)
if (${BUILD_UPPER})
set (CFLAGS "${CMAKE_C_FLAGS_${BUILD_UPPER}} ${CFLAGS}")
endif (${BUILD_UPPER})
set (CFLAGS "${OPTION_OPTIM} ${CMAKE_C_FLAGS} ${CFLAGS}")
foreach (arg ${FLTK_CFLAGS})
set (CFLAGS "${CFLAGS} ${arg}")
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 ()
set (SHAREDSUFFIX "")
endif (${CMAKE_SYSTEM_NAME} STREQUAL "AIX")
if (DEBUG_VARIABLES_CMAKE)
message (STATUS "") # empty line
fl_debug_var (HAVE_DLSYM)
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)
fl_debug_var (FLTK_LDLIBS)
fl_debug_var (LIB_jpeg)
fl_debug_var (LIB_png)
fl_debug_var (LIB_zlib)
message (STATUS "[** end of variables.cmake **]")
endif (DEBUG_VARIABLES_CMAKE)
unset (DEBUG_VARIABLES_CMAKE)