From 6e876de917fa27e9206249a97374ca858e8a2e4c Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sat, 12 Jan 2019 18:33:26 +0100 Subject: [PATCH 1/5] Add simplified Travis CI control file --- .travis.yml | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..70373b1f7 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,64 @@ +sudo: required +dist: trusty +cache: ccache + +language: + - c++ + +os: + - linux + - osx + +compiler: + - gcc + - clang + +env: + - | + DOC=false + +matrix: + include: + os: linux + compiler: clang + env: DOC=true + +branches: + only: + - branch-1.3 + +before_script: + - | + if [ $TRAVIS_OS_NAME == linux ]; then + sudo apt-get update -q + sudo apt-get install -y libxinerama-dev libxcursor-dev libasound2-dev + sudo apt-get install -y doxygen + elif [ $TRAVIS_OS_NAME == osx ]; then + brew install ccache # need to install on OSX + export PATH="/usr/local/opt/ccache/libexec:$PATH" + brew install doxygen + fi + +script: + - | + if [ $ANALYZE = "false" ]; then + autoconf + ./configure + make + mkdir cmake-build + cd cmake-build + cmake -G "Unix Makefiles" .. + make + fi + +after_success: + - | + if [ $DOC = "true" ]; then + doxygen --version + make html + fi + +notifications: + email: + recipients: + - albrechts.fltk@online.de From 09fba2aba1142075fc1a79c1e3cb4622b422d669 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sat, 12 Jan 2019 18:43:18 +0100 Subject: [PATCH 2/5] Update Travis CI control file --- .travis.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 70373b1f7..022e8c2f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,21 +41,23 @@ before_script: script: - | - if [ $ANALYZE = "false" ]; then - autoconf - ./configure - make - mkdir cmake-build - cd cmake-build - cmake -G "Unix Makefiles" .. - make - fi + date + make + date + mkdir cmake-build + cd cmake-build + cmake -G "Unix Makefiles" .. + date + make + date after_success: - | if [ $DOC = "true" ]; then doxygen --version + date make html + date fi notifications: From 995427f86c8d6cb2756bd4019038c2ff21b74032 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sat, 12 Jan 2019 19:01:30 +0100 Subject: [PATCH 3/5] Update Travis CI control file again --- .travis.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 022e8c2f5..e265e34ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,11 +29,11 @@ branches: before_script: - | - if [ $TRAVIS_OS_NAME == linux ]; then + if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q sudo apt-get install -y libxinerama-dev libxcursor-dev libasound2-dev sudo apt-get install -y doxygen - elif [ $TRAVIS_OS_NAME == osx ]; then + elif [ $TRAVIS_OS_NAME = osx ]; then brew install ccache # need to install on OSX export PATH="/usr/local/opt/ccache/libexec:$PATH" brew install doxygen @@ -50,13 +50,16 @@ script: date make date + cd - after_success: - | if [ $DOC = "true" ]; then doxygen --version date + cd documentation make html + cd - date fi From c35adb92c716867e86f5125b1baf97552fa0436f Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Thu, 17 Jan 2019 18:12:41 +0100 Subject: [PATCH 4/5] Fix dependencies (STR 3506) test/fracviewer.cxx wouldn't be compiled if the ABI version was changed with configure and `make' was executed w/o `make clean'. Add 'fracviewer.cxx' to list of source files to fix this. Also add missing unittest_scrollbarsize.cxx to dependencies of unittests.o. Finally run `makedepend' to update all dependencies. --- test/Makefile | 5 +++-- test/makedepend | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/test/Makefile b/test/Makefile index 6e6b174cf..16aa1eb5f 100644 --- a/test/Makefile +++ b/test/Makefile @@ -3,7 +3,7 @@ # # Test/example program makefile for the Fast Light Tool Kit (FLTK). # -# Copyright 1998-2010 by Bill Spitzak and others. +# Copyright 1998-2019 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 @@ -49,6 +49,7 @@ CPPFILES =\ fonts.cxx \ forms.cxx \ fractals.cxx \ + fracviewer.cxx \ fullscreen.cxx \ gl_overlay.cxx \ glpuzzle.cxx \ @@ -286,7 +287,7 @@ unittests$(EXEEXT): unittests.o unittests.o: unittests.cxx unittest_about.cxx unittest_points.cxx unittest_lines.cxx unittest_circles.cxx \ unittest_rects.cxx unittest_text.cxx unittest_symbol.cxx unittest_viewport.cxx unittest_images.cxx \ - unittest_schemes.cxx + unittest_schemes.cxx unittest_scrollbarsize.cxx adjuster$(EXEEXT): adjuster.o diff --git a/test/makedepend b/test/makedepend index c1d5a8a0f..bb9c2f978 100644 --- a/test/makedepend +++ b/test/makedepend @@ -284,6 +284,11 @@ fractals.o: ../FL/abi-version.h ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H fractals.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H fractals.o: ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/glu.h fractals.o: fracviewer.h ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/Fl_Window.H +fracviewer.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H +fracviewer.o: ../FL/abi-version.h ../FL/Fl_Export.H ../FL/fl_types.h +fracviewer.o: ../FL/Fl.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H +fracviewer.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H +fracviewer.o: ../FL/Fl_Image.H ../FL/glu.h fracviewer.h fullscreen.o: ../config.h ../FL/Fl.H ../FL/Fl_Export.H ../FL/fl_utf8.h fullscreen.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Enumerations.H fullscreen.o: ../FL/abi-version.h ../FL/Fl_Single_Window.H ../FL/Fl_Window.H From 9ed337d938a228b0f77555e93577e1d5dbcba16c Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sat, 19 Jan 2019 17:16:09 +0100 Subject: [PATCH 5/5] Improve ABI configuration documentation Add a note to rebuild everything after changing the ABI configuration. --- README.abi-version.txt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.abi-version.txt b/README.abi-version.txt index 51cd7984f..4be739d61 100644 --- a/README.abi-version.txt +++ b/README.abi-version.txt @@ -58,13 +58,16 @@ the version number. (1) Traditional configure + make (Unix, Linux, MinGW etc.) ---------------------------------------------------------- - Run + Run + make clean + ./configure --with-abiversion=10304 + make - ./configure --with-abiversion=10304 - make - - This will generate FL/abi-version.h and build FLTK as usual. + This will generate FL/abi-version.h and build FLTK as usual. + Note: you should always make sure that you compile everything from + scratch if you change the ABI version or any other configuration + options, e.g. with `make clean'. (2) CMake + make ---------------- @@ -104,6 +107,9 @@ the version number. will copy the file abi-version.ide to FL/abi-version.h and run the build with the defined ABI version. + Note: you should always make sure that you compile everything from + scratch if you change the ABI version or any other configuration + options, e.g. with "Clean all" or "Rebuild all" menu functions. Note on CMake: