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-currentdiff --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