diff --git a/Common/GmshUI.h b/Common/GmshUI.h index 0e501fc37ffd78e831988b42b51175fb891003d6..bfc76a0553a163bae7b5ab2aff4b06c5e9a98225 100644 --- a/Common/GmshUI.h +++ b/Common/GmshUI.h @@ -30,4 +30,14 @@ # endif #endif +// Gmsh requires FLTK 1.1.5 or above (the new dynamic menus don't +// work with older FLTK versions due to a bug in Fl_Scroll.clear()) +#if (FL_MAJOR_VERSION == 1) && (FL_MINOR_VERSION == 1) +# if (FL_PATCH_VERSION < 5) +# error "Gmsh requires at least FLTK 1.1.5" +# endif +#else +# error "Gmsh requires FLTK branch 1.1" +#endif + #endif diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 771cf9f1512ead3845df788b62704259dbb36669..ba899d6e1ba06dfc38af55af4efc8562e100f9b7 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.353 2004-09-25 06:16:12 geuzaine Exp $ +// $Id: GUI.cpp,v 1.354 2004-09-28 17:13:48 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -108,7 +108,7 @@ Fl_Menu_Item m_menubar_table[] = { // menu window; removed File->Quit; changed capitalization to match // Apple's guidelines) -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) +#if defined(__APPLE__) Fl_Menu_Item m_sys_menubar_table[] = { {"File", 0, 0, 0, FL_SUBMENU}, {"New...", FL_CTRL+'n', (Fl_Callback *)file_new_cb, 0}, @@ -848,14 +848,14 @@ void GUI::create_menu_window(int argc, char **argv) int width = 14 * fontsize; // this is the initial height: no dynamic button is shown! -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) +#if defined(__APPLE__) if(CTX.system_menu_bar){ MH = BH + 6; // the menu bar is not in the application! } else{ #endif MH = BH + BH + 6; -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) +#if defined(__APPLE__) } #endif @@ -863,7 +863,7 @@ void GUI::create_menu_window(int argc, char **argv) m_window->box(WINDOW_BOX); m_window->callback(file_quit_cb); -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) +#if defined(__APPLE__) if(CTX.system_menu_bar){ // the system menubar is kind of a hack in fltk--it still creates // a real (invisible) menubar. So we make it a 1x1 pixel rectangle @@ -886,7 +886,7 @@ void GUI::create_menu_window(int argc, char **argv) Fl_Box *o = new Fl_Box(0, BH, width, BH + 6); o->box(FL_UP_BOX); y = BH + 3; -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) +#if defined(__APPLE__) } #endif diff --git a/Fltk/GUI.h b/Fltk/GUI.h index 3a35f8099f590c7d1a568dae63008a1f13e38999..b4a4543fad0029788571368281e92fd9db40ca54 100644 --- a/Fltk/GUI.h +++ b/Fltk/GUI.h @@ -46,6 +46,9 @@ #include <FL/Fl_Color_Chooser.H> #include <FL/fl_ask.H> #include <FL/Fl_Tooltip.H> +#if defined(__APPLE__) +#include <FL/Fl_Sys_Menu_Bar.H> +#endif #include <vector> @@ -53,10 +56,6 @@ #include "Colorbar_Window.h" #include "File_Picker.h" -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) -#include <FL/Fl_Sys_Menu_Bar.H> -#endif - // The dynamic contexts typedef struct{ @@ -136,7 +135,7 @@ public: // menu window Fl_Window *m_window ; -#if defined(__APPLE__) && defined(HAVE_FL_SYS_MENU_BAR) +#if defined(__APPLE__) Fl_Sys_Menu_Bar *m_sys_menu_bar ; #endif Fl_Menu_Bar *m_menu_bar ; diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp index df71aa48f668640cf1dbfd0527715bf92bd20fa2..ebf6de3ae2f4af7f9dd42cc2ee37ee2408f7cb97 100644 --- a/Fltk/Main.cpp +++ b/Fltk/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.71 2004-09-18 01:51:56 geuzaine Exp $ +// $Id: Main.cpp,v 1.72 2004-09-28 17:13:49 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -51,8 +51,8 @@ int main(int argc, char *argv[]) char *cmdline, currtime[100]; time_t now; - // log some info - + // Log some info + time(&now); strcpy(currtime, ctime(&now)); currtime[strlen(currtime) - 1] = '\0'; diff --git a/README b/README index d3d0fb0cc3181842295b194aaca823a6be9cf92d..40ea50a5d147306f7cd42932cf4c961c2ac9185d 100644 --- a/README +++ b/README @@ -9,14 +9,15 @@ make make install This requires GSL 1.2 or higher (freely available from -http://sources.redhat.com/gsl/) and FLTK 1.1.x (configured with OpenGL -support; freely available from http://www.fltk.org). You can use the ---with-fltk-prefix and --with-gsl-prefix configure options (or define -the FLTK_DIR and GSL_DIR environment variables) if the libraries are -not installed in their default locations. Please note that compiling -the Windows version requires the Cygwin tools (freely available from -http://www.cygwin.com) and a "cygwin-enabled" version of FLTK (i.e., -you have to configure FLTK with "./configure --enable-cygwin"). +http://sources.redhat.com/gsl/) and FLTK 1.1.5 or higher (configured +with OpenGL support; freely available from http://www.fltk.org). You +can use the --with-fltk-prefix and --with-gsl-prefix configure options +(or define the FLTK_DIR and GSL_DIR environment variables) if the +libraries are not installed in their default locations. Please note +that compiling the Windows version requires the Cygwin tools (freely +available from http://www.cygwin.com) and a "cygwin-enabled" version +of FLTK (i.e., you have to configure FLTK with "./configure +--enable-cygwin"). To install a non-graphical version of Gmsh (that does not require FLTK nor OpenGL), type diff --git a/configure b/configure index 782fd554d761f06e54b1d972d9bd8499c9c5ee68..c2a53868e93c8f41353ef3ebcd06a3fead3ca83d 100755 --- a/configure +++ b/configure @@ -849,7 +849,6 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-gsl use GSL as numerical toolkit (default=yes) --enable-gui build the graphical user interface (default=yes) - --enable-system-menubar use the system menu bar on MacOS X (default=no) --enable-parallel enable parallel version (default=no) --enable-triangle compile Triangle if available (default=yes) --enable-netgen compile Netgen if available (default=yes) @@ -857,8 +856,6 @@ Optional Features: --enable-jpeg enable JPEG support (default=yes) --enable-z enable ZLIB support (default=yes) --enable-png enable PNG support (default=yes) - --enable-static GCC only: build a statically linked executable - (default=no) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1340,11 +1337,6 @@ fi; if test "${enable_gui+set}" = set; then enableval="$enable_gui" -fi; -# Check whether --enable-system-menubar or --disable-system-menubar was given. -if test "${enable_system_menubar+set}" = set; then - enableval="$enable_system_menubar" - fi; # Check whether --enable-parallel or --disable-parallel was given. if test "${enable_parallel+set}" = set; then @@ -1380,15 +1372,9 @@ fi; if test "${enable_png+set}" = set; then enableval="$enable_png" -fi; -# Check whether --enable-static or --disable-static was given. -if test "${enable_static+set}" = set; then - enableval="$enable_static" - fi; UNAME=`uname` -UVERSION=`uname -r | sed -e '1,$s/[^0-9]//g'` if test "x${UNAME}" = "xIRIX64"; then UNAME="IRIX" fi @@ -3271,6 +3257,7 @@ fi echo "$as_me: error: Could not find fltk-config. Try --with-fltk-prefix?" >&2;} { (exit 1); exit 1; }; } fi + GMSH_LIBS="${GMSH_LIBS} `$FLTKCONFIG --use-gl --use-images --ldflags`" INCLS="${INCLS} `$FLTKCONFIG --use-gl --use-images --cxxflags`" @@ -3811,19 +3798,10 @@ if test "x$enable_parallel" = "xyes"; then FLAGS="-DHAVE_PARALLEL ${FLAGS}" fi -if test "x$enable_system_menubar" = "xyes"; then - FLAGS="-DHAVE_FL_SYS_MENU_BAR ${FLAGS}" -fi - LINKER="${CXX}" POSTBUILD="" -if test "x$enable_static" = "xyes"; then - GMSH_LIBS="${GMSH_LIBS} -ldl -lpthread -lm" - LINKER="${LINKER} -static" -else - GMSH_LIBS="${GMSH_LIBS} -lm" -fi +GMSH_LIBS="${GMSH_LIBS} -lm" case "$UNAME" in diff --git a/configure.in b/configure.in index 172b397c89673bc29134dd4c0c6fe120168cab0f..251af8d17418448b9d1798d74f29e21a520a5ff3 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $Id: configure.in,v 1.55 2004-07-01 17:37:22 geuzaine Exp $ +dnl $Id: configure.in,v 1.56 2004-09-28 17:13:48 geuzaine Exp $ dnl dnl Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle dnl @@ -57,9 +57,6 @@ AC_ARG_ENABLE(gsl, AC_ARG_ENABLE(gui, AC_HELP_STRING([--enable-gui], [build the graphical user interface (default=yes)])) -AC_ARG_ENABLE(system-menubar, - AC_HELP_STRING([--enable-system-menubar], - [use the system menu bar on MacOS X (default=no)])) AC_ARG_ENABLE(parallel, AC_HELP_STRING([--enable-parallel], [enable parallel version (default=no)])) @@ -81,13 +78,9 @@ AC_ARG_ENABLE(z, AC_ARG_ENABLE(png, AC_HELP_STRING([--enable-png], [enable PNG support (default=yes)])) -AC_ARG_ENABLE(static, - AC_HELP_STRING([--enable-static], - [GCC only: build a statically linked executable (default=no)])) dnl Get the operating system and version number UNAME=`uname` -UVERSION=`uname -r | sed -e '1,$s/[[^0-9]]//g'` if test "x${UNAME}" = "xIRIX64"; then UNAME="IRIX" fi @@ -148,6 +141,7 @@ if test "x$enable_gui" != "xno"; then if test "x$FLTKCONFIG" = "x"; then AC_MSG_ERROR([Could not find fltk-config. Try --with-fltk-prefix?]) fi + GMSH_LIBS="${GMSH_LIBS} `$FLTKCONFIG --use-gl --use-images --ldflags`" INCLS="${INCLS} `$FLTKCONFIG --use-gl --use-images --cxxflags`" @@ -342,22 +336,12 @@ if test "x$enable_parallel" = "xyes"; then FLAGS="-DHAVE_PARALLEL ${FLAGS}" fi -dnl Check if we should enable the system menu bar on MacOS X -if test "x$enable_system_menubar" = "xyes"; then - FLAGS="-DHAVE_FL_SYS_MENU_BAR ${FLAGS}" -fi - dnl Set default linker and post build action LINKER="${CXX}" POSTBUILD="" dnl Finish link line -if test "x$enable_static" = "xyes"; then - GMSH_LIBS="${GMSH_LIBS} -ldl -lpthread -lm" - LINKER="${LINKER} -static" -else - GMSH_LIBS="${GMSH_LIBS} -lm" -fi +GMSH_LIBS="${GMSH_LIBS} -lm" dnl Modify defaults according to OS case "$UNAME" in diff --git a/doc/VERSIONS b/doc/VERSIONS index 5bffa683d40d02b4c63526ae28f14cadb6d33922..8cf5e4bd3293efa6d3362646a2874736e4b22795 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,11 +1,12 @@ -$Id: VERSIONS,v 1.247 2004-09-18 20:25:26 geuzaine Exp $ +$Id: VERSIONS,v 1.248 2004-09-28 17:13:49 geuzaine Exp $ New since 1.55: new post-processing option to draw a scalar view raised by a displacement view without using Plugin(DisplacementRaise) (makes drawing arbitrary scalar fields on deformed meshes much easier); better post-processing menu (arbitrary number of -views+scrollable+show view number); improved view->combine; small bug -fixes. +views+scrollable+show view number); improved view->combine; Gmsh now +requires FLTK >= 1.1.5 (the scroll widget in FLTK < 1.1.5rc1 is +buggy); small bug fixes. New in 1.55: added background mesh support for Triangle; meshes can now be displayed using "smoothed" normals (like post-processing @@ -40,7 +41,7 @@ options can now be set in the option file (like all other options); added "undo" capability during geometry creation; rewrote the contour guessing routines so that entities can be selected in an arbitrary order; Mac users can now double click on geo/msh/pos files in the -Finder to launch Gmsh; removed support for fltk 1.0; rewrote most of +Finder to launch Gmsh; removed support for FLTK 1.0; rewrote most of the code related to quadrangles; fixed 2d elliptic algorithm; removed all OpenGL display list code and options; fixed light positioning; new BoundingBox command to set the bounding box explicitly; added support diff --git a/doc/gmsh.html b/doc/gmsh.html index db961e4cad0f19d3ce4ac276fa4ed83b51084f2c..e96b285cbcbbcaa5dfdcfd3732cd8412545b8c93 100644 --- a/doc/gmsh.html +++ b/doc/gmsh.html @@ -113,7 +113,7 @@ archives. <li><a href="/gmsh/bin/Linux/gmsh-1.55.2-1.i386.rpm">Linux RPM (i386, Red Hat >= 7.3)</a> <li><a href="/gmsh/bin/Linux/gmsh-1.55.2-Linux.tgz">Linux tarball (i386, glibc >= 2.2)</a> <li><a href="/gmsh/bin/MacOSX/gmsh-1.55.2-MacOSX.tgz">Mac OS X tarball (Mac OS X >= 10.2)</a> -<li><a href="/gmsh/src/gmsh-1.55.2-source.tgz">Source tarball (all platforms)</a> +<li><a href="/gmsh/src/gmsh-1.55.3-source.tgz">Source tarball (all platforms)</a> <a href="#build-footnote" name="build-footmark"><sup>2</sup></a> </ul> @@ -276,8 +276,8 @@ variable in order for Gmsh to find the libraries. <p> <a name="build-footnote"></a><a href="#build-footmark"><sup>2</sup></a>You need the <a -href="http://sources.redhat.com/gsl/">GSL (> 1.2)</a> and <a -href="http://www.fltk.org/">FLTK (1.1.x)</a> libraries properly +href="http://sources.redhat.com/gsl/">GSL (>= 1.2)</a> and <a +href="http://www.fltk.org/">FLTK (>= 1.1.5)</a> libraries properly installed on your system in order to compile Gmsh. Non-graphical versions can be compiled without FLTK. Compiling the Windows version requires the <a href="http://www.cygwin.com/">Cygwin</a> tools and