DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2088
Version: 1.3-current


- configh.cmake.in synced with configh.in
  - minimal version of cmake set to 2.4. Used feature: 
      cmakedefine01
        {{{ #cmakedefine01 FOO }}}
        expands to
        {{{ #define FOO 0 }}}
        even if FOO isn't set in cmake scripts.
- added the utf8 sources to the build 

Tested build on linux-x86_64 and with MS.VS2005 on WinXP-32

Best,
 -- Maik

PS: This is a subset of what I have at my hard disk.  Thinks to come are
  - XFT: Works: Needs cmake-2.6, since FindX11.cmake knows XFT as off
cmake-2.6 (current debian stable(Etch) ships cmake-2.4. Lenny will ship
cmake-2.6.  Ubuntu 8.10 ships cmake-2.6).
  - Cairo:  Works.
  - Replace deprecated INSTALL statement:  Done.
  - Show headers in VS: Done. (TODO: Works in XCode as well?)
  - Doxygen generation: Works.
  - Doxygen output to pdf: Works.
  - Write cmake commands lower case to make it more readable: Done.
  - Cleanup and refactoring of cmake scripts: Started.. 
    - use "elseif(..)" (new in cmake-2.6)
    - use 
        list(APPEND MYVARIABLE ...) 
      rather than 
        set(MYVARIABLE ${MYVARIABLE} ...)


Link: http://www.fltk.org/str.php?L2088
Version: 1.3-current
diff --git a/CMakeLists.txt b/CMakeLists.txt
old mode 100644
new mode 100755
index 24826da..fbe59b2
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@
 # Written by Andy Cedilnik and Julien Jomier
 
 PROJECT(FLTK)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.0)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
 
 # The FLTK version
 SET(FLTK_VERSION_MAJOR "1")
@@ -43,35 +43,40 @@ IF(WIN32)
       SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
     ELSE(BORLAND)
       SET( FLTK_PLATFORM_DEPENDENT_LIBS comctl32 )
+           ADD_DEFINITIONS(
+        -D_CRT_SECURE_NO_DEPRECATE
+        -DWIN32_LEAN_AND_MEAN
+        -DWIN32_EXTRA_LEAN
+      )
     ENDIF(BORLAND)
   ENDIF(NOT CYGWIN)
 ENDIF(WIN32)
 
-SET(FLTK_X11 1)
-SET(FLTK_APPLE 0)
 IF(APPLE)
+  SET(USE_X11 1)
   OPTION(FLTK_APPLE_X11 "Use X11 on Mac instead of Carbon" OFF)
   MARK_AS_ADVANCED(FLTK_APPLE_X11)
   IF(NOT FLTK_APPLE_X11)
     SET(FLTK_APPLE 1)
-    SET(FLTK_X11 0)
+    SET(USE_X11)
     OPTION(FLTK_QUARTZ "Use Quartz instead of Quickdraw" OFF)
   ENDIF(NOT FLTK_APPLE_X11)
 ENDIF(APPLE)
 
 IF(UNIX)
   FIND_PACKAGE(X11)
-  SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
+  SET(USE_X11 1)
+  SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} m)
 ENDIF(UNIX)
 
 IF(APPLE AND NOT FLTK_APPLE_X11)
   SET( FLTK_PLATFORM_DEPENDENT_LIBS
-    "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
+    "-framework Carbon -framework Cocoa -framework ApplicationServices z")
 ENDIF(APPLE AND NOT FLTK_APPLE_X11)
 
 IF(CYGWIN)
   ADD_DEFINITIONS(-DWIN32)  
-  SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 supc++ -lm -lgdi32)
+  SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 supc++ m gdi32)
 ENDIF(CYGWIN)
 
 IF(MINGW)
@@ -87,16 +92,20 @@ MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
     SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${FILE})
   ENDIF(${VARIABLE})
 ENDMACRO(CHECK_INCLUDE_FILE_CONCAT)
-CHECK_INCLUDE_FILE_CONCAT("GL/glu.h"       HAVE_GL_GLU_H)
-CHECK_INCLUDE_FILE_CONCAT("OpenGL/glu.h"   HAVE_OPENGL_GLU_H)
-CHECK_INCLUDE_FILE_CONCAT("dirent.h"       HAVE_DIRENT_H)
-CHECK_INCLUDE_FILE_CONCAT("stdio.h"        HAVE_STDIO_H)
-CHECK_INCLUDE_FILE_CONCAT("strings.h"      HAVE_STRINGS_H)
-CHECK_INCLUDE_FILE_CONCAT("sys/dir.h"      HAVE_SYS_DIR_H)
-CHECK_INCLUDE_FILE_CONCAT("sys/ndir.h"     HAVE_SYS_NDIR_H)
-CHECK_INCLUDE_FILE_CONCAT("sys/select.h"   HAVE_SYS_SELECT_H)
+CHECK_INCLUDE_FILE_CONCAT("windows.h" HAVE_WINDOWS_H)
+CHECK_INCLUDE_FILE_CONCAT("GL/glu.h" HAVE_GL_GLU_H)
+CHECK_INCLUDE_FILE_CONCAT("OpenGL/glu.h" HAVE_OPENGL_GLU_H)
+CHECK_INCLUDE_FILE_CONCAT("dirent.h" HAVE_DIRENT_H)
+CHECK_INCLUDE_FILE_CONCAT("dlfcn.h" HAVE_DLFCN_H)
+CHECK_INCLUDE_FILE_CONCAT("stdio.h" HAVE_STDIO_H)
+CHECK_INCLUDE_FILE_CONCAT("locale.h" HAVE_LOCALE_H)
+CHECK_INCLUDE_FILE_CONCAT("strings.h" HAVE_STRINGS_H)
+CHECK_INCLUDE_FILE_CONCAT("alsa/asoundlib.h" HAVE_ALSA_ASOUNDLIB_H)
+CHECK_INCLUDE_FILE_CONCAT("sys/dir.h" HAVE_SYS_DIR_H)
+CHECK_INCLUDE_FILE_CONCAT("sys/ndir.h" HAVE_SYS_NDIR_H)
+CHECK_INCLUDE_FILE_CONCAT("sys/select.h" HAVE_SYS_SELECT_H)
 CHECK_INCLUDE_FILE_CONCAT("sys/stdtypes.h" HAVE_SYS_STDTYPES_H)
-CHECK_INCLUDE_FILE("pthread.h"      CMAKE_HAVE_PTHREAD_H)
+CHECK_INCLUDE_FILES("pthread.h" HAVE_PTHREAD_H)
 
 FIND_PACKAGE(ZLIB)
 FIND_PACKAGE(PNG)
@@ -105,13 +114,22 @@ FIND_PACKAGE(JPEG)
 INCLUDE(CheckSymbolExists)
 INCLUDE(CheckFunctionWithHeaderExists)
 
-CHECK_FUNCTIONWITHHEADER_EXISTS("int strcasecmp()"  "${PROJECT_INCLUDES}" 
HAVE_STRCASECMP)
+IF(WIN32)
+       set(HAVE_STRCASECMP 1) # provided by flstring.h
+ELSE(WIN32)
+  CHECK_FUNCTION_EXISTS("strcasecmp" HAVE_STRCASECMP)
+ENDIF(WIN32)
+
+CHECK_SYMBOL_EXISTS(strlcat "${PROJECT_INCLUDES}" HAVE_STRLCAT)
+CHECK_SYMBOL_EXISTS(strlcpy "${PROJECT_INCLUDES}" HAVE_STRLCPY)
+CHECK_SYMBOL_EXISTS(vsnprintf "${PROJECT_INCLUDES}" HAVE_VSNPRINTF)
+CHECK_SYMBOL_EXISTS(snprintf "${PROJECT_INCLUDES}" HAVE_SNPRINTF)
+CHECK_SYMBOL_EXISTS(scandir "${PROJECT_INCLUDES}" HAVE_SCANDIR)
+CHECK_SYMBOL_EXISTS(strtoll "${PROJECT_INCLUDES}" HAVE_STRTOLL)
+CHECK_SYMBOL_EXISTS(localeconv "${PROJECT_INCLUDES}" HAVE_LOCALECONV)
+CHECK_LIBRARY_EXISTS(dl dlsym "${PROJECT_INCLUDES}" HAVE_DLSYM)
+CHECK_LIBRARY_EXISTS(gl glXGetProcAddressARB  "${PROJECT_INCLUDES}" 
HAVE_GLXGETPROCADDRESSARB)
 
-CHECK_SYMBOL_EXISTS(strlcat       "${PROJECT_INCLUDES}" HAVE_STRLCAT)
-CHECK_SYMBOL_EXISTS(strlcpy       "${PROJECT_INCLUDES}" HAVE_STRLCPY)
-CHECK_SYMBOL_EXISTS(vsnprintf     "${PROJECT_INCLUDES}" HAVE_VSNPRINTF)
-CHECK_SYMBOL_EXISTS(snprintf      "${PROJECT_INCLUDES}" HAVE_SNPRINTF)
-CHECK_SYMBOL_EXISTS(scandir       "${PROJECT_INCLUDES}" HAVE_SCANDIR)
 
 INCLUDE(CheckTypeSize)
 
@@ -247,6 +265,8 @@ ENDIF(FLTK_USE_SYSTEM_PNG)
 
 SET(FLTK_DATADIR "${CMAKE_INSTALL_PREFIX}/share/FLTK")
 SET(FLTK_DOCDIR  "${CMAKE_INSTALL_PREFIX}/share/doc/FLTK")
+SET(BORDER_WIDTH 2)
+SET(USE_COLORMAP 1)
 
 # Write out configuration header file
 CONFIGURE_FILE(${FLTK_SOURCE_DIR}/configh.cmake.in
diff --git a/configh.cmake.in b/configh.cmake.in
index 1230d64..baa43fc 100644
--- a/configh.cmake.in
+++ b/configh.cmake.in
@@ -1,10 +1,10 @@
 /*
- * "$Id: configh.cmake.in 6108 2008-04-22 18:11:51Z matt $"
+ * "$Id: configh.in 6462 2008-10-19 01:42:35Z fabien $"
  *
  * Configuration file for the Fast Light Tool Kit (FLTK).
  * @configure_input@
  *
- * Copyright 1998-2008 by Bill Spitzak and others.
+ * Copyright 1998-2007 by Bill Spitzak and others.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -21,15 +21,17 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  * USA.
  *
- * Please report all bugs and problems to "[EMAIL PROTECTED]".
+ * Please report all bugs and problems on the following page:
+ *
+ *     http://www.fltk.org/str.php
  */
 
 /*
  * Where to find files...
  */
 
-#define FLTK_DATADIR   "@FLTK_DATADIR@"
-#define FLTK_DOCDIR    "@FLTK_DOCDIR@"
+#define FLTK_DATADIR "@FLTK_DATADIR@"
+#define FLTK_DOCDIR "@FLTK_DOCDIR@"
 
 /*
  * BORDER_WIDTH:
@@ -45,7 +47,7 @@
  * using Fl::set_boxtype().
  */
 
-#define BORDER_WIDTH 2
+#define BORDER_WIDTH @BORDER_WIDTH@
 
 /*
  * HAVE_GL:
@@ -54,7 +56,7 @@
  * OpenGL, and FLTK will be smaller.
  */
 
-#define HAVE_GL @HAVE_GL@
+#cmakedefine01 HAVE_GL
 
 /*
  * HAVE_GL_GLU_H:
@@ -63,7 +65,15 @@
  * (many broken Mesa RPMs do not...)
  */
 
-#cmakedefine HAVE_GL_GLU_H @HAVE_GL_GLU_H@
+#cmakedefine HAVE_GL_GLU_H 1
+
+/*
+ * HAVE_GLXGETPROCADDRESSARB:
+ *
+ * Do you have the OpenGL glXGetProcAddressARB() function?
+ */
+
+#cmakedefine HAVE_GLXGETPROCADDRESSARB 1
 
 /*
  * USE_COLORMAP:
@@ -72,7 +82,15 @@
  * fl_draw_image), but FLTK will only work on TrueColor visuals.
  */
 
-#define USE_COLORMAP 1
+#cmakedefine01 USE_COLORMAP
+
+/*
+ * HAVE_XINERAMA
+ *
+ * Do we have the Xinerama library to support multi-head displays?
+ */
+
+#cmakedefine01 HAVE_XINERAMA
 
 /*
  * USE_XFT
@@ -80,7 +98,7 @@
  * Use the new Xft library to draw anti-aliased text.
  */
 
-#define USE_XFT 0
+#cmakedefine01 USE_XFT
 
 /*
  * HAVE_XDBE:
@@ -88,7 +106,7 @@
  * Do we have the X double-buffer extension?
  */
 
-#define HAVE_XDBE 0
+#cmakedefine01 HAVE_XDBE
 
 /*
  * USE_XDBE:
@@ -108,19 +126,19 @@
  * other operating systems.
  */
 
-#cmakedefine FLTK_APPLE
-#ifdef FLTK_APPLE
-  #cmakedefine FLTK_QUARTZ
-  #ifdef FLTK_QUARTZ
-    #define USE_QUARTZ 1
-    #define __APPLE_QUARTZ__
-    #undef __APPLE_QD__
-  #else
-    #define USE_QUARTZ 0
-    #undef __APPLE_QUARTZ__
-    #define __APPLE_QD__
-  #endif
-#endif
+#cmakedefine01 USE_QUARTZ
+#cmakedefine __APPLE_QUARTZ__ 1
+#cmakedefine __APPLE_QD__ 1
+
+
+/*
+ * USE_X11
+ *
+ * Should we use X11 for the current platform
+ *
+ */
+
+#cmakedefine USE_X11 1
 
 /*
  * HAVE_OVERLAY:
@@ -131,7 +149,7 @@
  * code from FLTK.  Overlays have only been tested on SGI servers!
  */
 
-#define HAVE_OVERLAY 0
+#cmakedefine01 HAVE_OVERLAY
 
 /*
  * HAVE_GL_OVERLAY:
@@ -148,7 +166,7 @@
  * Byte order of your machine: 1 = big-endian, 0 = little-endian.
  */
 
-#define WORDS_BIGENDIAN 0
+#cmakedefine01 WORDS_BIGENDIAN
 
 /*
  * U16, U32, U64:
@@ -167,34 +185,34 @@
  * Where is <dirent.h> (used only by fl_file_chooser and scandir).
  */
 
-#cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@
-#cmakedefine HAVE_SYS_NDIR_H @HAVE_SYS_NDIR_H@
-#cmakedefine HAVE_SYS_DIR_H @HAVE_SYS_DIR_H@
-#cmakedefine HAVE_NDIR_H @HAVE_NDIR_H@
-#cmakedefine HAVE_SCANDIR @HAVE_SCANDIR@
+#cmakedefine HAVE_DIRENT_H 1
+#cmakedefine HAVE_SYS_NDIR_H 1
+#cmakedefine HAVE_SYS_DIR_H 1
+#cmakedefine HAVE_NDIR_H 1
+#cmakedefine HAVE_SCANDIR 1
 
 /*
  * Possibly missing sprintf-style functions:
  */
 
-#cmakedefine HAVE_VSNPRINTF @HAVE_VSNPRINTF@
-#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@
+#cmakedefine HAVE_VSNPRINTF 1
+#cmakedefine HAVE_SNPRINTF 1
 
 /*
  * String functions and headers...
  */
 
-#cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@
-#cmakedefine HAVE_STRCASECMP @HAVE_STRCASECMP@
-#cmakedefine HAVE_STRLCAT @HAVE_STRLCAT@
-#cmakedefine HAVE_STRLCPY @HAVE_STRLCPY@
+#cmakedefine HAVE_STRINGS_H 1
+#cmakedefine HAVE_STRCASECMP 1 
+#cmakedefine HAVE_STRLCAT 1
+#cmakedefine HAVE_STRLCPY 1
 
 /*
- * 'locale' functions
+ * Do we have POSIX locale support?
  */
 
-#cmakedefine HAVE_LOCALE_H @HAVE_LOCALE_H@
-#cmakedefine HAVE_LOCALECONV @HAVE_LOCALECONV@
+#cmakedefine HAVE_LOCALE_H 1
+#cmakedefine HAVE_LOCALECONV 1
 
 /*
  * HAVE_SYS_SELECT_H:
@@ -202,7 +220,7 @@
  * Whether or not select() call has its own header file.
  */
 
-#cmakedefine HAVE_SYS_SELECT_H @HAVE_SYS_SELECT_H@
+#cmakedefine HAVE_SYS_SELECT_H 1
 
 /*
  * HAVE_SYS_STDTYPES_H:
@@ -210,7 +228,7 @@
  * Whether or not we have the <sys/stdtypes.h> header file.
  */
 
-#cmakedefine HAVE_SYS_STDTYPES_H @HAVE_SYS_STDTYPES_H@
+#cmakedefine HAVE_SYS_STDTYPES_H 1
 
 /*
  * USE_POLL:
@@ -218,48 +236,91 @@
  * Use the poll() call provided on Linux and Irix instead of select()
  */
 
-#define USE_POLL 0
+#cmakedefine01 USE_POLL
 
 /*
  * Do we have various image libraries?
  */
 
-#cmakedefine HAVE_LIBPNG @HAVE_LIBPNG@
-#cmakedefine HAVE_LIBZ @HAVE_LIBZ@
-#cmakedefine HAVE_LIBJPEG @HAVE_LIBJPEG@
+#cmakedefine HAVE_LIBPNG 1
+#cmakedefine HAVE_LIBZ 1
+#cmakedefine HAVE_LIBJPEG 1
+
+/*
+ * USE_CAIRO
+ *
+ * Do we have the cairo library available and want extended cairo use in fltk ?
+ * will implies to link cairo.lib in all fltk based apps.
+ */
+
+#cmakedefine USE_CAIRO 1
+
+/*
+ * HAVE_CAIRO
+ *
+ * Do we have the cairo library available?
+ */
+
+#cmakedefine HAVE_CAIRO 1
 
 /*
  * Which header file do we include for libpng?
  */
 
-#cmakedefine HAVE_PNG_H @HAVE_PNG_H@
-#cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@
+#cmakedefine HAVE_PNG_H 1
+#cmakedefine HAVE_LIBPNG_PNG_H 1
 
 /*
  * Do we have the png_xyz() functions?
  */
 
-#cmakedefine HAVE_PNG_GET_VALID @HAVE_PNG_GET_VALID@
-#cmakedefine HAVE_PNG_SET_TRNS_TO_ALPHA @HAVE_PNG_SET_TRNS_TO_ALPHA@
+#cmakedefine HAVE_PNG_GET_VALID 1
+#cmakedefine HAVE_PNG_SET_TRNS_TO_ALPHA 1
 
 /*
  * Do we have POSIX threading?
  */
 
-#cmakedefine CMAKE_USE_PTHREADS
-#ifdef CMAKE_USE_PTHREADS
-#define HAVE_PTHREAD 1
-#else
-#define HAVE_PTHREAD 0
-#endif
+#cmakedefine HAVE_PTHREAD 1
+#cmakedefine HAVE_PTHREAD_H 1
 
-#cmakedefine CMAKE_HAVE_PTHREAD_H
-#ifdef CMAKE_HAVE_PTHREAD_H
-#define HAVE_PTHREAD_H 1
+/*
+ * Do we have the ALSA library?
+ */
+
+#cmakedefine HAVE_ALSA_ASOUNDLIB_H 1
+
+/*
+ * Do we have the long long type?
+ */
+
+#cmakedefine HAVE_LONG_LONG 1
+
+#ifdef HAVE_LONG_LONG
+#  define FLTK_LLFMT   "%lld"
+#  define FLTK_LLCAST  (long long)
 #else
-#define HAVE_PTHREAD_H 0
-#endif
+#  define FLTK_LLFMT   "%ld"
+#  define FLTK_LLCAST  (long)
+#endif /* HAVE_LONG_LONG */
+
+/*
+ * Do we have the strtoll() function?
+ */
+
+#cmakedefine HAVE_STRTOLL 1
+
+#ifndef HAVE_STRTOLL
+#  define strtoll(nptr,endptr,base) strtol((nptr), (endptr), (base))
+#endif /* !HAVE_STRTOLL */
+
+/*
+ * Do we have the dlsym() function and header?
+ */
+
+#cmakedefine HAVE_DLFCN_H 1
+#cmakedefine HAVE_DLSYM 1
 
 /*
- * End of "$Id: configh.cmake.in 6108 2008-04-22 18:11:51Z matt $".
+ * End of "$Id: configh.in 6462 2008-10-19 01:42:35Z fabien $".
  */
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ba96445..218c4ff 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -124,7 +124,8 @@ SET(CPPFILES
   fl_show_colormap.cxx
   fl_symbols.cxx
   fl_vertex.cxx
-       screen_xywh.cxx
+  fl_utf8.cxx
+  screen_xywh.cxx
   )
 SET(FLCPPFILES
   forms_compatability.cxx
@@ -160,13 +161,24 @@ SET(IMGCPPFILES
 
 SET(CFILES 
   fl_call_main.c
+  fl_utf.c
   flstring.c
   scandir.c
   numericsort.c
   vsnprintf.c
   )
+  
+set(UTF8FILES
+  xutf8/case.c 
+  xutf8/is_right2left.c 
+  xutf8/is_spacing.c 
+  xutf8/keysym2Ucs.c 
+  xutf8/utf8Input.c 
+  xutf8/utf8Utils.c 
+  xutf8/utf8Wrap.c
+)
 
-ADD_LIBRARY(fltk ${CPPFILES} ${CFILES})
+ADD_LIBRARY(fltk ${CPPFILES} ${CFILES} ${UTF8FILES})
 INSTALL_TARGETS(/lib fltk)
 SET_TARGET_PROPERTIES(fltk
   PROPERTIES
_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to