Change over to CMake based build.

This commit is contained in:
Richard Shaw 2020-05-10 10:45:05 -05:00
parent 04f1910977
commit 0191c85564
4 changed files with 50 additions and 124 deletions

View File

@ -1,58 +0,0 @@
diff -up fltk-1.3.4-1/fltk-config.in.fltk_config fltk-1.3.4-1/fltk-config.in
--- fltk-1.3.4-1/fltk-config.in.fltk_config 2016-01-30 20:49:56.000000000 -0600
+++ fltk-1.3.4-1/fltk-config.in 2017-03-04 12:29:28.910316677 -0600
@@ -44,8 +44,8 @@ CXX="@CXX@"
# flags for C++ compiler:
ARCHFLAGS="@ARCHFLAGS@"
-CFLAGS="@CFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@"
-CXXFLAGS="@CXXFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@"
+CFLAGS=""
+CXXFLAGS=""
LDFLAGS="@LDFLAGS@"
LDLIBS="@LIBS@"
OPTIM="@OPTIM@"
@@ -228,7 +228,7 @@ if test "$BINARY_DIR" != ""; then
includes="-I$BINARY_DIR $includes"
fi
-if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32; then
+if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32 -a "$libdir" != /usr/lib64; then
libs=-L$libdir
else
libs=
@@ -236,28 +236,28 @@ fi
# Calculate needed libraries
LDSTATIC="$libdir/libfltk.a $LDLIBS"
-LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+LDLIBS="-lfltk$SHAREDSUFFIX"
if test x$use_forms = xyes; then
LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
fi
if test x$use_gl = xyes; then
- LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+ LDLIBS="-lfltk_gl$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
fi
if test x$use_images = xyes; then
- LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+ LDLIBS="-lfltk_images$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
fi
if test x$use_cairo = xyes; then
- LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS"
+ LDLIBS="-lfltk_cairo$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC"
fi
-LDLIBS="$DSOLINK $LDFLAGS $libs $LDLIBS"
-LDSTATIC="$LDFLAGS $LDSTATIC"
+LDLIBS="$libs $LDLIBS"
+#LDSTATIC="$LDFLAGS $LDSTATIC"
# Answer to user requests
if test -n "$echo_help"; then

View File

@ -1,21 +0,0 @@
diff -up fltk-1.3.4-1/fluid/Makefile.x-fluid_mimetype fltk-1.3.4-1/fluid/Makefile
--- fltk-1.3.4-1/fluid/Makefile.x-fluid_mimetype 2016-07-17 14:51:54.000000000 -0500
+++ fltk-1.3.4-1/fluid/Makefile 2017-03-04 12:42:00.573346286 -0600
@@ -84,7 +84,7 @@ install-linux:
$(INSTALL_DATA) icons/fluid-$$size.png $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/fluid.png; \
done
-$(INSTALL_DIR) $(DESTDIR)/usr/share/mimelnk/application
- $(INSTALL_DATA) x-fluid.desktop $(DESTDIR)/usr/share/mimelnk/application
+ #$(INSTALL_DATA) x-fluid.desktop $(DESTDIR)/usr/share/mimelnk/application
install-osx:
echo Installing Fluid in $(DESTDIR)/Applications...
@@ -104,7 +104,7 @@ uninstall:
uninstall-linux:
$(RM) $(DESTDIR)/usr/share/applications/fluid.desktop
$(RM) $(DESTDIR)/usr/share/icons/hicolor/*/fluid.png
- $(RM) $(DESTDIR)/usr/share/mimelnk/application/x-fluid.desktop
+ #$(RM) $(DESTDIR)/usr/share/mimelnk/application/x-fluid.desktop
uninstall-osx:
$(RM) -r $(DESTDIR)/Applications/fluid.app

26
fltk-cmake.patch Normal file
View File

@ -0,0 +1,26 @@
Index: fltk-1.3.5/CMake/macros.cmake
===================================================================
--- fltk-1.3.5.orig/CMake/macros.cmake
+++ fltk-1.3.5/CMake/macros.cmake
@@ -38,7 +38,7 @@ macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIB
set_target_properties(${LIBRARY_NAME}
PROPERTIES
- OUTPUT_NAME ${LIBRARY_NAME}
+ OUTPUT_NAME ${LIBNAME}
DEBUG_OUTPUT_NAME ${LIBRARY_NAME_DEBUG}
CLEAN_DIRECT_OUTPUT TRUE
COMPILE_DEFINITIONS "FL_LIBRARY"
Index: fltk-1.3.5/CMake/setup.cmake
===================================================================
--- fltk-1.3.5.orig/CMake/setup.cmake
+++ fltk-1.3.5/CMake/setup.cmake
@@ -85,7 +85,7 @@ if(WIN32 AND NOT CYGWIN)
elseif(APPLE AND NOT OPTION_APPLE_X11)
set(FLTK_CONFIG_PATH FLTK/.framework/Resources/CMake)
else()
- set(FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk)
+ set(FLTK_CONFIG_PATH ${FLTK_DATADIR}/fltk CACHE FILEPATH "Install location for cmake files.")
endif(WIN32 AND NOT CYGWIN)
include(TestBigEndian)

View File

@ -1,8 +1,5 @@
#global snap r9671
# TODO:
# * port .spec to use cmake
# trim changelog included in binary rpms
%global _changelog_trimtime %(date +%s -d "1 year ago")
@ -23,17 +20,16 @@ Source0: http://fltk.org/pub/%{name}/%{version}/%{name}-%{version}-source
Source1: fltk-config.sh
## FIXME/TODO: upstream these asap -- Rex
# add lib64 support, drop extraneous libs (bug #708185) and ldflags (#1112930)
Patch1: fltk-1.3.4-fltk_config.patch
Patch0: fltk-cmake.patch
## upstream patches
## upstreamable patches
Patch100: fltk-1.3.4-x-fluid_mimetype.patch
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: doxygen
BuildRequires: texlive-latex
# fltk bug with pdf generation, investigate later
#BuildRequires: texlive-epstopdf
BuildRequires: libjpeg-devel
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(gl) pkgconfig(glu)
@ -83,35 +79,24 @@ Requires: %{name}-devel
%autosetup -p1
%endif
# verbose build output
sed -i.silent '\,^.SILENT:,d' makeinclude.in
autoconf
%build
# set DSOFLAGS too, used to link shlibs (LDFLAGS used only for static libs)
%{?__global_ldflags:DSOFLAGS="%{__global_ldflags}" ; export DSOFLAGS}
%configure \
--with-links \
--with-optim="%{optflags}" \
--disable-localjpeg \
--disable-localzlib \
--disable-localpng \
--enable-shared \
--enable-threads \
--enable-xdbe \
--enable-xinerama \
--enable-xft
mkdir build && pushd build
%cmake -DOPTION_BUILD_SHARED_LIBS=TRUE \
-DFLTK_CONFIG_PATH=%{_libdir}/cmake/fltk \
-DOpenGL_GL_PREFERENCE=GLVND \
-DOPTION_BUILD_HTML_DOCUMENTATION=ON \
-DOPTION_BUILD_PDF_DOCUMENTATION=OFF \
../
%make_build
make docs
%install
pushd build
%make_install
make install-linux -C fluid DESTDIR=$RPM_BUILD_ROOT
# we only apply this hack to multilib arch's
%ifarch x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparc
%global arch %(uname -i 2>/dev/null || echo undefined)
@ -120,14 +105,6 @@ mv $RPM_BUILD_ROOT%{_bindir}/fltk-config \
install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fltk-config
%endif
# docs
rm -rf __docs
mv $RPM_BUILD_ROOT%{_docdir}/fltk __docs
## unpackaged files
# errant docs
rm -rv $RPM_BUILD_ROOT%{_mandir}/cat*
%check
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop
@ -138,23 +115,25 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/fluid.desktop
%files
%doc ANNOUNCEMENT CHANGES CREDITS README
%license COPYING
%{_libdir}/libfltk.so.1.3
%{_libdir}/libfltk_forms.so.1.3
%{_libdir}/libfltk_gl.so.1.3
%{_libdir}/libfltk_images.so.1.3
%{_libdir}/libfltk.so.1.3*
%{_libdir}/libfltk_forms.so.1.3*
%{_libdir}/libfltk_gl.so.1.3*
%{_libdir}/libfltk_images.so.1.3*
%files devel
%doc __docs/*
%doc build/documentation/html
%{_bindir}/fltk-config
%{?arch:%{_bindir}/fltk-config-%{arch}}
%{_datadir}/mime/packages/fluid.xml
%{_includedir}/FL/
%{_includedir}/Fl
%{_libdir}/libfltk.so
%{_libdir}/libfltk_forms.so
%{_libdir}/libfltk_gl.so
%{_libdir}/libfltk_images.so
%{_libdir}/cmake/fltk/
%{_mandir}/man1/fltk-config.1*
%{_mandir}/man3/fltk.3*
%{_mandir}/man6/*.6*
%files static
%{_libdir}/libfltk.a