summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES5
-rw-r--r--CMake/CheckFunctionWithHeaderExists.cmake108
-rw-r--r--CMake/FLTKConfig.cmake.in64
-rw-r--r--CMakeLists.txt542
-rw-r--r--FL/filename.H10
-rw-r--r--configh.cmake.in492
-rw-r--r--documentation/osissues.html2
-rw-r--r--fluid/CMakeLists.txt50
-rw-r--r--jpeg/CMakeLists.txt70
-rw-r--r--png/CMakeLists.txt56
-rw-r--r--src/CMakeLists.txt382
-rw-r--r--test/CMakeLists.txt192
-rw-r--r--zlib/CMakeLists.txt28
13 files changed, 1058 insertions, 943 deletions
diff --git a/CHANGES b/CHANGES
index 5f40e868a..e2a33ad61 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
CHANGES IN FLTK 1.1.5
- - Documentation updates (STR #570)
+ - Documentation updates (STR #568, STR #570)
+ - More CMake updates (STR #499)
+ - The Watcom C++ compiler needed a small change (STR
+ #567)
- Added DESTDIR support and now remove all man pages for
the "uninstall" target (STR #545)
- Fix PNG drawing on buggy WIN32 graphics cards (STR
diff --git a/CMake/CheckFunctionWithHeaderExists.cmake b/CMake/CheckFunctionWithHeaderExists.cmake
index 7d824cd96..46694e82a 100644
--- a/CMake/CheckFunctionWithHeaderExists.cmake
+++ b/CMake/CheckFunctionWithHeaderExists.cmake
@@ -1,54 +1,54 @@
-#
-# Check if the symbol exists in include files
-#
-# CHECK_FUNCTIONWITHHEADER_EXISTS - macro which checks the symbol exists in include files.
-# SYMBOL - symbol
-# FILES - include files to check
-# VARIABLE - variable to return result
-#
-
-MACRO(CHECK_FUNCTIONWITHHEADER_EXISTS SYMBOL FILES VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- SET(CHECK_SYMBOL_EXISTS_CONTENT "/* */\n")
- SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_SYMBOL_EXISTS_LIBS
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- FOREACH(FILE ${FILES})
- SET(CHECK_SYMBOL_EXISTS_CONTENT
- "${CHECK_SYMBOL_EXISTS_CONTENT}#include <${FILE}>\n")
- ENDFOREACH(FILE)
- SET(CHECK_SYMBOL_EXISTS_CONTENT
- "${CHECK_SYMBOL_EXISTS_CONTENT}\nint main()\n{\n${SYMBOL};return 0;\n}\n")
-
- FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c
- "${CHECK_SYMBOL_EXISTS_CONTENT}")
-
- MESSAGE(STATUS "Looking for ${SYMBOL}")
- TRY_COMPILE(${VARIABLE}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c
- CMAKE_FLAGS
- -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
- "${CHECK_SYMBOL_EXISTS_LIBS}"
- OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- MESSAGE(STATUS "Looking for ${SYMBOL} - found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
- FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log
- "Determining if the ${SYMBOL} "
- "exist passed with the following output:\n"
- "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n"
- "${CHECK_SYMBOL_EXISTS_CONTENT}\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for ${SYMBOL} - not found.")
- SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
- FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
- "Determining if the ${SYMBOL} "
- "exist failed with the following output:\n"
- "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n"
- "${CHECK_SYMBOL_EXISTS_CONTENT}\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_FUNCTIONWITHHEADER_EXISTS)
+#
+# Check if the symbol exists in include files
+#
+# CHECK_FUNCTIONWITHHEADER_EXISTS - macro which checks the symbol exists in include files.
+# SYMBOL - symbol
+# FILES - include files to check
+# VARIABLE - variable to return result
+#
+
+MACRO(CHECK_FUNCTIONWITHHEADER_EXISTS SYMBOL FILES VARIABLE)
+ IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ SET(CHECK_SYMBOL_EXISTS_CONTENT "/* */\n")
+ SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ IF(CMAKE_REQUIRED_LIBRARIES)
+ SET(CHECK_SYMBOL_EXISTS_LIBS
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ ENDIF(CMAKE_REQUIRED_LIBRARIES)
+ FOREACH(FILE ${FILES})
+ SET(CHECK_SYMBOL_EXISTS_CONTENT
+ "${CHECK_SYMBOL_EXISTS_CONTENT}#include <${FILE}>\n")
+ ENDFOREACH(FILE)
+ SET(CHECK_SYMBOL_EXISTS_CONTENT
+ "${CHECK_SYMBOL_EXISTS_CONTENT}\nint main()\n{\n${SYMBOL};return 0;\n}\n")
+
+ FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c
+ "${CHECK_SYMBOL_EXISTS_CONTENT}")
+
+ MESSAGE(STATUS "Looking for ${SYMBOL}")
+ TRY_COMPILE(${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c
+ CMAKE_FLAGS
+ -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
+ "${CHECK_SYMBOL_EXISTS_LIBS}"
+ OUTPUT_VARIABLE OUTPUT)
+ IF(${VARIABLE})
+ MESSAGE(STATUS "Looking for ${SYMBOL} - found")
+ SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
+ FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log
+ "Determining if the ${SYMBOL} "
+ "exist passed with the following output:\n"
+ "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n"
+ "${CHECK_SYMBOL_EXISTS_CONTENT}\n")
+ ELSE(${VARIABLE})
+ MESSAGE(STATUS "Looking for ${SYMBOL} - not found.")
+ SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
+ FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
+ "Determining if the ${SYMBOL} "
+ "exist failed with the following output:\n"
+ "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n"
+ "${CHECK_SYMBOL_EXISTS_CONTENT}\n")
+ ENDIF(${VARIABLE})
+ ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ENDMACRO(CHECK_FUNCTIONWITHHEADER_EXISTS)
diff --git a/CMake/FLTKConfig.cmake.in b/CMake/FLTKConfig.cmake.in
index 3f53597cc..c32c41f20 100644
--- a/CMake/FLTKConfig.cmake.in
+++ b/CMake/FLTKConfig.cmake.in
@@ -1,32 +1,32 @@
-#-----------------------------------------------------------------------------
-#
-# FLTKConfig.cmake - FLTK CMake configuration file for external projects.
-#
-# This file is configured by FLTK and used by the UseFLTK.cmake module
-# to load FLTK's settings for an external project.
-
-# The FLTK source tree.
-SET(FLTK_SOURCE_DIR "@FLTK_SOURCE_DIR@")
-
-# The FLTK include file directories.
-SET(FLTK_EXECUTABLE_DIRS "@FLTK_EXECUTABLE_DIRS@")
-SET(FLTK_LIBRARY_DIRS "@FLTK_LIBRARY_DIRS@")
-SET(FLTK_LIBRARIES "fltk_images;fltk;fltk_gl;fltk_forms")
-
-# The C and C++ flags added by FLTK to the cmake-configured flags.
-SET(FLTK_REQUIRED_C_FLAGS "@FLTK_REQUIRED_C_FLAGS@")
-SET(FLTK_REQUIRED_CXX_FLAGS "@FLTK_REQUIRED_CXX_FLAGS@")
-
-# The FLTK version number
-SET(FLTK_VERSION_MAJOR "@FLTK_VERSION_MAJOR@")
-SET(FLTK_VERSION_MINOR "@FLTK_VERSION_MINOR@")
-SET(FLTK_VERSION_PATCH "@FLTK_VERSION_PATCH@")
-
-# The location of the UseFLTK.cmake file.
-SET(FLTK_USE_FILE "@FLTK_USE_FILE@")
-
-# The build settings file.
-SET(FLTK_BUILD_SETTINGS_FILE "@FLTK_BUILD_SETTINGS_FILE@")
-
-# Whether FLTK was built with shared libraries.
-SET(FLTK_BUILD_SHARED "@BUILD_SHARED_LIBS@")
+#-----------------------------------------------------------------------------
+#
+# FLTKConfig.cmake - FLTK CMake configuration file for external projects.
+#
+# This file is configured by FLTK and used by the UseFLTK.cmake module
+# to load FLTK's settings for an external project.
+
+# The FLTK source tree.
+SET(FLTK_SOURCE_DIR "@FLTK_SOURCE_DIR@")
+
+# The FLTK include file directories.
+SET(FLTK_EXECUTABLE_DIRS "@FLTK_EXECUTABLE_DIRS@")
+SET(FLTK_LIBRARY_DIRS "@FLTK_LIBRARY_DIRS@")
+SET(FLTK_LIBRARIES "fltk_images;fltk;fltk_gl;fltk_forms")
+
+# The C and C++ flags added by FLTK to the cmake-configured flags.
+SET(FLTK_REQUIRED_C_FLAGS "@FLTK_REQUIRED_C_FLAGS@")
+SET(FLTK_REQUIRED_CXX_FLAGS "@FLTK_REQUIRED_CXX_FLAGS@")
+
+# The FLTK version number
+SET(FLTK_VERSION_MAJOR "@FLTK_VERSION_MAJOR@")
+SET(FLTK_VERSION_MINOR "@FLTK_VERSION_MINOR@")
+SET(FLTK_VERSION_PATCH "@FLTK_VERSION_PATCH@")
+
+# The location of the UseFLTK.cmake file.
+SET(FLTK_USE_FILE "@FLTK_USE_FILE@")
+
+# The build settings file.
+SET(FLTK_BUILD_SETTINGS_FILE "@FLTK_BUILD_SETTINGS_FILE@")
+
+# Whether FLTK was built with shared libraries.
+SET(FLTK_BUILD_SHARED "@BUILD_SHARED_LIBS@")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 496e4c839..1aab2209b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,231 +1,311 @@
-# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
-# Written by Andy Cedilnik and Julien Jomier
-
-PROJECT(FLTK)
-
-SET(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin CACHE INTERNAL
- "Where to put the executables for FLTK"
-)
-SET(LIBRARY_OUTPUT_PATH "${FLTK_BINARY_DIR}/lib" CACHE INTERNAL
- "Where to put the libraries for FLTK"
-)
-
-#-----------------------------------------------------------------------------
-# Test for some required system information.
-INCLUDE (${CMAKE_ROOT}/Modules/FindThreads.cmake)
-SET (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL "Use the pthreads library.")
-
-
-SET(FLTK_DATADIR "${CMAKE_INSTALL_PREFIX}/share/FLTK")
-SET(FLTK_DOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/FLTK")
-
-CONFIGURE_FILE(${FLTK_SOURCE_DIR}/configh.cmake.in
- ${FLTK_BINARY_DIR}/config.h)
-
-IF(WIN32)
- IF(NOT CYGWIN)
- IF(BORLAND)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
- ELSE(BORLAND)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
- ENDIF(BORLAND)
- ENDIF(NOT CYGWIN)
-ENDIF(WIN32)
-
-IF(UNIX)
- INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
-ENDIF(UNIX)
-
-IF(APPLE)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
-ENDIF(APPLE)
-
-IF(CYGWIN)
- ADD_DEFINITIONS(-DWIN32)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32)
-ENDIF(CYGWIN)
-
-
-INCLUDE_DIRECTORIES(
- ${FLTK_BINARY_DIR}
- ${FLTK_SOURCE_DIR}
- )
-
-INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
-# Check if header file exists and add it to the list.
-MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
- CHECK_INCLUDE_FILES("${PROJECT_INCLUDES};${FILE}" ${VARIABLE})
- IF(${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("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("sys/stdtypes.h" HAVE_SYS_STDTYPES_H)
-CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
-
-INCLUDE(${CMAKE_ROOT}/Modules/FindZLIB.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/FindPNG.cmake)
-INCLUDE(${CMAKE_ROOT}/Modules/FindJPEG.cmake)
-
-INCLUDE(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
-INCLUDE(${FLTK_SOURCE_DIR}/CMake/CheckFunctionWithHeaderExists.cmake)
-
-CHECK_FUNCTIONWITHHEADER_EXISTS("int strcasecmp()" "${PROJECT_INCLUDES}" HAVE_STRCASECMP)
-
-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(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
-
-CHECK_TYPE_SIZE(short SIZEOF_SHORT)
-CHECK_TYPE_SIZE(int SIZEOF_INT)
-CHECK_TYPE_SIZE(long SIZEOF_LONG)
-
-IF(${SIZEOF_SHORT} MATCHES "^2$")
- SET(U16 "unsigned short")
-ENDIF(${SIZEOF_SHORT} MATCHES "^2$")
-
-IF(${SIZEOF_INT} MATCHES "^4$")
- SET(U32 "unsigned")
-ELSE(${SIZEOF_INT} MATCHES "^4$")
- IF(${SIZEOF_LONG} MATCHES "^4$")
- SET(U32 "unsigned long")
- ENDIF(${SIZEOF_LONG} MATCHES "^4$")
-ENDIF(${SIZEOF_INT} MATCHES "^4$")
-
-IF(${SIZEOF_INT} MATCHES "^8$")
- SET(U64 "unsigned")
-ELSE(${SIZEOF_INT} MATCHES "^8$")
- IF(${SIZEOF_LONG} MATCHES "^8$")
- SET(U64 "unsigned long")
- ENDIF(${SIZEOF_LONG} MATCHES "^8$")
-ENDIF(${SIZEOF_INT} MATCHES "^8$")
-
-SET(HAVE_GL 0)
-
-# Set an option to build FLTK with OpenGL support
-OPTION(USE_OPENGL "OpenGL Support" ON)
-IF(USE_OPENGL)
-INCLUDE(${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
-IF(OPENGL_FOUND)
- SET(HAVE_GL 1)
-ENDIF(OPENGL_FOUND)
-ENDIF(USE_OPENGL)
-
-#
-# Perform the FLTK specific test with status output
-#
-MACRO(PERFORM_CMAKE_TEST FILE TEST)
- IF("${TEST}" MATCHES "^${TEST}$")
- # Perform test
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
- "-D${TEST} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
- SET(TEST_ADD_LIBRARIES
- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- MESSAGE(STATUS "Performing Test ${TEST}")
-
- TRY_COMPILE(${TEST}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
- CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
- -DLINK_LIBRARIES:STRING=${CMAKE_TEST_SPECIAL_LIBRARIES}
- "${TEST_ADD_LIBRARIES}"
- OUTPUT_VARIABLE OUTPUT)
- IF(${TEST})
- SET(${TEST} 1 CACHE INTERNAL "CMake test ${FUNCTION}")
- MESSAGE(STATUS "Performing Test ${TEST} - Success")
- ELSE(${TEST})
- MESSAGE(STATUS "Performing Test ${TEST} - Failed")
- SET(${TEST} 0 CACHE INTERNAL "Test ${FUNCTION}")
- WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
- "Performing Test ${TEST} failed with the following output:\n"
- "${OUTPUT}\n" APPEND)
- ENDIF(${TEST})
- ELSE("${TEST}" MATCHES "^${TEST}$")
- # Have result
- #FOREACH(tst ${TEST})
- # MESSAGE("Test ${TEST} resulted in ${${tst}}")
- #ENDFOREACH(tst ${TEST})
- ENDIF("${TEST}" MATCHES "^${TEST}$")
-ENDMACRO(PERFORM_CMAKE_TEST FILE TEST)
-
-# Set an option to build the zlib library or not
-OPTION(FLTK_USE_SYSTEM_ZLIB "Use's system zlib" ON)
-IF(FLTK_USE_SYSTEM_ZLIB)
-IF(ZLIB_FOUND)
- SET(CMAKE_TEST_SPECIAL_LIBRARIES ${ZLIB_LIBRARIES})
- PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBZ)
-ENDIF(ZLIB_FOUND)
-# We build the fltk zlib
-ELSE(FLTK_USE_SYSTEM_ZLIB)
-MARK_AS_ADVANCED(ZLIB_INCLUDE_DIR)
-MARK_AS_ADVANCED(ZLIB_LIBRARY)
-SUBDIRS(zlib)
-ENDIF(FLTK_USE_SYSTEM_ZLIB)
-
-# Set an option to build the jpeg library or not
-OPTION(FLTK_USE_SYSTEM_JPEG "Use's system jpeg" ON)
-IF(FLTK_USE_SYSTEM_JPEG)
-IF(JPEG_FOUND)
- SET(CMAKE_TEST_SPECIAL_LIBRARIES ${JPEG_LIBRARIES})
- PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBJPEG)
-ENDIF(JPEG_FOUND)
-# We build the fltk png
-ELSE(FLTK_USE_SYSTEM_JPEG)
-MARK_AS_ADVANCED(JPEG_INCLUDE_DIR)
-MARK_AS_ADVANCED(JPEG_LIBRARY)
-SUBDIRS(jpeg)
-ENDIF(FLTK_USE_SYSTEM_JPEG)
-
-
-
-# Set an option to build the png library or not
-OPTION(FLTK_USE_SYSTEM_PNG "Use's system png" ON)
-IF(FLTK_USE_SYSTEM_PNG)
-IF(PNG_FOUND)
- SET(CMAKE_TEST_SPECIAL_LIBRARIES ${PNG_LIBRARIES})
- PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBPNG)
- PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_GET_VALID)
- PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_SET_TRNS_TO_ALPHA)
- SET(HAVE_PNG_H 1)
-ENDIF(PNG_FOUND)
-# We build the fltk png
-ELSE(FLTK_USE_SYSTEM_PNG)
-MARK_AS_ADVANCED(PNG_INCLUDE_DIR)
-MARK_AS_ADVANCED(PNG_LIBRARY)
-SUBDIRS(png)
-ENDIF(FLTK_USE_SYSTEM_PNG)
-
-
-
-SUBDIRS(src)
-SUBDIRS(fluid)
-
-# Set the fluid executable path
-SET(FLUID_COMMAND ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/fluid)
-
-# Set an option to build the tests
-OPTION(BUILD_TESTS "Build the tests" ON)
-IF(BUILD_TESTS)
- SUBDIRS(test)
-ENDIF(BUILD_TESTS )
-
-
-#Genereate the configuration file
-SET(FLTK_EXECUTABLE_DIRS ${EXECUTABLE_OUTPUT_PATH})
-SET(FLTK_LIBRARY_DIRS ${LIBRARY_OUTPUT_PATH})
-
-CONFIGURE_FILE(${FLTK_SOURCE_DIR}/CMake/FLTKConfig.cmake.in
- ${FLTK_BINARY_DIR}/FLTKConfig.cmake)
+# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
+# Written by Andy Cedilnik and Julien Jomier
+
+PROJECT(FLTK)
+
+SET(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin CACHE INTERNAL
+ "Where to put the executables for FLTK"
+ )
+SET(LIBRARY_OUTPUT_PATH "${FLTK_BINARY_DIR}/lib" CACHE INTERNAL
+ "Where to put the libraries for FLTK"
+ )
+
+#-----------------------------------------------------------------------------
+# Test for some required system information.
+INCLUDE (${CMAKE_ROOT}/Modules/FindThreads.cmake)
+SET (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL "Use the pthreads library.")
+
+
+SET(FLTK_DATADIR "${CMAKE_INSTALL_PREFIX}/share/FLTK")
+SET(FLTK_DOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/FLTK")
+
+CONFIGURE_FILE(${FLTK_SOURCE_DIR}/configh.cmake.in
+ ${FLTK_BINARY_DIR}/config.h)
+
+IF(WIN32)
+ IF(NOT CYGWIN)
+ IF(BORLAND)
+ SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
+ ELSE(BORLAND)
+ SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
+ ENDIF(BORLAND)
+ ENDIF(NOT CYGWIN)
+ENDIF(WIN32)
+
+SET(FLTK_X11 1)
+SET(FLTK_APPLE 0)
+IF(APPLE)
+ 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)
+ OPTION(FLTK_QUARTZ "Use Quartz instead of Quickdraw" OFF)
+ ENDIF(NOT FLTK_APPLE_X11)
+ENDIF(APPLE)
+
+IF(UNIX)
+ INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake)
+ SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
+ENDIF(UNIX)
+
+IF(APPLE)
+ SET( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
+ENDIF(APPLE)
+
+IF(CYGWIN)
+ ADD_DEFINITIONS(-DWIN32)
+ SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32)
+ENDIF(CYGWIN)
+
+
+INCLUDE_DIRECTORIES(
+ ${FLTK_BINARY_DIR}
+ ${FLTK_SOURCE_DIR}
+ )
+
+INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
+# Check if header file exists and add it to the list.
+MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
+ CHECK_INCLUDE_FILES("${PROJECT_INCLUDES};${FILE}" ${VARIABLE})
+ IF(${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("sys/stdtypes.h" HAVE_SYS_STDTYPES_H)
+CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
+
+INCLUDE(${CMAKE_ROOT}/Modules/FindZLIB.cmake)
+INCLUDE(${CMAKE_ROOT}/Modules/FindPNG.cmake)
+INCLUDE(${CMAKE_ROOT}/Modules/FindJPEG.cmake)
+
+INCLUDE(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
+INCLUDE(${FLTK_SOURCE_DIR}/CMake/CheckFunctionWithHeaderExists.cmake)
+
+CHECK_FUNCTIONWITHHEADER_EXISTS("int strcasecmp()" "${PROJECT_INCLUDES}" HAVE_STRCASECMP)
+
+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(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
+
+CHECK_TYPE_SIZE(short SIZEOF_SHORT)
+CHECK_TYPE_SIZE(int SIZEOF_INT)
+CHECK_TYPE_SIZE(long SIZEOF_LONG)
+
+IF(${SIZEOF_SHORT} MATCHES "^2$")
+ SET(U16 "unsigned short")
+ENDIF(${SIZEOF_SHORT} MATCHES "^2$")
+
+IF(${SIZEOF_INT} MATCHES "^4$")
+ SET(U32 "unsigned")
+ELSE(${SIZEOF_INT} MATCHES "^4$")
+ IF(${SIZEOF_LONG} MATCHES "^4$")
+ SET(U32 "unsigned long")
+ ENDIF(${SIZEOF_LONG} MATCHES "^4$")
+ENDIF(${SIZEOF_INT} MATCHES "^4$")
+
+IF(${SIZEOF_INT} MATCHES "^8$")
+ SET(U64 "unsigned")
+ELSE(${SIZEOF_INT} MATCHES "^8$")
+ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
+ IF(${SIZEOF_LONG} MATCHES "^8$")
+ SET(U64 "unsigned long")
+ ENDIF(${SIZEOF_LONG} MATCHES "^8$")
+ENDIF(${SIZEOF_INT} MATCHES "^8$")
+
+SET(HAVE_GL 0)
+
+# Set an option to build FLTK with OpenGL support
+OPTION(USE_OPENGL "OpenGL Support" ON)
+IF(USE_OPENGL)
+ INCLUDE(${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
+ IF(OPENGL_FOUND)
+ SET(HAVE_GL 1)
+ ENDIF(OPENGL_FOUND)
+ENDIF(USE_OPENGL)
+
+#
+# Perform the FLTK specific test with status output
+#
+MACRO(PERFORM_CMAKE_TEST FILE TEST)
+ IF("${TEST}" MATCHES "^${TEST}$")
+ # Perform test
+ SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+ "-D${TEST} ${CMAKE_REQUIRED_FLAGS}")
+ IF(CMAKE_REQUIRED_LIBRARIES)
+ SET(TEST_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ ENDIF(CMAKE_REQUIRED_LIBRARIES)
+ MESSAGE(STATUS "Performing Test ${TEST}")
+
+ TRY_COMPILE(${TEST}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+ -DLINK_LIBRARIES:STRING=${CMAKE_TEST_SPECIAL_LIBRARIES}
+ "${TEST_ADD_LIBRARIES}"
+ OUTPUT_VARIABLE OUTPUT)
+ IF(${TEST})
+ SET(${TEST} 1 CACHE INTERNAL "CMake test ${FUNCTION}")
+ MESSAGE(STATUS "Performing Test ${TEST} - Success")
+ ELSE(${TEST})
+ MESSAGE(STATUS "Performing Test ${TEST} - Failed")
+ SET(${TEST} 0 CACHE INTERNAL "Test ${FUNCTION}")
+ WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
+ "Performing Test ${TEST} failed with the following output:\n"
+ "${OUTPUT}\n" APPEND)
+ ENDIF(${TEST})
+ ELSE("${TEST}" MATCHES "^${TEST}$")
+ # Have result
+ #FOREACH(tst ${TEST})
+ # MESSAGE("Test ${TEST} resulted in ${${tst}}")
+ #ENDFOREACH(tst ${TEST})
+ ENDIF("${TEST}" MATCHES "^${TEST}$")
+ENDMACRO(PERFORM_CMAKE_TEST FILE TEST)
+
+# Set an option to build the zlib library or not
+OPTION(FLTK_USE_SYSTEM_ZLIB "Use's system zlib" ON)
+IF(FLTK_USE_SYSTEM_ZLIB)
+ IF(ZLIB_FOUND)
+ SET(CMAKE_TEST_SPECIAL_LIBRARIES ${ZLIB_LIBRARIES})
+ PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBZ)
+ ENDIF(ZLIB_FOUND)
+ # We build the fltk zlib
+ELSE(FLTK_USE_SYSTEM_ZLIB)
+ MARK_AS_ADVANCED(ZLIB_INCLUDE_DIR)
+ MARK_AS_ADVANCED(ZLIB_LIBRARY)
+ SUBDIRS(zlib)
+ENDIF(FLTK_USE_SYSTEM_ZLIB)
+
+# Set an option to build the jpeg library or not
+OPTION(FLTK_USE_SYSTEM_JPEG "Use's system jpeg" ON)
+IF(FLTK_USE_SYSTEM_JPEG)
+ IF(JPEG_FOUND)
+ SET(CMAKE_TEST_SPECIAL_LIBRARIES ${JPEG_LIBRARIES})
+ PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBJPEG)
+ ENDIF(JPEG_FOUND)
+ # We build the fltk png
+ELSE(FLTK_USE_SYSTEM_JPEG)
+ MARK_AS_ADVANCED(JPEG_INCLUDE_DIR)
+ MARK_AS_ADVANCED(JPEG_LIBRARY)
+ SUBDIRS(jpeg)
+ENDIF(FLTK_USE_SYSTEM_JPEG)
+
+# Set an option to build the png library or not
+OPTION(FLTK_USE_SYSTEM_PNG "Use's system png" ON)
+IF(FLTK_USE_SYSTEM_PNG)
+ IF(PNG_FOUND)
+ SET(CMAKE_TEST_SPECIAL_LIBRARIES ${PNG_LIBRARIES})
+ PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBPNG)
+ PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_GET_VALID)
+ PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_SET_TRNS_TO_ALPHA)
+ SET(HAVE_PNG_H 1)
+ ENDIF(PNG_FOUND)
+ # We build the fltk png
+ELSE(FLTK_USE_SYSTEM_PNG)
+ MARK_AS_ADVANCED(PNG_INCLUDE_DIR)
+ MARK_AS_ADVANCED(PNG_LIBRARY)
+ SUBDIRS(png)
+ENDIF(FLTK_USE_SYSTEM_PNG)
+
+SUBDIRS(src)
+SUBDIRS(fluid)
+
+SET(FLTK_CREATE_SYMLINKS 1)
+IF(WIN32)
+ IF(NOT UNIX)
+ SET(FLTK_CREATE_SYMLINKS 0)
+ ENDIF(NOT UNIX)
+ENDIF(WIN32)
+
+MACRO(SAFE_CREATE_SYMLINK SOURCE DESTINATION)
+ IF(EXISTS "${DESTINATION}")
+ ELSE(EXISTS "${DESTINATION}")
+ EXEC_PROGRAM(ln ARGS -s
+ "${SOURCE}"
+ "${DESTINATION}" OUTPUT_VARIABLE ln_output
+ RETURN_VALUE ln_retval)
+ IF("${ln_retval}" GREATER 0)
+ MESSAGE(FATAL_ERROR "Problem creatin symlink from \"${SOURCE}\" to \"${DESTINATION}\":\n${ln_output}")
+ ENDIF("${ln_retval}" GREATER 0)
+ ENDIF(EXISTS "${DESTINATION}")
+ENDMACRO(SAFE_CREATE_SYMLINK SOURCE DESTINATION)
+
+# If this is out-of-source build, then copy FL directory
+FILE(GLOB FLTK_HEADER_FILES "${FLTK_SOURCE_DIR}/FL/*")
+FOREACH(file ${FLTK_HEADER_FILES})
+ GET_FILENAME_COMPONENT(ext "${file}" EXT)
+ GET_FILENAME_COMPONENT(namewe "${file}" NAME_WE)
+ GET_FILENAME_COMPONENT(name "${file}" NAME)
+ STRING(COMPARE EQUAL "${ext}" ".h" lower_case_h)
+ STRING(COMPARE EQUAL "${ext}" ".H" upper_case_h)
+ IF(lower_case_h OR upper_case_h)
+ SET(outfile_h "${FLTK_BINARY_DIR}/FL/${namewe}.h")
+ SET(outfile_H "${FLTK_BINARY_DIR}/FL/${namewe}.H")
+ CONFIGURE_FILE("${file}" "${outfile_H}" COPYONLY IMMEDIATE)
+# IF(FLTK_CREATE_SYMLINKS)
+# SAFE_CREATE_SYMLINK("${outfile_H}" "${outfile_h}")
+# ENDIF(FLTK_CREATE_SYMLINKS)
+ ELSE(lower_case_h OR upper_case_h)
+ STRING(COMPARE EQUAL "${ext}" ".r" mac_resource_file)
+ IF(mac_resource_file)
+ SET(outfile "${FLTK_BINARY_DIR}/FL/${name}")
+ CONFIGURE_FILE("${file}" "${outfile}" COPYONLY IMMEDIATE)
+ ENDIF(mac_resource_file)
+ ENDIF(lower_case_h OR upper_case_h)
+ENDFOREACH(file)
+
+IF(FLTK_CREATE_SYMLINKS)
+ SAFE_CREATE_SYMLINK(
+ "${FLTK_BINARY_DIR}/FL"
+ "${FLTK_BINARY_DIR}/Fl")
+
+ SAFE_CREATE_SYMLINK(
+ "${FLTK_BINARY_DIR}/FL/gl.H"
+ "${FLTK_BINARY_DIR}/FL/gl.h")
+
+ # Create the symlinks
+ FILE(READ ${FLTK_SOURCE_DIR}/fltk.list.in SYMLINKSFILE)
+ STRING(REGEX MATCHALL "(l 0000 root sys .includedir/)([^(\n)])+"
+ SYMLINKS ${SYMLINKSFILE})
+ FOREACH(var ${SYMLINKS} )
+ IF("${var}" MATCHES ".H")
+ STRING(REGEX MATCH "(/F)([^(\n)])+" tmp ${var})
+ STRING(REGEX MATCH "(/F)([^( )])+" in ${tmp})
+ STRING(REGEX MATCH "( )([^(\n)])+" out ${tmp})
+ STRING(REGEX REPLACE "( )" "" out ${out})
+ SAFE_CREATE_SYMLINK("${FLTK_BINARY_DIR}/FL/${out}" "${FLTK_BINARY_DIR}/${in}")
+ ENDIF("${var}" MATCHES ".H")
+ ENDFOREACH(var)
+ENDIF(FLTK_CREATE_SYMLINKS)
+
+
+# Set the fluid executable path
+SET(FLUID_COMMAND ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/fluid)
+
+# Set an option to build the tests
+OPTION(BUILD_TESTS "Build the tests" ON)
+IF(BUILD_TESTS)
+ SUBDIRS(test)
+ ENABLE_TESTING()
+ INCLUDE(${CMAKE_ROOT}/Modules/Dart.cmake)
+ENDIF(BUILD_TESTS )
+
+#Genereate the configuration file
+SET(FLTK_EXECUTABLE_DIRS ${EXECUTABLE_OUTPUT_PATH})
+SET(FLTK_LIBRARY_DIRS ${LIBRARY_OUTPUT_PATH})
+
+CONFIGURE_FILE(${FLTK_SOURCE_DIR}/CMake/FLTKConfig.cmake.in
+ ${FLTK_BINARY_DIR}/FLTKConfig.cmake)
diff --git a/FL/filename.H b/FL/filename.H
index 04aec10b6..df77b4762 100644
--- a/FL/filename.H
+++ b/FL/filename.H
@@ -1,5 +1,5 @@
/*
- * "$Id: filename.H,v 1.11.2.4.2.14 2004/04/11 04:38:54 easysw Exp $"
+ * "$Id: filename.H,v 1.11.2.4.2.15 2004/10/18 20:29:54 easysw Exp $"
*
* Filename header file for the Fast Light Tool Kit (FLTK).
*
@@ -51,7 +51,7 @@ inline int fl_filename_relative(char *to, const char *from) { return fl_filename
# endif /* __cplusplus */
-# if defined(WIN32) && !defined(__CYGWIN__)
+# if defined(WIN32) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
struct dirent {char d_name[1];};
@@ -65,6 +65,10 @@ struct dirent {char d_name[1];};
# include <sys/types.h>
# include "/usr/include/dirent.h"
+# elif defined(__WATCOMC__)
+# include <sys/types.h>
+# include <direct.h>
+
# else
/*
* WARNING: on some systems (very few nowadays?) <dirent.h> may not exist.
@@ -127,5 +131,5 @@ FL_EXPORT int fl_filename_list(const char *d, struct dirent ***l,
#endif /* FL_FILENAME_H */
/*
- * End of "$Id: filename.H,v 1.11.2.4.2.14 2004/04/11 04:38:54 easysw Exp $".
+ * End of "$Id: filename.H,v 1.11.2.4.2.15 2004/10/18 20:29:54 easysw Exp $".
*/
diff --git a/configh.cmake.in b/configh.cmake.in
index fdd07952e..91d3f1e35 100644
--- a/configh.cmake.in
+++ b/configh.cmake.in
@@ -1,234 +1,258 @@
-/*
- * "$Id: configh.cmake.in,v 1.1.2.1 2004/09/13 02:12:40 easysw Exp $"
- *
- * Configuration file for the Fast Light Tool Kit (FLTK).
- * @configure_input@
- *
- * Copyright 1998-2003 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
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA.
- *
- * Please report all bugs and problems to "fltk-bugs@fltk.org".
- */
-
-/*
- * Where to find files...
- */
-
-#define FLTK_DATADIR "@FLTK_DATADIR@"
-#define FLTK_DOCDIR "@FLTK_DOCDIR@"
-
-/*
- * BORDER_WIDTH:
- *
- * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
- * supported.
- *
- * 3 is the historic FLTK look.
- * 2 is the default and looks like Microsoft Windows, KDE, and Qt.
- * 1 is a plausible future evolution...
- *
- * Note that this may be simulated at runtime by redefining the boxtypes
- * using Fl::set_boxtype().
- */
-
-#define BORDER_WIDTH 2
-
-/*
- * HAVE_GL:
- *
- * Do you have OpenGL? Set this to 0 if you don't have or plan to use
- * OpenGL, and FLTK will be smaller.
- */
-
-#define HAVE_GL @HAVE_GL@
-
-/*
- * HAVE_GL_GLU_H:
- *
- * Do you have the OpenGL Utility Library header file?
- * (many broken Mesa RPMs do not...)
- */
-
-#cmakedefine HAVE_GL_GLU_H @HAVE_GL_GLU_H@
-
-/*
- * USE_COLORMAP:
- *
- * Setting this to zero will save a good deal of code (especially for
- * fl_draw_image), but FLTK will only work on TrueColor visuals.
- */
-
-#define USE_COLORMAP 1
-
-/*
- * USE_XFT
- *
- * Use the new Xft library to draw anti-aliased text.
- */
-
-#define USE_XFT 0
-
-/*
- * HAVE_XDBE:
- *
- * Do we have the X double-buffer extension?
- */
-
-#define HAVE_XDBE 0
-
-/*
- * USE_XDBE:
- *
- * Actually try to use the double-buffer extension?
- */
-
-#define USE_XDBE HAVE_XDBE
-
-/*
- * HAVE_OVERLAY:
- *
- * Use the X overlay extension? FLTK will try to use an overlay
- * visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
- * menus. Setting this to zero will remove a substantial amount of
- * code from FLTK. Overlays have only been tested on SGI servers!
- */
-
-#define HAVE_OVERLAY 0
-
-/*
- * HAVE_GL_OVERLAY:
- *
- * It is possible your GL has an overlay even if X does not. If so,
- * set this to 1.
- */
-
-#define HAVE_GL_OVERLAY HAVE_OVERLAY
-
-/*
- * WORDS_BIGENDIAN:
- *
- * Byte order of your machine: 1 = big-endian, 0 = little-endian.
- */
-
-#define WORDS_BIGENDIAN 0
-
-/*
- * U16, U32, U64:
- *
- * Types used by fl_draw_image. One of U32 or U64 must be defined.
- * U16 is optional but FLTK will work better with it!
- */
-
-#cmakedefine U16 @U16@
-#cmakedefine U32 @U32@
-#cmakedefine U64 @U64@
-
-/*
- * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
- *
- * 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@
-
-/*
- * Possibly missing sprintf-style functions:
- */
-
-#cmakedefine HAVE_VSNPRINTF @HAVE_VSNPRINTF@
-#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@
-
-/*
- * 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@
-
-/*
- * HAVE_SYS_SELECT_H:
- *
- * Whether or not select() call has its own header file.
- */
-
-#cmakedefine HAVE_SYS_SELECT_H @HAVE_SYS_SELECT_H@
-
-/*
- * HAVE_SYS_STDTYPES_H:
- *
- * Whether or not we have the <sys/stdtypes.h> header file.
- */
-
-#cmakedefine HAVE_SYS_STDTYPES_H @HAVE_SYS_STDTYPES_H@
-
-/*
- * USE_POLL:
- *
- * Use the poll() call provided on Linux and Irix instead of select()
- */
-
-#define USE_POLL 0
-
-/*
- * Do we have various image libraries?
- */
-
-#cmakedefine HAVE_LIBPNG @HAVE_LIBPNG@
-#cmakedefine HAVE_LIBZ @HAVE_LIBZ@
-#cmakedefine HAVE_LIBJPEG @HAVE_LIBJPEG@
-
-/*
- * Which header file do we include for libpng?
- */
-
-#cmakedefine HAVE_PNG_H @HAVE_PNG_H@
-#cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@
-
-/*
- * 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@
-
-/*
- * Do we have POSIX threading?
- */
-
-#cmakedefine CMAKE_USE_PTHREADS
-#ifdef CMAKE_USE_PTHREADS
-#define HAVE_PTHREAD 1
-#else
-#define HAVE_PTHREAD 0
-#endif
-
-#cmakedefine CMAKE_HAVE_PTHREAD_H
-#ifdef CMAKE_HAVE_PTHREAD_H
-#define HAVE_PTHREAD_H 1
-#else
-#define HAVE_PTHREAD_H 0
-#endif
-
-/*
- * End of "$Id: configh.cmake.in,v 1.1.2.1 2004/09/13 02:12:40 easysw Exp $".
- */
+/*
+ * "$Id: configh.cmake.in,v 1.1.2.2 2004/10/18 20:29:54 easysw Exp $"
+ *
+ * Configuration file for the Fast Light Tool Kit (FLTK).
+ * @configure_input@
+ *
+ * Copyright 1998-2004 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
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ *
+ * Please report all bugs and problems to "fltk-bugs@fltk.org".
+ */
+
+/*
+ * Where to find files...
+ */
+
+#define FLTK_DATADIR "@FLTK_DATADIR@"
+#define FLTK_DOCDIR "@FLTK_DOCDIR@"
+
+/*
+ * BORDER_WIDTH:
+ *
+ * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
+ * supported.
+ *
+ * 3 is the historic FLTK look.
+ * 2 is the default and looks like Microsoft Windows, KDE, and Qt.
+ * 1 is a plausible future evolution...
+ *
+ * Note that this may be simulated at runtime by redefining the boxtypes
+ * using Fl::set_boxtype().
+ */
+
+#define BORDER_WIDTH 2
+
+/*
+ * HAVE_GL:
+ *
+ * Do you have OpenGL? Set this to 0 if you don't have or plan to use
+ * OpenGL, and FLTK will be smaller.
+ */
+
+#define HAVE_GL @HAVE_GL@
+
+/*
+ * HAVE_GL_GLU_H:
+ *
+ * Do you have the OpenGL Utility Library header file?
+ * (many broken Mesa RPMs do not...)
+ */
+
+#cmakedefine HAVE_GL_GLU_H @HAVE_GL_GLU_H@
+
+/*
+ * USE_COLORMAP:
+ *
+ * Setting this to zero will save a good deal of code (especially for
+ * fl_draw_image), but FLTK will only work on TrueColor visuals.
+ */
+
+#define USE_COLORMAP 1
+
+/*
+ * USE_XFT
+ *
+ * Use the new Xft library to draw anti-aliased text.
+ */
+
+#define USE_XFT 0
+
+/*
+ * HAVE_XDBE:
+ *
+ * Do we have the X double-buffer extension?
+ */
+
+#define HAVE_XDBE 0
+
+/*
+ * USE_XDBE:
+ *
+ * Actually try to use the double-buffer extension?
+ */
+
+#define USE_XDBE HAVE_XDBE
+
+/*
+ * USE_QUARTZ:
+ *
+ * Use Quartz instead of Quickdraw on Apple Mac OS X machines.
+ * FLTK was originally ported to Quickdraw which is no longer
+ * supported by Apple. If USE_QUARTZ is defined, FLTK will be
+ * compiled using Quartz instead. This flag has no meaning on
+ * 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
+
+/*
+ * HAVE_OVERLAY:
+ *
+ * Use the X overlay extension? FLTK will try to use an overlay
+ * visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
+ * menus. Setting this to zero will remove a substantial amount of
+ * code from FLTK. Overlays have only been tested on SGI servers!
+ */
+
+#define HAVE_OVERLAY 0
+
+/*
+ * HAVE_GL_OVERLAY:
+ *
+ * It is possible your GL has an overlay even if X does not. If so,
+ * set this to 1.
+ */
+
+#define HAVE_GL_OVERLAY HAVE_OVERLAY
+
+/*
+ * WORDS_BIGENDIAN:
+ *
+ * Byte order of your machine: 1 = big-endian, 0 = little-endian.
+ */
+
+#define WORDS_BIGENDIAN 0
+
+/*
+ * U16, U32, U64:
+ *
+ * Types used by fl_draw_image. One of U32 or U64 must be defined.
+ * U16 is optional but FLTK will work better with it!
+ */
+
+#cmakedefine U16 @U16@
+#cmakedefine U32 @U32@
+#cmakedefine U64 @U64@
+
+/*
+ * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
+ *
+ * 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@
+
+/*
+ * Possibly missing sprintf-style functions:
+ */
+
+#cmakedefine HAVE_VSNPRINTF @HAVE_VSNPRINTF@
+#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@
+
+/*
+ * 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@
+
+/*
+ * HAVE_SYS_SELECT_H:
+ *
+ * Whether or not select() call has its own header file.
+ */
+
+#cmakedefine HAVE_SYS_SELECT_H @HAVE_SYS_SELECT_H@
+
+/*
+ * HAVE_SYS_STDTYPES_H:
+ *
+ * Whether or not we have the <sys/stdtypes.h> header file.
+ */
+
+#cmakedefine HAVE_SYS_STDTYPES_H @HAVE_SYS_STDTYPES_H@
+
+/*
+ * USE_POLL:
+ *
+ * Use the poll() call provided on Linux and Irix instead of select()
+ */
+
+#define USE_POLL 0
+
+/*
+ * Do we have various image libraries?
+ */
+
+#cmakedefine HAVE_LIBPNG @HAVE_LIBPNG@
+#cmakedefine HAVE_LIBZ @HAVE_LIBZ@
+#cmakedefine HAVE_LIBJPEG @HAVE_LIBJPEG@
+
+/*
+ * Which header file do we include for libpng?
+ */
+
+#cmakedefine HAVE_PNG_H @HAVE_PNG_H@
+#cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@
+
+/*
+ * 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@
+
+/*
+ * Do we have POSIX threading?
+ */
+
+#cmakedefine CMAKE_USE_PTHREADS
+#ifdef CMAKE_USE_PTHREADS
+#define HAVE_PTHREAD 1
+#else
+#define HAVE_PTHREAD 0
+#endif
+
+#cmakedefine CMAKE_HAVE_PTHREAD_H
+#ifdef CMAKE_HAVE_PTHREAD_H
+#define HAVE_PTHREAD_H 1
+#else
+#define HAVE_PTHREAD_H 0
+#endif
+
+/*
+ * End of "$Id: configh.cmake.in,v 1.1.2.2 2004/10/18 20:29:54 easysw Exp $".
+ */
diff --git a/documentation/osissues.html b/documentation/osissues.html
index 045921bbf..4701c6790 100644
--- a/documentation/osissues.html
+++ b/documentation/osissues.html
@@ -346,7 +346,7 @@ with your application use:
<UL><PRE>
#include &quot;icon.xbm&quot;
-fl_opendisplay(); // needed if display has not been previously opened
+fl_open_display(); // needed if display has not been previously opened
Pixmap p = XCreateBitmapFromData(fl_display, DefaultRootWindow(fl_display),
icon_bits, icon_width, icon_height);
diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt
index b63cf569a..dba571be0 100644
--- a/fluid/CMakeLists.txt
+++ b/fluid/CMakeLists.txt
@@ -1,25 +1,25 @@
-SET(CPPFILES
- Fl_Function_Type.cxx
- Fl_Menu_Type.cxx
- Fl_Group_Type.cxx
- Fl_Widget_Type.cxx
- Fl_Type.cxx
- Fl_Window_Type.cxx
- Fluid_Image.cxx
- code.cxx
- factory.cxx
- file.cxx
- fluid.cxx
- align_widget.cxx
- about_panel.cxx
- widget_panel.cxx
- alignment_panel.cxx
- function_panel.cxx
-)
-
-
-ADD_EXECUTABLE(fluid ${CPPFILES})
-TARGET_LINK_LIBRARIES(fluid fltk fltk_images fltk_forms ${FLTK_PLATFORM_DEPENDENT_LIBS})
-IF(OPENGL_FOUND)
- TARGET_LINK_LIBRARIES(fluid fltk_gl)
-ENDIF(OPENGL_FOUND)
+SET(CPPFILES
+ Fl_Function_Type.cxx
+ Fl_Menu_Type.cxx
+ Fl_Group_Type.cxx
+ Fl_Widget_Type.cxx
+ Fl_Type.cxx
+ Fl_Window_Type.cxx
+ Fluid_Image.cxx
+ code.cxx
+ factory.cxx
+ file.cxx
+ fluid.cxx
+ align_widget.cxx
+ about_panel.cxx
+ widget_panel.cxx
+ alignment_panel.cxx
+ function_panel.cxx
+)
+
+
+ADD_EXECUTABLE(fluid ${CPPFILES})
+TARGET_LINK_LIBRARIES(fluid fltk fltk_images fltk_forms ${FLTK_PLATFORM_DEPENDENT_LIBS})
+IF(OPENGL_FOUND)
+ TARGET_LINK_LIBRARIES(fluid fltk_gl)
+ENDIF(OPENGL_FOUND)
diff --git a/jpeg/CMakeLists.txt b/jpeg/CMakeLists.txt
index 03b33f3e6..66b16d84e 100644
--- a/jpeg/CMakeLists.txt
+++ b/jpeg/CMakeLists.txt
@@ -1,35 +1,35 @@
-PROJECT(FLTKJPEG)
-
-INCLUDE_REGULAR_EXPRESSION("^(jchuff|jconfig|jdct|jdhuff|jerror|jinclude|jmemsys|jmorecfg|jpegint|jpeglib|jversion|jpeg).*$")
-
-INCLUDE_DIRECTORIES(${FLTKJPEG_SOURCE_DIR})
-INCLUDE_DIRECTORIES(${FLTKJPEG_BINARY_DIR})
-
-# memmgr back ends: compile only one of these into a working library
-# (For now, let's use the mode that requires the image fit into memory.
-# This is the recommended mode for Win32 anyway.)
-SET(systemdependent_SRCS jmemnobs.c)
-
-# library object files common to compression and decompression
-SET(common_SRCS
-jcomapi.c jutils.c jerror.c jmemmgr.c
-)
-
-# compression library object files
-SET(compression_SRCS
-jcapimin.c jcapistd.c jctrans.c jcparam.c jdatadst.c jcinit.c
-jcmaster.c jcmarker.c jcmainct.c jcprepct.c jccoefct.c jccolor.c
-jcsample.c jchuff.c jcphuff.c jcdctmgr.c jfdctfst.c jfdctflt.c
-jfdctint.c
-)
-
-# decompression library object files
-SET(decompression_SRCS
-jdapimin.c jdapistd.c jdtrans.c jdatasrc.c jdmaster.c
-jdinput.c jdmarker.c jdhuff.c jdphuff.c jdmainct.c jdcoefct.c
-jdpostct.c jddctmgr.c jidctfst.c jidctflt.c jidctint.c jidctred.c
-jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c
-)
-
-ADD_LIBRARY(fltk_jpeg ${systemdependent_SRCS} ${common_SRCS} ${compression_SRCS} ${decompression_SRCS})
-
+PROJECT(FLTKJPEG)
+
+INCLUDE_REGULAR_EXPRESSION("^(jchuff|jconfig|jdct|jdhuff|jerror|jinclude|jmemsys|jmorecfg|jpegint|jpeglib|jversion|jpeg).*$")
+
+INCLUDE_DIRECTORIES(${FLTKJPEG_SOURCE_DIR})
+INCLUDE_DIRECTORIES(${FLTKJPEG_BINARY_DIR})
+
+# memmgr back ends: compile only one of these into a working library
+# (For now, let's use the mode that requires the image fit into memory.
+# This is the recommended mode for Win32 anyway.)
+SET(systemdependent_SRCS jmemnobs.c)
+
+# library object files common to compression and decompression
+SET(common_SRCS
+jcomapi.c jutils.c jerror.c jmemmgr.c
+)
+
+# compression library object files
+SET(compression_SRCS
+jcapimin.c jcapistd.c jctrans.c jcparam.c jdatadst.c jcinit.c
+jcmaster.c jcmarker.c jcmainct.c jcprepct.c jccoefct.c jccolor.c
+jcsample.c jchuff.c jcphuff.c jcdctmgr.c jfdctfst.c jfdctflt.c
+jfdctint.c
+)
+
+# decompression library object files
+SET(decompression_SRCS
+jdapimin.c jdapistd.c jdtrans.c jdatasrc.c jdmaster.c
+jdinput.c jdmarker.c jdhuff.c jdphuff.c jdmainct.c jdcoefct.c
+jdpostct.c jddctmgr.c jidctfst.c jidctflt.c jidctint.c jidctred.c
+jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c
+)
+
+ADD_LIBRARY(fltk_jpeg ${systemdependent_SRCS} ${common_SRCS} ${compression_SRCS} ${decompression_SRCS})
+
diff --git a/png/CMakeLists.txt b/png/CMakeLists.txt
index abb86f9c9..d8de3fde6 100644
--- a/png/CMakeLists.txt
+++ b/png/CMakeLists.txt
@@ -1,28 +1,28 @@
-PROJECT(FLTKPNG)
-INCLUDE_REGULAR_EXPRESSION("^png.*$")
-
-INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR})
-
-IF(ZLIB_INCLUDE_DIR)
-INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
-ENDIF(ZLIB_INCLUDE_DIR)
-
-INCLUDE_DIRECTORIES(${FLTKPNG_SOURCE_DIR})
-INCLUDE_DIRECTORIES(${FLTKPNG_BINARY_DIR})
-
-# source files for png
-SET(PNG_SRCS
-pngget.c pngrio.c pngwrite.c
-png.c pngmem.c pngrtran.c pngtrans.c pngwtran.c
-pngerror.c pngpread.c pngrutil.c pngwutil.c
-pngread.c pngset.c pngwio.c
-)
-
-ADD_LIBRARY(fltk_png ${PNG_SRCS})
-
-IF(UNIX)
-TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES} -lm)
-ELSE(UNIX)
-TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES})
-ENDIF(UNIX)
-
+PROJECT(FLTKPNG)
+INCLUDE_REGULAR_EXPRESSION("^png.*$")
+
+INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR})
+
+IF(ZLIB_INCLUDE_DIR)
+INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
+ENDIF(ZLIB_INCLUDE_DIR)
+
+INCLUDE_DIRECTORIES(${FLTKPNG_SOURCE_DIR})
+INCLUDE_DIRECTORIES(${FLTKPNG_BINARY_DIR})
+
+# source files for png
+SET(PNG_SRCS
+pngget.c pngrio.c pngwrite.c
+png.c pngmem.c pngrtran.c pngtrans.c pngwtran.c
+pngerror.c pngpread.c pngrutil.c pngwutil.c
+pngread.c pngset.c pngwio.c
+)
+
+ADD_LIBRARY(fltk_png ${PNG_SRCS})
+
+IF(UNIX)
+TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES} -lm)
+ELSE(UNIX)
+TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES})
+ENDIF(UNIX)
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5c3e6f513..84c9f26ce 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,189 +1,193 @@
-SET(CPPFILES
- Fl.cxx
- Fl_Adjuster.cxx
- Fl_Bitmap.cxx
- Fl_Browser.cxx
- Fl_Browser_.cxx
- Fl_Browser_load.cxx
- Fl_Box.cxx
- Fl_Button.cxx
- Fl_Chart.cxx
- Fl_Check_Browser.cxx
- Fl_Check_Button.cxx
- Fl_Choice.cxx
- Fl_Clock.cxx
- Fl_Color_Chooser.cxx
- Fl_Counter.cxx
- Fl_Dial.cxx
- Fl_Double_Window.cxx
- Fl_File_Browser.cxx
- Fl_File_Chooser.cxx
- Fl_File_Chooser2.cxx
- Fl_File_Icon.cxx
- Fl_File_Input.cxx
- Fl_Group.cxx
- Fl_Help_View.cxx
- Fl_Image.cxx
- Fl_Input.cxx
- Fl_Input_.cxx
- Fl_Light_Button.cxx
- Fl_Menu.cxx
- Fl_Menu_.cxx
- Fl_Menu_Bar.cxx
- Fl_Menu_Button.cxx
- Fl_Menu_Window.cxx
- Fl_Menu_add.cxx
- Fl_Menu_global.cxx
- Fl_Multi_Label.cxx
- Fl_Overlay_Window.cxx
- Fl_Pack.cxx
- Fl_Pixmap.cxx
- Fl_Positioner.cxx
- Fl_Preferences.cxx
- Fl_Progress.cxx
- Fl_Repeat_Button.cxx
- Fl_Return_Button.cxx
- Fl_Roller.cxx
- Fl_Round_Button.cxx
- Fl_Scroll.cxx
- Fl_Scrollbar.cxx
- Fl_Shared_Image.cxx
- Fl_Single_Window.cxx
- Fl_Slider.cxx
- Fl_Tabs.cxx
- Fl_Text_Buffer.cxx
- Fl_Text_Display.cxx
- Fl_Text_Editor.cxx
- Fl_Tile.cxx
- Fl_Tiled_Image.cxx
- Fl_Tooltip.cxx
- Fl_Valuator.cxx
- Fl_Value_Input.cxx
- Fl_Value_Output.cxx
- Fl_Value_Slider.cxx
- Fl_Widget.cxx
- Fl_Window.cxx
- Fl_Window_fullscreen.cxx
- Fl_Window_hotspot.cxx
- Fl_Window_iconize.cxx
- Fl_Wizard.cxx
- Fl_XBM_Image.cxx
- Fl_XPM_Image.cxx
- Fl_abort.cxx
- Fl_add_idle.cxx
- Fl_arg.cxx
- Fl_compose.cxx
- Fl_display.cxx
- Fl_get_key.cxx
- Fl_get_system_colors.cxx
- Fl_grab.cxx
- Fl_lock.cxx
- Fl_own_colormap.cxx
- Fl_visual.cxx
- Fl_x.cxx
- filename_absolute.cxx
- filename_expand.cxx
- filename_ext.cxx
- filename_isdir.cxx
- filename_list.cxx
- filename_match.cxx
- filename_setext.cxx
- fl_arc.cxx
- fl_arci.cxx
- fl_ask.cxx
- fl_boxtype.cxx
- fl_color.cxx
- fl_cursor.cxx
- fl_curve.cxx
- fl_diamond_box.cxx
- fl_dnd.cxx
- fl_draw.cxx
- fl_draw_image.cxx
- fl_draw_pixmap.cxx
- fl_engraved_label.cxx
- fl_file_dir.cxx
- fl_font.cxx
- fl_labeltype.cxx
- fl_line_style.cxx
- fl_oval_box.cxx
- fl_overlay.cxx
- fl_overlay_visual.cxx
- fl_plastic.cxx
- fl_read_image.cxx
- fl_rect.cxx
- fl_round_box.cxx
- fl_rounded_box.cxx
- fl_set_font.cxx
- fl_set_fonts.cxx
- fl_scroll_area.cxx
- fl_shadow_box.cxx
- fl_shortcut.cxx
- fl_show_colormap.cxx
- fl_symbols.cxx
- fl_vertex.cxx
- )
-
-SET(FLCPPFILES
- forms_compatability.cxx
- forms_bitmap.cxx
- forms_free.cxx
- forms_fselect.cxx
- forms_pixmap.cxx
- forms_timer.cxx
- )
-
-SET(GLCPPFILES
- Fl_Gl_Choice.cxx
- Fl_Gl_Overlay.cxx
- Fl_Gl_Window.cxx
- gl_draw.cxx
- gl_start.cxx
- glut_compatability.cxx
- glut_font.cxx
- )
-
-SET(IMGCPPFILES
- fl_images_core.cxx
- Fl_BMP_Image.cxx
- Fl_File_Icon2.cxx
- Fl_GIF_Image.cxx
- Fl_Help_Dialog.cxx
- Fl_JPEG_Image.cxx
- Fl_PNG_Image.cxx
- Fl_PNM_Image.cxx
- )
-
-SET(CFILES
- fl_call_main.c
- flstring.c
- scandir.c
- numericsort.c
- vsnprintf.c
- )
-
-ADD_LIBRARY(fltk ${CPPFILES} ${CFILES})
-
-TARGET_LINK_LIBRARIES(fltk ${FLTK_PLATFORM_DEPENDENT_LIBS})
-
-IF(X11_FOUND)
- TARGET_LINK_LIBRARIES(fltk ${X11_LIBRARIES})
-ENDIF(X11_FOUND)
-
-IF(OPENGL_FOUND)
- ADD_LIBRARY(fltk_gl ${GLCPPFILES})
- TARGET_LINK_LIBRARIES(fltk_gl fltk ${OPENGL_LIBRARIES})
-ENDIF(OPENGL_FOUND)
-
-ADD_LIBRARY(fltk_forms ${FLCPPFILES})
-TARGET_LINK_LIBRARIES(fltk_forms fltk)
-
-ADD_LIBRARY(fltk_images ${IMGCPPFILES})
-TARGET_LINK_LIBRARIES(fltk_images fltk)
-
-IF(HAVE_LIBPNG)
- TARGET_LINK_LIBRARIES(fltk_images ${PNG_LIBRARIES})
-ENDIF(HAVE_LIBPNG)
-
-IF(HAVE_LIBJPEG)
- TARGET_LINK_LIBRARIES(fltk_images ${JPEG_LIBRARIES})
-ENDIF(HAVE_LIBJPEG)
+SET(CPPFILES
+ Fl.cxx
+ Fl_Adjuster.cxx
+ Fl_Bitmap.cxx
+ Fl_Browser.cxx
+ Fl_Browser_.cxx
+ Fl_Browser_load.cxx
+ Fl_Box.cxx
+ Fl_Button.cxx
+ Fl_Chart.cxx
+ Fl_Check_Browser.cxx
+ Fl_Check_Button.cxx
+ Fl_Choice.cxx
+ Fl_Clock.cxx
+ Fl_Color_Chooser.cxx
+ Fl_Counter.cxx
+ Fl_Dial.cxx
+ Fl_Double_Window.cxx
+ Fl_File_Browser.cxx
+ Fl_File_Chooser.cxx
+ Fl_File_Chooser2.cxx
+ Fl_File_Icon.cxx
+ Fl_File_Input.cxx
+ Fl_Group.cxx
+ Fl_Help_View.cxx
+ Fl_Image.cxx
+ Fl_Input.cxx
+ Fl_Input_.cxx
+ Fl_Light_Button.cxx
+ Fl_Menu.cxx
+ Fl_Menu_.cxx
+ Fl_Menu_Bar.cxx
+ Fl_Menu_Button.cxx
+ Fl_Menu_Window.cxx
+ Fl_Menu_add.cxx
+ Fl_Menu_global.cxx
+ Fl_Multi_Label.cxx
+ Fl_Overlay_Window.cxx
+ Fl_Pack.cxx
+ Fl_Pixmap.cxx
+ Fl_Positioner.cxx
+ Fl_Preferences.cxx
+ Fl_Progress.cxx
+ Fl_Repeat_Button.cxx
+ Fl_Return_Button.cxx
+ Fl_Roller.cxx
+ Fl_Round_Button.cxx
+ Fl_Scroll.cxx
+ Fl_Scrollbar.cxx
+ Fl_Shared_Image.cxx
+ Fl_Single_Window.cxx
+ Fl_Slider.cxx
+ Fl_Tabs.cxx
+ Fl_Text_Buffer.cxx
+ Fl_Text_Display.cxx
+ Fl_Text_Editor.cxx
+ Fl_Tile.cxx
+ Fl_Tiled_Image.cxx
+ Fl_Tooltip.cxx
+ Fl_Valuator.cxx
+ Fl_Value_Input.cxx
+ Fl_Value_Output.cxx
+ Fl_Value_Slider.cxx
+ Fl_Widget.cxx
+ Fl_Window.cxx
+ Fl_Window_fullscreen.cxx
+ Fl_Window_hotspot.cxx
+ Fl_Window_iconize.cxx
+ Fl_Wizard.cxx
+ Fl_XBM_Image.cxx
+ Fl_XPM_Image.cxx
+ Fl_abort.cxx
+ Fl_add_idle.cxx
+ Fl_arg.cxx
+ Fl_compose.cxx
+ Fl_display.cxx
+ Fl_get_key.cxx
+ Fl_get_system_colors.cxx
+ Fl_grab.cxx
+ Fl_lock.cxx
+ Fl_own_colormap.cxx
+ Fl_visual.cxx
+ Fl_x.cxx
+ filename_absolute.cxx
+ filename_expand.cxx
+ filename_ext.cxx
+ filename_isdir.cxx
+ filename_list.cxx
+ filename_match.cxx
+ filename_setext.cxx
+ fl_arc.cxx
+ fl_arci.cxx
+ fl_ask.cxx
+ fl_boxtype.cxx
+ fl_color.cxx
+ fl_cursor.cxx
+ fl_curve.cxx
+ fl_diamond_box.cxx
+ fl_dnd.cxx
+ fl_draw.cxx
+ fl_draw_image.cxx
+ fl_draw_pixmap.cxx
+ fl_engraved_label.cxx
+ fl_file_dir.cxx
+ fl_font.cxx
+ fl_labeltype.cxx
+ fl_line_style.cxx
+ fl_oval_box.cxx
+ fl_overlay.cxx
+ fl_overlay_visual.cxx
+ fl_plastic.cxx
+ fl_read_image.cxx
+ fl_rect.cxx
+ fl_round_box.cxx
+ fl_rounded_box.cxx
+ fl_set_font.cxx
+ fl_set_fonts.cxx
+ fl_scroll_area.cxx
+ fl_shadow_box.cxx
+ fl_shortcut.cxx
+ fl_show_colormap.cxx
+ fl_symbols.cxx
+ fl_vertex.cxx
+ )
+
+SET(FLCPPFILES
+ forms_compatability.cxx
+ forms_bitmap.cxx
+ forms_free.cxx
+ forms_fselect.cxx
+ forms_pixmap.cxx
+ forms_timer.cxx
+ )
+
+SET(GLCPPFILES
+ Fl_Gl_Choice.cxx
+ Fl_Gl_Overlay.cxx
+ Fl_Gl_Window.cxx
+ gl_draw.cxx
+ gl_start.cxx
+ glut_compatability.cxx
+ glut_font.cxx
+ )
+
+SET(IMGCPPFILES
+ fl_images_core.cxx
+ Fl_BMP_Image.cxx
+ Fl_File_Icon2.cxx
+ Fl_GIF_Image.cxx
+ Fl_Help_Dialog.cxx
+ Fl_JPEG_Image.cxx
+ Fl_PNG_Image.cxx
+ Fl_PNM_Image.cxx
+ )
+
+SET(CFILES
+ fl_call_main.c
+ flstring.c
+ scandir.c
+ numericsort.c
+ vsnprintf.c
+ )
+
+# We need ansi c-flags, especially on HP
+SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
+SET(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
+
+ADD_LIBRARY(fltk ${CPPFILES} ${CFILES})
+
+TARGET_LINK_LIBRARIES(fltk ${FLTK_PLATFORM_DEPENDENT_LIBS} ${CMAKE_THREAD_LIBS_INIT})
+
+IF(X11_FOUND)
+ TARGET_LINK_LIBRARIES(fltk ${X11_LIBRARIES})
+ENDIF(X11_FOUND)
+
+IF(OPENGL_FOUND)
+ ADD_LIBRARY(fltk_gl ${GLCPPFILES})
+ TARGET_LINK_LIBRARIES(fltk_gl fltk ${OPENGL_LIBRARIES})
+ENDIF(OPENGL_FOUND)
+
+ADD_LIBRARY(fltk_forms ${FLCPPFILES})
+TARGET_LINK_LIBRARIES(fltk_forms fltk)
+
+ADD_LIBRARY(fltk_images ${IMGCPPFILES})
+TARGET_LINK_LIBRARIES(fltk_images fltk)
+
+IF(HAVE_LIBPNG)
+ TARGET_LINK_LIBRARIES(fltk_images ${PNG_LIBRARIES})
+ENDIF(HAVE_LIBPNG)
+
+IF(HAVE_LIBJPEG)
+ TARGET_LINK_LIBRARIES(fltk_images ${JPEG_LIBRARIES})
+ENDIF(HAVE_LIBJPEG)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index c32e2dbdb..6cef50ee1 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,96 +1,96 @@
-MACRO(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
- SET(srcs)
- FOREACH(src ${SOURCES})
- IF("${src}" MATCHES ".fl$")
- GET_FILENAME_COMPONENT(fname ${src} NAME_WE)
- SET(fluid_name "${CMAKE_CURRENT_SOURCE_DIR}/${fname}.fl")
- SET(cxx_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx")
- SET(h_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx")
- SET(srcs ${srcs} "${cxx_name}")
- ADD_CUSTOM_COMMAND(
- OUTPUT ${cxx_name}
- DEPENDS ${fluid_name}
- COMMAND ${FLUID_COMMAND}
- ARGS -c ${fluid_name})
- ADD_CUSTOM_COMMAND(
- OUTPUT ${h_name}
- DEPENDS ${fluid_name}
- COMMAND ${FLUID_COMMAND}
- ARGS -c ${fluid_name})
- ELSE("${src}" MATCHES ".fl$")
- SET(srcs ${srcs} ${src})
- ENDIF("${src}" MATCHES ".fl$")
- ENDFOREACH(src)
- ADD_EXECUTABLE(${NAME} ${srcs})
- TARGET_LINK_LIBRARIES(${NAME} ${LIBRARIES})
-ENDMACRO(CREATE_EXAMPLE)
-
-INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
-CREATE_EXAMPLE(adjuster adjuster.cxx fltk)
-CREATE_EXAMPLE(arc arc.cxx fltk)
-CREATE_EXAMPLE(ask ask.cxx fltk)
-CREATE_EXAMPLE(bitmap bitmap.cxx fltk)
-CREATE_EXAMPLE(boxtype boxtype.cxx fltk)
-CREATE_EXAMPLE(browser browser.cxx fltk)
-CREATE_EXAMPLE(button button.cxx fltk)
-CREATE_EXAMPLE(buttons buttons.cxx fltk)
-CREATE_EXAMPLE(checkers checkers.cxx fltk)
-CREATE_EXAMPLE(clock clock.cxx fltk)
-CREATE_EXAMPLE(colbrowser colbrowser.cxx "fltk;fltk_forms")
-CREATE_EXAMPLE(color_chooser color_chooser.cxx fltk)
-CREATE_EXAMPLE(cursor cursor.cxx fltk)
-CREATE_EXAMPLE(curve curve.cxx fltk)
-CREATE_EXAMPLE(demo demo.cxx "fltk;fltk_forms")
-CREATE_EXAMPLE(doublebuffer doublebuffer.cxx fltk)
-CREATE_EXAMPLE(editor editor.cxx fltk)
-CREATE_EXAMPLE(fast_slow fast_slow.fl fltk)
-CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images")
-CREATE_EXAMPLE(fonts fonts.cxx fltk)
-CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
-CREATE_EXAMPLE(hello hello.cxx fltk)
-CREATE_EXAMPLE(help help.cxx "fltk;fltk_images")
-CREATE_EXAMPLE(iconize iconize.cxx fltk)
-CREATE_EXAMPLE(image image.cxx fltk)
-CREATE_EXAMPLE(inactive inactive.fl fltk)
-CREATE_EXAMPLE(input input.cxx fltk)
-CREATE_EXAMPLE(keyboard "keyboard.cxx;keyboard_ui.fl" fltk)
-CREATE_EXAMPLE(label label.cxx "fltk;fltk_forms")
-CREATE_EXAMPLE(line_style line_style.cxx fltk)
-CREATE_EXAMPLE(list_visuals list_visuals.cxx fltk)
-CREATE_EXAMPLE(mandelbrot "mandelbrot_ui.fl;mandelbrot.cxx" fltk)
-CREATE_EXAMPLE(menubar menubar.cxx fltk)
-CREATE_EXAMPLE(message message.cxx fltk)
-CREATE_EXAMPLE(minimum minimum.cxx fltk)
-CREATE_EXAMPLE(navigation navigation.cxx fltk)
-CREATE_EXAMPLE(output output.cxx "fltk;fltk_forms")
-CREATE_EXAMPLE(overlay overlay.cxx fltk)
-CREATE_EXAMPLE(pack pack.cxx fltk)
-CREATE_EXAMPLE(pixmap pixmap.cxx fltk)
-CREATE_EXAMPLE(pixmap_browser pixmap_browser.cxx "fltk;fltk_images")
-CREATE_EXAMPLE(preferences preferences.fl fltk)
-CREATE_EXAMPLE(radio radio.fl fltk)
-CREATE_EXAMPLE(resize resize.fl fltk)
-CREATE_EXAMPLE(resizebox resizebox.cxx fltk)
-CREATE_EXAMPLE(scroll scroll.cxx fltk)
-CREATE_EXAMPLE(subwindow subwindow.cxx fltk)
-CREATE_EXAMPLE(symbols symbols.cxx fltk)
-CREATE_EXAMPLE(tabs tabs.fl fltk)
-CREATE_EXAMPLE(threads threads.cxx fltk)
-CREATE_EXAMPLE(tile tile.cxx fltk)
-CREATE_EXAMPLE(tiled_image tiled_image.cxx fltk)
-CREATE_EXAMPLE(valuators valuators.fl fltk)
-
-# OpenGL demos...
-IF(OPENGL_FOUND)
-CREATE_EXAMPLE(CubeView "CubeMain.cxx;CubeView.cxx;CubeViewUI.fl" "fltk;fltk_gl")
-CREATE_EXAMPLE(cube cube.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
-CREATE_EXAMPLE(fractals "fractals.cxx;fracviewer.cxx" "fltk;fltk_gl")
-CREATE_EXAMPLE(fullscreen fullscreen.cxx "fltk;fltk_gl")
-CREATE_EXAMPLE(glpuzzle glpuzzle.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
-CREATE_EXAMPLE(gl_overlay gl_overlay.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
-CREATE_EXAMPLE(shape shape.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
-ENDIF(OPENGL_FOUND)
+MACRO(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
+ SET(srcs)
+ FOREACH(src ${SOURCES})
+ IF("${src}" MATCHES ".fl$")
+ GET_FILENAME_COMPONENT(fname ${src} NAME_WE)
+ SET(fluid_name "${CMAKE_CURRENT_SOURCE_DIR}/${fname}.fl")
+ SET(cxx_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx")
+ SET(h_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx")
+ SET(srcs ${srcs} "${cxx_name}")
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${cxx_name}
+ DEPENDS ${fluid_name}
+ COMMAND ${FLUID_COMMAND}
+ ARGS -c ${fluid_name})
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${h_name}
+ DEPENDS ${fluid_name}
+ COMMAND ${FLUID_COMMAND}
+ ARGS -c ${fluid_name})
+ ELSE("${src}" MATCHES ".fl$")
+ SET(srcs ${srcs} ${src})
+ ENDIF("${src}" MATCHES ".fl$")
+ ENDFOREACH(src)
+ ADD_EXECUTABLE(${NAME} ${srcs})
+ TARGET_LINK_LIBRARIES(${NAME} ${LIBRARIES})
+ENDMACRO(CREATE_EXAMPLE)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
+CREATE_EXAMPLE(adjuster adjuster.cxx fltk)
+CREATE_EXAMPLE(arc arc.cxx fltk)
+CREATE_EXAMPLE(ask ask.cxx fltk)
+CREATE_EXAMPLE(bitmap bitmap.cxx fltk)
+CREATE_EXAMPLE(boxtype boxtype.cxx fltk)
+CREATE_EXAMPLE(browser browser.cxx fltk)
+CREATE_EXAMPLE(button button.cxx fltk)
+CREATE_EXAMPLE(buttons buttons.cxx fltk)
+CREATE_EXAMPLE(checkers checkers.cxx fltk)
+CREATE_EXAMPLE(clock clock.cxx fltk)
+CREATE_EXAMPLE(colbrowser colbrowser.cxx "fltk;fltk_forms")
+CREATE_EXAMPLE(color_chooser color_chooser.cxx fltk)
+CREATE_EXAMPLE(cursor cursor.cxx fltk)
+CREATE_EXAMPLE(curve curve.cxx fltk)
+CREATE_EXAMPLE(demo demo.cxx "fltk;fltk_forms")
+CREATE_EXAMPLE(doublebuffer doublebuffer.cxx fltk)
+CREATE_EXAMPLE(editor editor.cxx fltk)
+CREATE_EXAMPLE(fast_slow fast_slow.fl fltk)
+CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images")
+CREATE_EXAMPLE(fonts fonts.cxx fltk)
+CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
+CREATE_EXAMPLE(hello hello.cxx fltk)
+CREATE_EXAMPLE(help help.cxx "fltk;fltk_images")
+CREATE_EXAMPLE(iconize iconize.cxx fltk)
+CREATE_EXAMPLE(image image.cxx fltk)
+CREATE_EXAMPLE(inactive inactive.fl fltk)
+CREATE_EXAMPLE(input input.cxx fltk)
+CREATE_EXAMPLE(keyboard "keyboard.cxx;keyboard_ui.fl" fltk)
+CREATE_EXAMPLE(label label.cxx "fltk;fltk_forms")
+CREATE_EXAMPLE(line_style line_style.cxx fltk)
+CREATE_EXAMPLE(list_visuals list_visuals.cxx fltk)
+CREATE_EXAMPLE(mandelbrot "mandelbrot_ui.fl;mandelbrot.cxx" fltk)
+CREATE_EXAMPLE(menubar menubar.cxx fltk)
+CREATE_EXAMPLE(message message.cxx fltk)
+CREATE_EXAMPLE(minimum minimum.cxx fltk)
+CREATE_EXAMPLE(navigation navigation.cxx fltk)
+CREATE_EXAMPLE(output output.cxx "fltk;fltk_forms")
+CREATE_EXAMPLE(overlay overlay.cxx fltk)
+CREATE_EXAMPLE(pack pack.cxx fltk)
+CREATE_EXAMPLE(pixmap pixmap.cxx fltk)
+CREATE_EXAMPLE(pixmap_browser pixmap_browser.cxx "fltk;fltk_images")
+CREATE_EXAMPLE(preferences preferences.fl fltk)
+CREATE_EXAMPLE(radio radio.fl fltk)
+CREATE_EXAMPLE(resize resize.fl fltk)
+CREATE_EXAMPLE(resizebox resizebox.cxx fltk)
+CREATE_EXAMPLE(scroll scroll.cxx fltk)
+CREATE_EXAMPLE(subwindow subwindow.cxx fltk)
+CREATE_EXAMPLE(symbols symbols.cxx fltk)
+CREATE_EXAMPLE(tabs tabs.fl fltk)
+CREATE_EXAMPLE(threads threads.cxx fltk)
+CREATE_EXAMPLE(tile tile.cxx fltk)
+CREATE_EXAMPLE(tiled_image tiled_image.cxx fltk)
+CREATE_EXAMPLE(valuators valuators.fl fltk)
+
+# OpenGL demos...
+IF(OPENGL_FOUND)
+CREATE_EXAMPLE(CubeView "CubeMain.cxx;CubeView.cxx;CubeViewUI.fl" "fltk;fltk_gl")
+CREATE_EXAMPLE(cube cube.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
+CREATE_EXAMPLE(fractals "fractals.cxx;fracviewer.cxx" "fltk;fltk_gl")
+CREATE_EXAMPLE(fullscreen fullscreen.cxx "fltk;fltk_gl")
+CREATE_EXAMPLE(glpuzzle glpuzzle.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
+CREATE_EXAMPLE(gl_overlay gl_overlay.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
+CREATE_EXAMPLE(shape shape.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
+ENDIF(OPENGL_FOUND)
diff --git a/zlib/CMakeLists.txt b/zlib/CMakeLists.txt
index 94fa0e254..e96ce848b 100644
--- a/zlib/CMakeLists.txt
+++ b/zlib/CMakeLists.txt
@@ -1,14 +1,14 @@
-PROJECT(FLTKZLIB)
-INCLUDE_REGULAR_EXPRESSION("^(deflate|inf|trees|zconf|zlib|zutil).*$")
-
-INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR})
-INCLUDE_DIRECTORIES(${FLTKZLIB_BINARY_DIR})
-
-# source files for zlib
-SET(ZLIB_SRCS
-adler32.c compress.c crc32.c deflate.c gzio.c inffast.c
-inflate.c inftrees.c trees.c uncompr.c zutil.c
-)
-
-ADD_LIBRARY(fltk_zlib ${ZLIB_SRCS})
-
+PROJECT(FLTKZLIB)
+INCLUDE_REGULAR_EXPRESSION("^(deflate|inf|trees|zconf|zlib|zutil).*$")
+
+INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR})
+INCLUDE_DIRECTORIES(${FLTKZLIB_BINARY_DIR})
+
+# source files for zlib
+SET(ZLIB_SRCS
+adler32.c compress.c crc32.c deflate.c gzio.c inffast.c
+inflate.c inftrees.c trees.c uncompr.c zutil.c
+)
+
+ADD_LIBRARY(fltk_zlib ${ZLIB_SRCS})
+