Documentation updates (STR #568)

More CMake updates (STR #499)

The Watcom C++ compiler needed a small change (STR #567)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3869 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet
2004-10-18 20:29:58 +00:00
parent bf910884cc
commit ca005c4067
13 changed files with 1058 additions and 943 deletions

View File

@@ -1,6 +1,9 @@
CHANGES IN FLTK 1.1.5 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 - Added DESTDIR support and now remove all man pages for
the "uninstall" target (STR #545) the "uninstall" target (STR #545)
- Fix PNG drawing on buggy WIN32 graphics cards (STR - Fix PNG drawing on buggy WIN32 graphics cards (STR

View File

@@ -1,54 +1,54 @@
# #
# Check if the symbol exists in include files # Check if the symbol exists in include files
# #
# CHECK_FUNCTIONWITHHEADER_EXISTS - macro which checks the symbol exists in include files. # CHECK_FUNCTIONWITHHEADER_EXISTS - macro which checks the symbol exists in include files.
# SYMBOL - symbol # SYMBOL - symbol
# FILES - include files to check # FILES - include files to check
# VARIABLE - variable to return result # VARIABLE - variable to return result
# #
MACRO(CHECK_FUNCTIONWITHHEADER_EXISTS SYMBOL FILES VARIABLE) MACRO(CHECK_FUNCTIONWITHHEADER_EXISTS SYMBOL FILES VARIABLE)
IF("${VARIABLE}" MATCHES "^${VARIABLE}$") IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
SET(CHECK_SYMBOL_EXISTS_CONTENT "/* */\n") SET(CHECK_SYMBOL_EXISTS_CONTENT "/* */\n")
SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS}) SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
IF(CMAKE_REQUIRED_LIBRARIES) IF(CMAKE_REQUIRED_LIBRARIES)
SET(CHECK_SYMBOL_EXISTS_LIBS SET(CHECK_SYMBOL_EXISTS_LIBS
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
ENDIF(CMAKE_REQUIRED_LIBRARIES) ENDIF(CMAKE_REQUIRED_LIBRARIES)
FOREACH(FILE ${FILES}) FOREACH(FILE ${FILES})
SET(CHECK_SYMBOL_EXISTS_CONTENT SET(CHECK_SYMBOL_EXISTS_CONTENT
"${CHECK_SYMBOL_EXISTS_CONTENT}#include <${FILE}>\n") "${CHECK_SYMBOL_EXISTS_CONTENT}#include <${FILE}>\n")
ENDFOREACH(FILE) ENDFOREACH(FILE)
SET(CHECK_SYMBOL_EXISTS_CONTENT SET(CHECK_SYMBOL_EXISTS_CONTENT
"${CHECK_SYMBOL_EXISTS_CONTENT}\nint main()\n{\n${SYMBOL};return 0;\n}\n") "${CHECK_SYMBOL_EXISTS_CONTENT}\nint main()\n{\n${SYMBOL};return 0;\n}\n")
FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c FILE(WRITE ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c
"${CHECK_SYMBOL_EXISTS_CONTENT}") "${CHECK_SYMBOL_EXISTS_CONTENT}")
MESSAGE(STATUS "Looking for ${SYMBOL}") MESSAGE(STATUS "Looking for ${SYMBOL}")
TRY_COMPILE(${VARIABLE} TRY_COMPILE(${VARIABLE}
${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c
CMAKE_FLAGS CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS} -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
"${CHECK_SYMBOL_EXISTS_LIBS}" "${CHECK_SYMBOL_EXISTS_LIBS}"
OUTPUT_VARIABLE OUTPUT) OUTPUT_VARIABLE OUTPUT)
IF(${VARIABLE}) IF(${VARIABLE})
MESSAGE(STATUS "Looking for ${SYMBOL} - found") MESSAGE(STATUS "Looking for ${SYMBOL} - found")
SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}") SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log
"Determining if the ${SYMBOL} " "Determining if the ${SYMBOL} "
"exist passed with the following output:\n" "exist passed with the following output:\n"
"${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n" "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n"
"${CHECK_SYMBOL_EXISTS_CONTENT}\n") "${CHECK_SYMBOL_EXISTS_CONTENT}\n")
ELSE(${VARIABLE}) ELSE(${VARIABLE})
MESSAGE(STATUS "Looking for ${SYMBOL} - not found.") MESSAGE(STATUS "Looking for ${SYMBOL} - not found.")
SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}") SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
"Determining if the ${SYMBOL} " "Determining if the ${SYMBOL} "
"exist failed with the following output:\n" "exist failed with the following output:\n"
"${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n" "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeTmp/CheckSymbolExists.c:\n"
"${CHECK_SYMBOL_EXISTS_CONTENT}\n") "${CHECK_SYMBOL_EXISTS_CONTENT}\n")
ENDIF(${VARIABLE}) ENDIF(${VARIABLE})
ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$") ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
ENDMACRO(CHECK_FUNCTIONWITHHEADER_EXISTS) ENDMACRO(CHECK_FUNCTIONWITHHEADER_EXISTS)

View File

@@ -1,32 +1,32 @@
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# #
# FLTKConfig.cmake - FLTK CMake configuration file for external projects. # FLTKConfig.cmake - FLTK CMake configuration file for external projects.
# #
# This file is configured by FLTK and used by the UseFLTK.cmake module # This file is configured by FLTK and used by the UseFLTK.cmake module
# to load FLTK's settings for an external project. # to load FLTK's settings for an external project.
# The FLTK source tree. # The FLTK source tree.
SET(FLTK_SOURCE_DIR "@FLTK_SOURCE_DIR@") SET(FLTK_SOURCE_DIR "@FLTK_SOURCE_DIR@")
# The FLTK include file directories. # The FLTK include file directories.
SET(FLTK_EXECUTABLE_DIRS "@FLTK_EXECUTABLE_DIRS@") SET(FLTK_EXECUTABLE_DIRS "@FLTK_EXECUTABLE_DIRS@")
SET(FLTK_LIBRARY_DIRS "@FLTK_LIBRARY_DIRS@") SET(FLTK_LIBRARY_DIRS "@FLTK_LIBRARY_DIRS@")
SET(FLTK_LIBRARIES "fltk_images;fltk;fltk_gl;fltk_forms") SET(FLTK_LIBRARIES "fltk_images;fltk;fltk_gl;fltk_forms")
# The C and C++ flags added by FLTK to the cmake-configured flags. # 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_C_FLAGS "@FLTK_REQUIRED_C_FLAGS@")
SET(FLTK_REQUIRED_CXX_FLAGS "@FLTK_REQUIRED_CXX_FLAGS@") SET(FLTK_REQUIRED_CXX_FLAGS "@FLTK_REQUIRED_CXX_FLAGS@")
# The FLTK version number # The FLTK version number
SET(FLTK_VERSION_MAJOR "@FLTK_VERSION_MAJOR@") SET(FLTK_VERSION_MAJOR "@FLTK_VERSION_MAJOR@")
SET(FLTK_VERSION_MINOR "@FLTK_VERSION_MINOR@") SET(FLTK_VERSION_MINOR "@FLTK_VERSION_MINOR@")
SET(FLTK_VERSION_PATCH "@FLTK_VERSION_PATCH@") SET(FLTK_VERSION_PATCH "@FLTK_VERSION_PATCH@")
# The location of the UseFLTK.cmake file. # The location of the UseFLTK.cmake file.
SET(FLTK_USE_FILE "@FLTK_USE_FILE@") SET(FLTK_USE_FILE "@FLTK_USE_FILE@")
# The build settings file. # The build settings file.
SET(FLTK_BUILD_SETTINGS_FILE "@FLTK_BUILD_SETTINGS_FILE@") SET(FLTK_BUILD_SETTINGS_FILE "@FLTK_BUILD_SETTINGS_FILE@")
# Whether FLTK was built with shared libraries. # Whether FLTK was built with shared libraries.
SET(FLTK_BUILD_SHARED "@BUILD_SHARED_LIBS@") SET(FLTK_BUILD_SHARED "@BUILD_SHARED_LIBS@")

View File

@@ -1,231 +1,311 @@
# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org) # Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
# Written by Andy Cedilnik and Julien Jomier # Written by Andy Cedilnik and Julien Jomier
PROJECT(FLTK) PROJECT(FLTK)
SET(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin CACHE INTERNAL SET(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin CACHE INTERNAL
"Where to put the executables for FLTK" "Where to put the executables for FLTK"
) )
SET(LIBRARY_OUTPUT_PATH "${FLTK_BINARY_DIR}/lib" CACHE INTERNAL SET(LIBRARY_OUTPUT_PATH "${FLTK_BINARY_DIR}/lib" CACHE INTERNAL
"Where to put the libraries for FLTK" "Where to put the libraries for FLTK"
) )
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Test for some required system information. # Test for some required system information.
INCLUDE (${CMAKE_ROOT}/Modules/FindThreads.cmake) INCLUDE (${CMAKE_ROOT}/Modules/FindThreads.cmake)
SET (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL "Use the pthreads library.") SET (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL "Use the pthreads library.")
SET(FLTK_DATADIR "${CMAKE_INSTALL_PREFIX}/share/FLTK") SET(FLTK_DATADIR "${CMAKE_INSTALL_PREFIX}/share/FLTK")
SET(FLTK_DOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/FLTK") SET(FLTK_DOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/FLTK")
CONFIGURE_FILE(${FLTK_SOURCE_DIR}/configh.cmake.in CONFIGURE_FILE(${FLTK_SOURCE_DIR}/configh.cmake.in
${FLTK_BINARY_DIR}/config.h) ${FLTK_BINARY_DIR}/config.h)
IF(WIN32) IF(WIN32)
IF(NOT CYGWIN) IF(NOT CYGWIN)
IF(BORLAND) IF(BORLAND)
SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 ) SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
ELSE(BORLAND) ELSE(BORLAND)
SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 ) SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
ENDIF(BORLAND) ENDIF(BORLAND)
ENDIF(NOT CYGWIN) ENDIF(NOT CYGWIN)
ENDIF(WIN32) ENDIF(WIN32)
IF(UNIX) SET(FLTK_X11 1)
INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake) SET(FLTK_APPLE 0)
SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm) IF(APPLE)
ENDIF(UNIX) OPTION(FLTK_APPLE_X11 "Use X11 on Mac instead of Carbon" OFF)
MARK_AS_ADVANCED(FLTK_APPLE_X11)
IF(APPLE) IF(NOT FLTK_APPLE_X11)
SET( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz") SET(FLTK_APPLE 1)
ENDIF(APPLE) SET(FLTK_X11 0)
OPTION(FLTK_QUARTZ "Use Quartz instead of Quickdraw" OFF)
IF(CYGWIN) ENDIF(NOT FLTK_APPLE_X11)
ADD_DEFINITIONS(-DWIN32) ENDIF(APPLE)
SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32)
ENDIF(CYGWIN) IF(UNIX)
INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake)
SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
INCLUDE_DIRECTORIES( ENDIF(UNIX)
${FLTK_BINARY_DIR}
${FLTK_SOURCE_DIR} IF(APPLE)
) SET( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
ENDIF(APPLE)
INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
# Check if header file exists and add it to the list. IF(CYGWIN)
MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE) ADD_DEFINITIONS(-DWIN32)
CHECK_INCLUDE_FILES("${PROJECT_INCLUDES};${FILE}" ${VARIABLE}) SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32)
IF(${VARIABLE}) ENDIF(CYGWIN)
SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${FILE})
ENDIF(${VARIABLE})
ENDMACRO(CHECK_INCLUDE_FILE_CONCAT) INCLUDE_DIRECTORIES(
CHECK_INCLUDE_FILE_CONCAT("GL/glu.h" HAVE_GL_GLU_H) ${FLTK_BINARY_DIR}
CHECK_INCLUDE_FILE_CONCAT("dirent.h" HAVE_DIRENT_H) ${FLTK_SOURCE_DIR}
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) INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
CHECK_INCLUDE_FILE_CONCAT("sys/ndir.h" HAVE_SYS_NDIR_H) # Check if header file exists and add it to the list.
CHECK_INCLUDE_FILE_CONCAT("sys/select.h" HAVE_SYS_SELECT_H) MACRO(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
CHECK_INCLUDE_FILE_CONCAT("sys/stdtypes.h" HAVE_SYS_STDTYPES_H) CHECK_INCLUDE_FILES("${PROJECT_INCLUDES};${FILE}" ${VARIABLE})
CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H) IF(${VARIABLE})
SET(PROJECT_INCLUDES ${PROJECT_INCLUDES} ${FILE})
INCLUDE(${CMAKE_ROOT}/Modules/FindZLIB.cmake) ENDIF(${VARIABLE})
INCLUDE(${CMAKE_ROOT}/Modules/FindPNG.cmake) ENDMACRO(CHECK_INCLUDE_FILE_CONCAT)
INCLUDE(${CMAKE_ROOT}/Modules/FindJPEG.cmake) CHECK_INCLUDE_FILE_CONCAT("GL/glu.h" HAVE_GL_GLU_H)
CHECK_INCLUDE_FILE_CONCAT("OpenGL/glu.h" HAVE_OPENGL_GLU_H)
INCLUDE(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) CHECK_INCLUDE_FILE_CONCAT("dirent.h" HAVE_DIRENT_H)
INCLUDE(${FLTK_SOURCE_DIR}/CMake/CheckFunctionWithHeaderExists.cmake) CHECK_INCLUDE_FILE_CONCAT("stdio.h" HAVE_STDIO_H)
CHECK_INCLUDE_FILE_CONCAT("strings.h" HAVE_STRINGS_H)
CHECK_FUNCTIONWITHHEADER_EXISTS("int strcasecmp()" "${PROJECT_INCLUDES}" HAVE_STRCASECMP) CHECK_INCLUDE_FILE_CONCAT("sys/dir.h" HAVE_SYS_DIR_H)
CHECK_INCLUDE_FILE_CONCAT("sys/ndir.h" HAVE_SYS_NDIR_H)
CHECK_SYMBOL_EXISTS(strlcat "${PROJECT_INCLUDES}" HAVE_STRLCAT) CHECK_INCLUDE_FILE_CONCAT("sys/select.h" HAVE_SYS_SELECT_H)
CHECK_SYMBOL_EXISTS(strlcpy "${PROJECT_INCLUDES}" HAVE_STRLCPY) CHECK_INCLUDE_FILE_CONCAT("sys/stdtypes.h" HAVE_SYS_STDTYPES_H)
CHECK_SYMBOL_EXISTS(vsnprintf "${PROJECT_INCLUDES}" HAVE_VSNPRINTF) CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
CHECK_SYMBOL_EXISTS(snprintf "${PROJECT_INCLUDES}" HAVE_SNPRINTF)
CHECK_SYMBOL_EXISTS(scandir "${PROJECT_INCLUDES}" HAVE_SCANDIR) INCLUDE(${CMAKE_ROOT}/Modules/FindZLIB.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/FindPNG.cmake)
INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) INCLUDE(${CMAKE_ROOT}/Modules/FindJPEG.cmake)
CHECK_TYPE_SIZE(short SIZEOF_SHORT) INCLUDE(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
CHECK_TYPE_SIZE(int SIZEOF_INT) INCLUDE(${FLTK_SOURCE_DIR}/CMake/CheckFunctionWithHeaderExists.cmake)
CHECK_TYPE_SIZE(long SIZEOF_LONG)
CHECK_FUNCTIONWITHHEADER_EXISTS("int strcasecmp()" "${PROJECT_INCLUDES}" HAVE_STRCASECMP)
IF(${SIZEOF_SHORT} MATCHES "^2$")
SET(U16 "unsigned short") CHECK_SYMBOL_EXISTS(strlcat "${PROJECT_INCLUDES}" HAVE_STRLCAT)
ENDIF(${SIZEOF_SHORT} MATCHES "^2$") CHECK_SYMBOL_EXISTS(strlcpy "${PROJECT_INCLUDES}" HAVE_STRLCPY)
CHECK_SYMBOL_EXISTS(vsnprintf "${PROJECT_INCLUDES}" HAVE_VSNPRINTF)
IF(${SIZEOF_INT} MATCHES "^4$") CHECK_SYMBOL_EXISTS(snprintf "${PROJECT_INCLUDES}" HAVE_SNPRINTF)
SET(U32 "unsigned") CHECK_SYMBOL_EXISTS(scandir "${PROJECT_INCLUDES}" HAVE_SCANDIR)
ELSE(${SIZEOF_INT} MATCHES "^4$")
IF(${SIZEOF_LONG} MATCHES "^4$") INCLUDE(${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
SET(U32 "unsigned long")
ENDIF(${SIZEOF_LONG} MATCHES "^4$") CHECK_TYPE_SIZE(short SIZEOF_SHORT)
ENDIF(${SIZEOF_INT} MATCHES "^4$") CHECK_TYPE_SIZE(int SIZEOF_INT)
CHECK_TYPE_SIZE(long SIZEOF_LONG)
IF(${SIZEOF_INT} MATCHES "^8$")
SET(U64 "unsigned") IF(${SIZEOF_SHORT} MATCHES "^2$")
ELSE(${SIZEOF_INT} MATCHES "^8$") SET(U16 "unsigned short")
IF(${SIZEOF_LONG} MATCHES "^8$") ENDIF(${SIZEOF_SHORT} MATCHES "^2$")
SET(U64 "unsigned long")
ENDIF(${SIZEOF_LONG} MATCHES "^8$") IF(${SIZEOF_INT} MATCHES "^4$")
ENDIF(${SIZEOF_INT} MATCHES "^8$") SET(U32 "unsigned")
ELSE(${SIZEOF_INT} MATCHES "^4$")
SET(HAVE_GL 0) IF(${SIZEOF_LONG} MATCHES "^4$")
SET(U32 "unsigned long")
# Set an option to build FLTK with OpenGL support ENDIF(${SIZEOF_LONG} MATCHES "^4$")
OPTION(USE_OPENGL "OpenGL Support" ON) ENDIF(${SIZEOF_INT} MATCHES "^4$")
IF(USE_OPENGL)
INCLUDE(${CMAKE_ROOT}/Modules/FindOpenGL.cmake) IF(${SIZEOF_INT} MATCHES "^8$")
IF(OPENGL_FOUND) SET(U64 "unsigned")
SET(HAVE_GL 1) ELSE(${SIZEOF_INT} MATCHES "^8$")
ENDIF(OPENGL_FOUND) INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
ENDIF(USE_OPENGL) IF(${SIZEOF_LONG} MATCHES "^8$")
SET(U64 "unsigned long")
# ENDIF(${SIZEOF_LONG} MATCHES "^8$")
# Perform the FLTK specific test with status output ENDIF(${SIZEOF_INT} MATCHES "^8$")
#
MACRO(PERFORM_CMAKE_TEST FILE TEST) SET(HAVE_GL 0)
IF("${TEST}" MATCHES "^${TEST}$")
# Perform test # Set an option to build FLTK with OpenGL support
SET(MACRO_CHECK_FUNCTION_DEFINITIONS OPTION(USE_OPENGL "OpenGL Support" ON)
"-D${TEST} ${CMAKE_REQUIRED_FLAGS}") IF(USE_OPENGL)
IF(CMAKE_REQUIRED_LIBRARIES) INCLUDE(${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
SET(TEST_ADD_LIBRARIES IF(OPENGL_FOUND)
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") SET(HAVE_GL 1)
ENDIF(CMAKE_REQUIRED_LIBRARIES) ENDIF(OPENGL_FOUND)
MESSAGE(STATUS "Performing Test ${TEST}") ENDIF(USE_OPENGL)
TRY_COMPILE(${TEST} #
${CMAKE_BINARY_DIR} # Perform the FLTK specific test with status output
${CMAKE_CURRENT_SOURCE_DIR}/${FILE} #
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS} MACRO(PERFORM_CMAKE_TEST FILE TEST)
-DLINK_LIBRARIES:STRING=${CMAKE_TEST_SPECIAL_LIBRARIES} IF("${TEST}" MATCHES "^${TEST}$")
"${TEST_ADD_LIBRARIES}" # Perform test
OUTPUT_VARIABLE OUTPUT) SET(MACRO_CHECK_FUNCTION_DEFINITIONS
IF(${TEST}) "-D${TEST} ${CMAKE_REQUIRED_FLAGS}")
SET(${TEST} 1 CACHE INTERNAL "CMake test ${FUNCTION}") IF(CMAKE_REQUIRED_LIBRARIES)
MESSAGE(STATUS "Performing Test ${TEST} - Success") SET(TEST_ADD_LIBRARIES
ELSE(${TEST}) "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
MESSAGE(STATUS "Performing Test ${TEST} - Failed") ENDIF(CMAKE_REQUIRED_LIBRARIES)
SET(${TEST} 0 CACHE INTERNAL "Test ${FUNCTION}") MESSAGE(STATUS "Performing Test ${TEST}")
WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
"Performing Test ${TEST} failed with the following output:\n" TRY_COMPILE(${TEST}
"${OUTPUT}\n" APPEND) ${CMAKE_BINARY_DIR}
ENDIF(${TEST}) ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}
ELSE("${TEST}" MATCHES "^${TEST}$") CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
# Have result -DLINK_LIBRARIES:STRING=${CMAKE_TEST_SPECIAL_LIBRARIES}
#FOREACH(tst ${TEST}) "${TEST_ADD_LIBRARIES}"
# MESSAGE("Test ${TEST} resulted in ${${tst}}") OUTPUT_VARIABLE OUTPUT)
#ENDFOREACH(tst ${TEST}) IF(${TEST})
ENDIF("${TEST}" MATCHES "^${TEST}$") SET(${TEST} 1 CACHE INTERNAL "CMake test ${FUNCTION}")
ENDMACRO(PERFORM_CMAKE_TEST FILE TEST) MESSAGE(STATUS "Performing Test ${TEST} - Success")
ELSE(${TEST})
# Set an option to build the zlib library or not MESSAGE(STATUS "Performing Test ${TEST} - Failed")
OPTION(FLTK_USE_SYSTEM_ZLIB "Use's system zlib" ON) SET(${TEST} 0 CACHE INTERNAL "Test ${FUNCTION}")
IF(FLTK_USE_SYSTEM_ZLIB) WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
IF(ZLIB_FOUND) "Performing Test ${TEST} failed with the following output:\n"
SET(CMAKE_TEST_SPECIAL_LIBRARIES ${ZLIB_LIBRARIES}) "${OUTPUT}\n" APPEND)
PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBZ) ENDIF(${TEST})
ENDIF(ZLIB_FOUND) ELSE("${TEST}" MATCHES "^${TEST}$")
# We build the fltk zlib # Have result
ELSE(FLTK_USE_SYSTEM_ZLIB) #FOREACH(tst ${TEST})
MARK_AS_ADVANCED(ZLIB_INCLUDE_DIR) # MESSAGE("Test ${TEST} resulted in ${${tst}}")
MARK_AS_ADVANCED(ZLIB_LIBRARY) #ENDFOREACH(tst ${TEST})
SUBDIRS(zlib) ENDIF("${TEST}" MATCHES "^${TEST}$")
ENDIF(FLTK_USE_SYSTEM_ZLIB) ENDMACRO(PERFORM_CMAKE_TEST FILE TEST)
# Set an option to build the jpeg library or not # Set an option to build the zlib library or not
OPTION(FLTK_USE_SYSTEM_JPEG "Use's system jpeg" ON) OPTION(FLTK_USE_SYSTEM_ZLIB "Use's system zlib" ON)
IF(FLTK_USE_SYSTEM_JPEG) IF(FLTK_USE_SYSTEM_ZLIB)
IF(JPEG_FOUND) IF(ZLIB_FOUND)
SET(CMAKE_TEST_SPECIAL_LIBRARIES ${JPEG_LIBRARIES}) SET(CMAKE_TEST_SPECIAL_LIBRARIES ${ZLIB_LIBRARIES})
PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBJPEG) PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBZ)
ENDIF(JPEG_FOUND) ENDIF(ZLIB_FOUND)
# We build the fltk png # We build the fltk zlib
ELSE(FLTK_USE_SYSTEM_JPEG) ELSE(FLTK_USE_SYSTEM_ZLIB)
MARK_AS_ADVANCED(JPEG_INCLUDE_DIR) MARK_AS_ADVANCED(ZLIB_INCLUDE_DIR)
MARK_AS_ADVANCED(JPEG_LIBRARY) MARK_AS_ADVANCED(ZLIB_LIBRARY)
SUBDIRS(jpeg) SUBDIRS(zlib)
ENDIF(FLTK_USE_SYSTEM_JPEG) 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)
# Set an option to build the png library or not IF(FLTK_USE_SYSTEM_JPEG)
OPTION(FLTK_USE_SYSTEM_PNG "Use's system png" ON) IF(JPEG_FOUND)
IF(FLTK_USE_SYSTEM_PNG) SET(CMAKE_TEST_SPECIAL_LIBRARIES ${JPEG_LIBRARIES})
IF(PNG_FOUND) PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBJPEG)
SET(CMAKE_TEST_SPECIAL_LIBRARIES ${PNG_LIBRARIES}) ENDIF(JPEG_FOUND)
PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_LIBPNG) # We build the fltk png
PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_GET_VALID) ELSE(FLTK_USE_SYSTEM_JPEG)
PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_SET_TRNS_TO_ALPHA) MARK_AS_ADVANCED(JPEG_INCLUDE_DIR)
SET(HAVE_PNG_H 1) MARK_AS_ADVANCED(JPEG_LIBRARY)
ENDIF(PNG_FOUND) SUBDIRS(jpeg)
# We build the fltk png ENDIF(FLTK_USE_SYSTEM_JPEG)
ELSE(FLTK_USE_SYSTEM_PNG)
MARK_AS_ADVANCED(PNG_INCLUDE_DIR) # Set an option to build the png library or not
MARK_AS_ADVANCED(PNG_LIBRARY) OPTION(FLTK_USE_SYSTEM_PNG "Use's system png" ON)
SUBDIRS(png) IF(FLTK_USE_SYSTEM_PNG)
ENDIF(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)
SUBDIRS(src) PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_PNG_SET_TRNS_TO_ALPHA)
SUBDIRS(fluid) SET(HAVE_PNG_H 1)
ENDIF(PNG_FOUND)
# Set the fluid executable path # We build the fltk png
SET(FLUID_COMMAND ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/fluid) ELSE(FLTK_USE_SYSTEM_PNG)
MARK_AS_ADVANCED(PNG_INCLUDE_DIR)
# Set an option to build the tests MARK_AS_ADVANCED(PNG_LIBRARY)
OPTION(BUILD_TESTS "Build the tests" ON) SUBDIRS(png)
IF(BUILD_TESTS) ENDIF(FLTK_USE_SYSTEM_PNG)
SUBDIRS(test)
ENDIF(BUILD_TESTS ) SUBDIRS(src)
SUBDIRS(fluid)
#Genereate the configuration file SET(FLTK_CREATE_SYMLINKS 1)
SET(FLTK_EXECUTABLE_DIRS ${EXECUTABLE_OUTPUT_PATH}) IF(WIN32)
SET(FLTK_LIBRARY_DIRS ${LIBRARY_OUTPUT_PATH}) IF(NOT UNIX)
SET(FLTK_CREATE_SYMLINKS 0)
CONFIGURE_FILE(${FLTK_SOURCE_DIR}/CMake/FLTKConfig.cmake.in ENDIF(NOT UNIX)
${FLTK_BINARY_DIR}/FLTKConfig.cmake) 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)

View File

@@ -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). * 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 */ # endif /* __cplusplus */
# if defined(WIN32) && !defined(__CYGWIN__) # if defined(WIN32) && !defined(__CYGWIN__) && !defined(__WATCOMC__)
struct dirent {char d_name[1];}; struct dirent {char d_name[1];};
@@ -65,6 +65,10 @@ struct dirent {char d_name[1];};
# include <sys/types.h> # include <sys/types.h>
# include "/usr/include/dirent.h" # include "/usr/include/dirent.h"
# elif defined(__WATCOMC__)
# include <sys/types.h>
# include <direct.h>
# else # else
/* /*
* WARNING: on some systems (very few nowadays?) <dirent.h> may not exist. * 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 */ #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 $".
*/ */

View File

@@ -1,234 +1,258 @@
/* /*
* "$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). * Configuration file for the Fast Light Tool Kit (FLTK).
* @configure_input@ * @configure_input@
* *
* Copyright 1998-2003 by Bill Spitzak and others. * Copyright 1998-2004 by Bill Spitzak and others.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public * modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either * License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version. * version 2 of the License, or (at your option) any later version.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details. * Library General Public License for more details.
* *
* You should have received a copy of the GNU Library General Public * You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA. * USA.
* *
* Please report all bugs and problems to "fltk-bugs@fltk.org". * Please report all bugs and problems to "fltk-bugs@fltk.org".
*/ */
/* /*
* Where to find files... * Where to find files...
*/ */
#define FLTK_DATADIR "@FLTK_DATADIR@" #define FLTK_DATADIR "@FLTK_DATADIR@"
#define FLTK_DOCDIR "@FLTK_DOCDIR@" #define FLTK_DOCDIR "@FLTK_DOCDIR@"
/* /*
* BORDER_WIDTH: * BORDER_WIDTH:
* *
* Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are * Thickness of FL_UP_BOX and FL_DOWN_BOX. Current 1,2, and 3 are
* supported. * supported.
* *
* 3 is the historic FLTK look. * 3 is the historic FLTK look.
* 2 is the default and looks like Microsoft Windows, KDE, and Qt. * 2 is the default and looks like Microsoft Windows, KDE, and Qt.
* 1 is a plausible future evolution... * 1 is a plausible future evolution...
* *
* Note that this may be simulated at runtime by redefining the boxtypes * Note that this may be simulated at runtime by redefining the boxtypes
* using Fl::set_boxtype(). * using Fl::set_boxtype().
*/ */
#define BORDER_WIDTH 2 #define BORDER_WIDTH 2
/* /*
* HAVE_GL: * HAVE_GL:
* *
* Do you have OpenGL? Set this to 0 if you don't have or plan to use * Do you have OpenGL? Set this to 0 if you don't have or plan to use
* OpenGL, and FLTK will be smaller. * OpenGL, and FLTK will be smaller.
*/ */
#define HAVE_GL @HAVE_GL@ #define HAVE_GL @HAVE_GL@
/* /*
* HAVE_GL_GLU_H: * HAVE_GL_GLU_H:
* *
* Do you have the OpenGL Utility Library header file? * Do you have the OpenGL Utility Library header file?
* (many broken Mesa RPMs do not...) * (many broken Mesa RPMs do not...)
*/ */
#cmakedefine HAVE_GL_GLU_H @HAVE_GL_GLU_H@ #cmakedefine HAVE_GL_GLU_H @HAVE_GL_GLU_H@
/* /*
* USE_COLORMAP: * USE_COLORMAP:
* *
* Setting this to zero will save a good deal of code (especially for * Setting this to zero will save a good deal of code (especially for
* fl_draw_image), but FLTK will only work on TrueColor visuals. * fl_draw_image), but FLTK will only work on TrueColor visuals.
*/ */
#define USE_COLORMAP 1 #define USE_COLORMAP 1
/* /*
* USE_XFT * USE_XFT
* *
* Use the new Xft library to draw anti-aliased text. * Use the new Xft library to draw anti-aliased text.
*/ */
#define USE_XFT 0 #define USE_XFT 0
/* /*
* HAVE_XDBE: * HAVE_XDBE:
* *
* Do we have the X double-buffer extension? * Do we have the X double-buffer extension?
*/ */
#define HAVE_XDBE 0 #define HAVE_XDBE 0
/* /*
* USE_XDBE: * USE_XDBE:
* *
* Actually try to use the double-buffer extension? * Actually try to use the double-buffer extension?
*/ */
#define USE_XDBE HAVE_XDBE #define USE_XDBE HAVE_XDBE
/* /*
* HAVE_OVERLAY: * USE_QUARTZ:
* *
* Use the X overlay extension? FLTK will try to use an overlay * Use Quartz instead of Quickdraw on Apple Mac OS X machines.
* visual for Fl_Overlay_Window, the Gl_Window overlay, and for the * FLTK was originally ported to Quickdraw which is no longer
* menus. Setting this to zero will remove a substantial amount of * supported by Apple. If USE_QUARTZ is defined, FLTK will be
* code from FLTK. Overlays have only been tested on SGI servers! * compiled using Quartz instead. This flag has no meaning on
*/ * other operating systems.
*/
#define HAVE_OVERLAY 0
#cmakedefine FLTK_APPLE
/* #ifdef FLTK_APPLE
* HAVE_GL_OVERLAY: #cmakedefine FLTK_QUARTZ
* #ifdef FLTK_QUARTZ
* It is possible your GL has an overlay even if X does not. If so, #define USE_QUARTZ 1
* set this to 1. #define __APPLE_QUARTZ__
*/ #undef __APPLE_QD__
#else
#define HAVE_GL_OVERLAY HAVE_OVERLAY #define USE_QUARTZ 0
#undef __APPLE_QUARTZ__
/* #define __APPLE_QD__
* WORDS_BIGENDIAN: #endif
* #endif
* Byte order of your machine: 1 = big-endian, 0 = little-endian.
*/ /*
* HAVE_OVERLAY:
#define WORDS_BIGENDIAN 0 *
* Use the X overlay extension? FLTK will try to use an overlay
/* * visual for Fl_Overlay_Window, the Gl_Window overlay, and for the
* U16, U32, U64: * menus. Setting this to zero will remove a substantial amount of
* * code from FLTK. Overlays have only been tested on SGI servers!
* Types used by fl_draw_image. One of U32 or U64 must be defined. */
* U16 is optional but FLTK will work better with it!
*/ #define HAVE_OVERLAY 0
#cmakedefine U16 @U16@ /*
#cmakedefine U32 @U32@ * HAVE_GL_OVERLAY:
#cmakedefine U64 @U64@ *
* It is possible your GL has an overlay even if X does not. If so,
/* * set this to 1.
* 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). #define HAVE_GL_OVERLAY HAVE_OVERLAY
*/
/*
#cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@ * WORDS_BIGENDIAN:
#cmakedefine HAVE_SYS_NDIR_H @HAVE_SYS_NDIR_H@ *
#cmakedefine HAVE_SYS_DIR_H @HAVE_SYS_DIR_H@ * Byte order of your machine: 1 = big-endian, 0 = little-endian.
#cmakedefine HAVE_NDIR_H @HAVE_NDIR_H@ */
#cmakedefine HAVE_SCANDIR @HAVE_SCANDIR@
#define WORDS_BIGENDIAN 0
/*
* Possibly missing sprintf-style functions: /*
*/ * U16, U32, U64:
*
#cmakedefine HAVE_VSNPRINTF @HAVE_VSNPRINTF@ * Types used by fl_draw_image. One of U32 or U64 must be defined.
#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@ * U16 is optional but FLTK will work better with it!
*/
/*
* String functions and headers... #cmakedefine U16 @U16@
*/ #cmakedefine U32 @U32@
#cmakedefine U64 @U64@
#cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@
#cmakedefine HAVE_STRCASECMP @HAVE_STRCASECMP@ /*
#cmakedefine HAVE_STRLCAT @HAVE_STRLCAT@ * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
#cmakedefine HAVE_STRLCPY @HAVE_STRLCPY@ *
* Where is <dirent.h> (used only by fl_file_chooser and scandir).
/* */
* HAVE_SYS_SELECT_H:
* #cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@
* Whether or not select() call has its own header file. #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_SYS_SELECT_H @HAVE_SYS_SELECT_H@ #cmakedefine HAVE_SCANDIR @HAVE_SCANDIR@
/* /*
* HAVE_SYS_STDTYPES_H: * Possibly missing sprintf-style functions:
* */
* Whether or not we have the <sys/stdtypes.h> header file.
*/ #cmakedefine HAVE_VSNPRINTF @HAVE_VSNPRINTF@
#cmakedefine HAVE_SNPRINTF @HAVE_SNPRINTF@
#cmakedefine HAVE_SYS_STDTYPES_H @HAVE_SYS_STDTYPES_H@
/*
/* * String functions and headers...
* USE_POLL: */
*
* Use the poll() call provided on Linux and Irix instead of select() #cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@
*/ #cmakedefine HAVE_STRCASECMP @HAVE_STRCASECMP@
#cmakedefine HAVE_STRLCAT @HAVE_STRLCAT@
#define USE_POLL 0 #cmakedefine HAVE_STRLCPY @HAVE_STRLCPY@
/* /*
* Do we have various image libraries? * HAVE_SYS_SELECT_H:
*/ *
* Whether or not select() call has its own header file.
#cmakedefine HAVE_LIBPNG @HAVE_LIBPNG@ */
#cmakedefine HAVE_LIBZ @HAVE_LIBZ@
#cmakedefine HAVE_LIBJPEG @HAVE_LIBJPEG@ #cmakedefine HAVE_SYS_SELECT_H @HAVE_SYS_SELECT_H@
/* /*
* Which header file do we include for libpng? * HAVE_SYS_STDTYPES_H:
*/ *
* Whether or not we have the <sys/stdtypes.h> header file.
#cmakedefine HAVE_PNG_H @HAVE_PNG_H@ */
#cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@
#cmakedefine HAVE_SYS_STDTYPES_H @HAVE_SYS_STDTYPES_H@
/*
* Do we have the png_xyz() functions? /*
*/ * USE_POLL:
*
#cmakedefine HAVE_PNG_GET_VALID @HAVE_PNG_GET_VALID@ * Use the poll() call provided on Linux and Irix instead of select()
#cmakedefine HAVE_PNG_SET_TRNS_TO_ALPHA @HAVE_PNG_SET_TRNS_TO_ALPHA@ */
/* #define USE_POLL 0
* Do we have POSIX threading?
*/ /*
* Do we have various image libraries?
#cmakedefine CMAKE_USE_PTHREADS */
#ifdef CMAKE_USE_PTHREADS
#define HAVE_PTHREAD 1 #cmakedefine HAVE_LIBPNG @HAVE_LIBPNG@
#else #cmakedefine HAVE_LIBZ @HAVE_LIBZ@
#define HAVE_PTHREAD 0 #cmakedefine HAVE_LIBJPEG @HAVE_LIBJPEG@
#endif
/*
#cmakedefine CMAKE_HAVE_PTHREAD_H * Which header file do we include for libpng?
#ifdef CMAKE_HAVE_PTHREAD_H */
#define HAVE_PTHREAD_H 1
#else #cmakedefine HAVE_PNG_H @HAVE_PNG_H@
#define HAVE_PTHREAD_H 0 #cmakedefine HAVE_LIBPNG_PNG_H @HAVE_LIBPNG_PNG_H@
#endif
/*
/* * Do we have the png_xyz() functions?
* End of "$Id: configh.cmake.in,v 1.1.2.1 2004/09/13 02:12:40 easysw Exp $". */
*/
#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 $".
*/

View File

@@ -346,7 +346,7 @@ with your application use:
<UL><PRE> <UL><PRE>
#include &quot;icon.xbm&quot; #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), Pixmap p = XCreateBitmapFromData(fl_display, DefaultRootWindow(fl_display),
icon_bits, icon_width, icon_height); icon_bits, icon_width, icon_height);

View File

@@ -1,25 +1,25 @@
SET(CPPFILES SET(CPPFILES
Fl_Function_Type.cxx Fl_Function_Type.cxx
Fl_Menu_Type.cxx Fl_Menu_Type.cxx
Fl_Group_Type.cxx Fl_Group_Type.cxx
Fl_Widget_Type.cxx Fl_Widget_Type.cxx
Fl_Type.cxx Fl_Type.cxx
Fl_Window_Type.cxx Fl_Window_Type.cxx
Fluid_Image.cxx Fluid_Image.cxx
code.cxx code.cxx
factory.cxx factory.cxx
file.cxx file.cxx
fluid.cxx fluid.cxx
align_widget.cxx align_widget.cxx
about_panel.cxx about_panel.cxx
widget_panel.cxx widget_panel.cxx
alignment_panel.cxx alignment_panel.cxx
function_panel.cxx function_panel.cxx
) )
ADD_EXECUTABLE(fluid ${CPPFILES}) ADD_EXECUTABLE(fluid ${CPPFILES})
TARGET_LINK_LIBRARIES(fluid fltk fltk_images fltk_forms ${FLTK_PLATFORM_DEPENDENT_LIBS}) TARGET_LINK_LIBRARIES(fluid fltk fltk_images fltk_forms ${FLTK_PLATFORM_DEPENDENT_LIBS})
IF(OPENGL_FOUND) IF(OPENGL_FOUND)
TARGET_LINK_LIBRARIES(fluid fltk_gl) TARGET_LINK_LIBRARIES(fluid fltk_gl)
ENDIF(OPENGL_FOUND) ENDIF(OPENGL_FOUND)

View File

@@ -1,35 +1,35 @@
PROJECT(FLTKJPEG) PROJECT(FLTKJPEG)
INCLUDE_REGULAR_EXPRESSION("^(jchuff|jconfig|jdct|jdhuff|jerror|jinclude|jmemsys|jmorecfg|jpegint|jpeglib|jversion|jpeg).*$") INCLUDE_REGULAR_EXPRESSION("^(jchuff|jconfig|jdct|jdhuff|jerror|jinclude|jmemsys|jmorecfg|jpegint|jpeglib|jversion|jpeg).*$")
INCLUDE_DIRECTORIES(${FLTKJPEG_SOURCE_DIR}) INCLUDE_DIRECTORIES(${FLTKJPEG_SOURCE_DIR})
INCLUDE_DIRECTORIES(${FLTKJPEG_BINARY_DIR}) INCLUDE_DIRECTORIES(${FLTKJPEG_BINARY_DIR})
# memmgr back ends: compile only one of these into a working library # 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. # (For now, let's use the mode that requires the image fit into memory.
# This is the recommended mode for Win32 anyway.) # This is the recommended mode for Win32 anyway.)
SET(systemdependent_SRCS jmemnobs.c) SET(systemdependent_SRCS jmemnobs.c)
# library object files common to compression and decompression # library object files common to compression and decompression
SET(common_SRCS SET(common_SRCS
jcomapi.c jutils.c jerror.c jmemmgr.c jcomapi.c jutils.c jerror.c jmemmgr.c
) )
# compression library object files # compression library object files
SET(compression_SRCS SET(compression_SRCS
jcapimin.c jcapistd.c jctrans.c jcparam.c jdatadst.c jcinit.c jcapimin.c jcapistd.c jctrans.c jcparam.c jdatadst.c jcinit.c
jcmaster.c jcmarker.c jcmainct.c jcprepct.c jccoefct.c jccolor.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 jcsample.c jchuff.c jcphuff.c jcdctmgr.c jfdctfst.c jfdctflt.c
jfdctint.c jfdctint.c
) )
# decompression library object files # decompression library object files
SET(decompression_SRCS SET(decompression_SRCS
jdapimin.c jdapistd.c jdtrans.c jdatasrc.c jdmaster.c jdapimin.c jdapistd.c jdtrans.c jdatasrc.c jdmaster.c
jdinput.c jdmarker.c jdhuff.c jdphuff.c jdmainct.c jdcoefct.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 jdpostct.c jddctmgr.c jidctfst.c jidctflt.c jidctint.c jidctred.c
jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c jdsample.c jdcolor.c jquant1.c jquant2.c jdmerge.c
) )
ADD_LIBRARY(fltk_jpeg ${systemdependent_SRCS} ${common_SRCS} ${compression_SRCS} ${decompression_SRCS}) ADD_LIBRARY(fltk_jpeg ${systemdependent_SRCS} ${common_SRCS} ${compression_SRCS} ${decompression_SRCS})

View File

@@ -1,28 +1,28 @@
PROJECT(FLTKPNG) PROJECT(FLTKPNG)
INCLUDE_REGULAR_EXPRESSION("^png.*$") INCLUDE_REGULAR_EXPRESSION("^png.*$")
INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR}) INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR})
IF(ZLIB_INCLUDE_DIR) IF(ZLIB_INCLUDE_DIR)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
ENDIF(ZLIB_INCLUDE_DIR) ENDIF(ZLIB_INCLUDE_DIR)
INCLUDE_DIRECTORIES(${FLTKPNG_SOURCE_DIR}) INCLUDE_DIRECTORIES(${FLTKPNG_SOURCE_DIR})
INCLUDE_DIRECTORIES(${FLTKPNG_BINARY_DIR}) INCLUDE_DIRECTORIES(${FLTKPNG_BINARY_DIR})
# source files for png # source files for png
SET(PNG_SRCS SET(PNG_SRCS
pngget.c pngrio.c pngwrite.c pngget.c pngrio.c pngwrite.c
png.c pngmem.c pngrtran.c pngtrans.c pngwtran.c png.c pngmem.c pngrtran.c pngtrans.c pngwtran.c
pngerror.c pngpread.c pngrutil.c pngwutil.c pngerror.c pngpread.c pngrutil.c pngwutil.c
pngread.c pngset.c pngwio.c pngread.c pngset.c pngwio.c
) )
ADD_LIBRARY(fltk_png ${PNG_SRCS}) ADD_LIBRARY(fltk_png ${PNG_SRCS})
IF(UNIX) IF(UNIX)
TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES} -lm) TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES} -lm)
ELSE(UNIX) ELSE(UNIX)
TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES}) TARGET_LINK_LIBRARIES(fltk_png ${FLTK_ZLIB_LIBRARIES})
ENDIF(UNIX) ENDIF(UNIX)

View File

@@ -1,189 +1,193 @@
SET(CPPFILES SET(CPPFILES
Fl.cxx Fl.cxx
Fl_Adjuster.cxx Fl_Adjuster.cxx
Fl_Bitmap.cxx Fl_Bitmap.cxx
Fl_Browser.cxx Fl_Browser.cxx
Fl_Browser_.cxx Fl_Browser_.cxx
Fl_Browser_load.cxx Fl_Browser_load.cxx
Fl_Box.cxx Fl_Box.cxx
Fl_Button.cxx Fl_Button.cxx
Fl_Chart.cxx Fl_Chart.cxx
Fl_Check_Browser.cxx Fl_Check_Browser.cxx
Fl_Check_Button.cxx Fl_Check_Button.cxx
Fl_Choice.cxx Fl_Choice.cxx
Fl_Clock.cxx Fl_Clock.cxx
Fl_Color_Chooser.cxx Fl_Color_Chooser.cxx
Fl_Counter.cxx Fl_Counter.cxx
Fl_Dial.cxx Fl_Dial.cxx
Fl_Double_Window.cxx Fl_Double_Window.cxx
Fl_File_Browser.cxx Fl_File_Browser.cxx
Fl_File_Chooser.cxx Fl_File_Chooser.cxx
Fl_File_Chooser2.cxx Fl_File_Chooser2.cxx
Fl_File_Icon.cxx Fl_File_Icon.cxx
Fl_File_Input.cxx Fl_File_Input.cxx
Fl_Group.cxx Fl_Group.cxx
Fl_Help_View.cxx Fl_Help_View.cxx
Fl_Image.cxx Fl_Image.cxx
Fl_Input.cxx Fl_Input.cxx
Fl_Input_.cxx Fl_Input_.cxx
Fl_Light_Button.cxx Fl_Light_Button.cxx
Fl_Menu.cxx Fl_Menu.cxx
Fl_Menu_.cxx Fl_Menu_.cxx
Fl_Menu_Bar.cxx Fl_Menu_Bar.cxx
Fl_Menu_Button.cxx Fl_Menu_Button.cxx
Fl_Menu_Window.cxx Fl_Menu_Window.cxx
Fl_Menu_add.cxx Fl_Menu_add.cxx
Fl_Menu_global.cxx Fl_Menu_global.cxx
Fl_Multi_Label.cxx Fl_Multi_Label.cxx
Fl_Overlay_Window.cxx Fl_Overlay_Window.cxx
Fl_Pack.cxx Fl_Pack.cxx
Fl_Pixmap.cxx Fl_Pixmap.cxx
Fl_Positioner.cxx Fl_Positioner.cxx
Fl_Preferences.cxx Fl_Preferences.cxx
Fl_Progress.cxx Fl_Progress.cxx
Fl_Repeat_Button.cxx Fl_Repeat_Button.cxx
Fl_Return_Button.cxx Fl_Return_Button.cxx
Fl_Roller.cxx Fl_Roller.cxx
Fl_Round_Button.cxx Fl_Round_Button.cxx
Fl_Scroll.cxx Fl_Scroll.cxx
Fl_Scrollbar.cxx Fl_Scrollbar.cxx
Fl_Shared_Image.cxx Fl_Shared_Image.cxx
Fl_Single_Window.cxx Fl_Single_Window.cxx
Fl_Slider.cxx Fl_Slider.cxx
Fl_Tabs.cxx Fl_Tabs.cxx
Fl_Text_Buffer.cxx Fl_Text_Buffer.cxx
Fl_Text_Display.cxx Fl_Text_Display.cxx
Fl_Text_Editor.cxx Fl_Text_Editor.cxx
Fl_Tile.cxx Fl_Tile.cxx
Fl_Tiled_Image.cxx Fl_Tiled_Image.cxx
Fl_Tooltip.cxx Fl_Tooltip.cxx
Fl_Valuator.cxx Fl_Valuator.cxx
Fl_Value_Input.cxx Fl_Value_Input.cxx
Fl_Value_Output.cxx Fl_Value_Output.cxx
Fl_Value_Slider.cxx Fl_Value_Slider.cxx
Fl_Widget.cxx Fl_Widget.cxx
Fl_Window.cxx Fl_Window.cxx
Fl_Window_fullscreen.cxx Fl_Window_fullscreen.cxx
Fl_Window_hotspot.cxx Fl_Window_hotspot.cxx
Fl_Window_iconize.cxx Fl_Window_iconize.cxx
Fl_Wizard.cxx Fl_Wizard.cxx
Fl_XBM_Image.cxx Fl_XBM_Image.cxx
Fl_XPM_Image.cxx Fl_XPM_Image.cxx
Fl_abort.cxx Fl_abort.cxx
Fl_add_idle.cxx Fl_add_idle.cxx
Fl_arg.cxx Fl_arg.cxx
Fl_compose.cxx Fl_compose.cxx
Fl_display.cxx Fl_display.cxx
Fl_get_key.cxx Fl_get_key.cxx
Fl_get_system_colors.cxx Fl_get_system_colors.cxx
Fl_grab.cxx Fl_grab.cxx
Fl_lock.cxx Fl_lock.cxx
Fl_own_colormap.cxx Fl_own_colormap.cxx
Fl_visual.cxx Fl_visual.cxx
Fl_x.cxx Fl_x.cxx
filename_absolute.cxx filename_absolute.cxx
filename_expand.cxx filename_expand.cxx
filename_ext.cxx filename_ext.cxx
filename_isdir.cxx filename_isdir.cxx
filename_list.cxx filename_list.cxx
filename_match.cxx filename_match.cxx
filename_setext.cxx filename_setext.cxx
fl_arc.cxx fl_arc.cxx
fl_arci.cxx fl_arci.cxx
fl_ask.cxx fl_ask.cxx
fl_boxtype.cxx fl_boxtype.cxx
fl_color.cxx fl_color.cxx
fl_cursor.cxx fl_cursor.cxx
fl_curve.cxx fl_curve.cxx
fl_diamond_box.cxx fl_diamond_box.cxx
fl_dnd.cxx fl_dnd.cxx
fl_draw.cxx fl_draw.cxx
fl_draw_image.cxx fl_draw_image.cxx
fl_draw_pixmap.cxx fl_draw_pixmap.cxx
fl_engraved_label.cxx fl_engraved_label.cxx
fl_file_dir.cxx fl_file_dir.cxx
fl_font.cxx fl_font.cxx
fl_labeltype.cxx fl_labeltype.cxx
fl_line_style.cxx fl_line_style.cxx
fl_oval_box.cxx fl_oval_box.cxx
fl_overlay.cxx fl_overlay.cxx
fl_overlay_visual.cxx fl_overlay_visual.cxx
fl_plastic.cxx fl_plastic.cxx
fl_read_image.cxx fl_read_image.cxx
fl_rect.cxx fl_rect.cxx
fl_round_box.cxx fl_round_box.cxx
fl_rounded_box.cxx fl_rounded_box.cxx
fl_set_font.cxx fl_set_font.cxx
fl_set_fonts.cxx fl_set_fonts.cxx
fl_scroll_area.cxx fl_scroll_area.cxx
fl_shadow_box.cxx fl_shadow_box.cxx
fl_shortcut.cxx fl_shortcut.cxx
fl_show_colormap.cxx fl_show_colormap.cxx
fl_symbols.cxx fl_symbols.cxx
fl_vertex.cxx fl_vertex.cxx
) )
SET(FLCPPFILES SET(FLCPPFILES
forms_compatability.cxx forms_compatability.cxx
forms_bitmap.cxx forms_bitmap.cxx
forms_free.cxx forms_free.cxx
forms_fselect.cxx forms_fselect.cxx
forms_pixmap.cxx forms_pixmap.cxx
forms_timer.cxx forms_timer.cxx
) )
SET(GLCPPFILES SET(GLCPPFILES
Fl_Gl_Choice.cxx Fl_Gl_Choice.cxx
Fl_Gl_Overlay.cxx Fl_Gl_Overlay.cxx
Fl_Gl_Window.cxx Fl_Gl_Window.cxx
gl_draw.cxx gl_draw.cxx
gl_start.cxx gl_start.cxx
glut_compatability.cxx glut_compatability.cxx
glut_font.cxx glut_font.cxx
) )
SET(IMGCPPFILES SET(IMGCPPFILES
fl_images_core.cxx fl_images_core.cxx
Fl_BMP_Image.cxx Fl_BMP_Image.cxx
Fl_File_Icon2.cxx Fl_File_Icon2.cxx
Fl_GIF_Image.cxx Fl_GIF_Image.cxx
Fl_Help_Dialog.cxx Fl_Help_Dialog.cxx
Fl_JPEG_Image.cxx Fl_JPEG_Image.cxx
Fl_PNG_Image.cxx Fl_PNG_Image.cxx
Fl_PNM_Image.cxx Fl_PNM_Image.cxx
) )
SET(CFILES SET(CFILES
fl_call_main.c fl_call_main.c
flstring.c flstring.c
scandir.c scandir.c
numericsort.c numericsort.c
vsnprintf.c vsnprintf.c
) )
ADD_LIBRARY(fltk ${CPPFILES} ${CFILES}) # We need ansi c-flags, especially on HP
SET(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
TARGET_LINK_LIBRARIES(fltk ${FLTK_PLATFORM_DEPENDENT_LIBS}) SET(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS})
IF(X11_FOUND) ADD_LIBRARY(fltk ${CPPFILES} ${CFILES})
TARGET_LINK_LIBRARIES(fltk ${X11_LIBRARIES})
ENDIF(X11_FOUND) TARGET_LINK_LIBRARIES(fltk ${FLTK_PLATFORM_DEPENDENT_LIBS} ${CMAKE_THREAD_LIBS_INIT})
IF(OPENGL_FOUND) IF(X11_FOUND)
ADD_LIBRARY(fltk_gl ${GLCPPFILES}) TARGET_LINK_LIBRARIES(fltk ${X11_LIBRARIES})
TARGET_LINK_LIBRARIES(fltk_gl fltk ${OPENGL_LIBRARIES}) ENDIF(X11_FOUND)
ENDIF(OPENGL_FOUND)
IF(OPENGL_FOUND)
ADD_LIBRARY(fltk_forms ${FLCPPFILES}) ADD_LIBRARY(fltk_gl ${GLCPPFILES})
TARGET_LINK_LIBRARIES(fltk_forms fltk) TARGET_LINK_LIBRARIES(fltk_gl fltk ${OPENGL_LIBRARIES})
ENDIF(OPENGL_FOUND)
ADD_LIBRARY(fltk_images ${IMGCPPFILES})
TARGET_LINK_LIBRARIES(fltk_images fltk) ADD_LIBRARY(fltk_forms ${FLCPPFILES})
TARGET_LINK_LIBRARIES(fltk_forms fltk)
IF(HAVE_LIBPNG)
TARGET_LINK_LIBRARIES(fltk_images ${PNG_LIBRARIES}) ADD_LIBRARY(fltk_images ${IMGCPPFILES})
ENDIF(HAVE_LIBPNG) TARGET_LINK_LIBRARIES(fltk_images fltk)
IF(HAVE_LIBJPEG) IF(HAVE_LIBPNG)
TARGET_LINK_LIBRARIES(fltk_images ${JPEG_LIBRARIES}) TARGET_LINK_LIBRARIES(fltk_images ${PNG_LIBRARIES})
ENDIF(HAVE_LIBJPEG) ENDIF(HAVE_LIBPNG)
IF(HAVE_LIBJPEG)
TARGET_LINK_LIBRARIES(fltk_images ${JPEG_LIBRARIES})
ENDIF(HAVE_LIBJPEG)

View File

@@ -1,96 +1,96 @@
MACRO(CREATE_EXAMPLE NAME SOURCES LIBRARIES) MACRO(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
SET(srcs) SET(srcs)
FOREACH(src ${SOURCES}) FOREACH(src ${SOURCES})
IF("${src}" MATCHES ".fl$") IF("${src}" MATCHES ".fl$")
GET_FILENAME_COMPONENT(fname ${src} NAME_WE) GET_FILENAME_COMPONENT(fname ${src} NAME_WE)
SET(fluid_name "${CMAKE_CURRENT_SOURCE_DIR}/${fname}.fl") SET(fluid_name "${CMAKE_CURRENT_SOURCE_DIR}/${fname}.fl")
SET(cxx_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx") SET(cxx_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx")
SET(h_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx") SET(h_name "${CMAKE_CURRENT_BINARY_DIR}/${fname}.cxx")
SET(srcs ${srcs} "${cxx_name}") SET(srcs ${srcs} "${cxx_name}")
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT ${cxx_name} OUTPUT ${cxx_name}
DEPENDS ${fluid_name} DEPENDS ${fluid_name}
COMMAND ${FLUID_COMMAND} COMMAND ${FLUID_COMMAND}
ARGS -c ${fluid_name}) ARGS -c ${fluid_name})
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT ${h_name} OUTPUT ${h_name}
DEPENDS ${fluid_name} DEPENDS ${fluid_name}
COMMAND ${FLUID_COMMAND} COMMAND ${FLUID_COMMAND}
ARGS -c ${fluid_name}) ARGS -c ${fluid_name})
ELSE("${src}" MATCHES ".fl$") ELSE("${src}" MATCHES ".fl$")
SET(srcs ${srcs} ${src}) SET(srcs ${srcs} ${src})
ENDIF("${src}" MATCHES ".fl$") ENDIF("${src}" MATCHES ".fl$")
ENDFOREACH(src) ENDFOREACH(src)
ADD_EXECUTABLE(${NAME} ${srcs}) ADD_EXECUTABLE(${NAME} ${srcs})
TARGET_LINK_LIBRARIES(${NAME} ${LIBRARIES}) TARGET_LINK_LIBRARIES(${NAME} ${LIBRARIES})
ENDMACRO(CREATE_EXAMPLE) ENDMACRO(CREATE_EXAMPLE)
INCLUDE_DIRECTORIES( INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
) )
CREATE_EXAMPLE(adjuster adjuster.cxx fltk) CREATE_EXAMPLE(adjuster adjuster.cxx fltk)
CREATE_EXAMPLE(arc arc.cxx fltk) CREATE_EXAMPLE(arc arc.cxx fltk)
CREATE_EXAMPLE(ask ask.cxx fltk) CREATE_EXAMPLE(ask ask.cxx fltk)
CREATE_EXAMPLE(bitmap bitmap.cxx fltk) CREATE_EXAMPLE(bitmap bitmap.cxx fltk)
CREATE_EXAMPLE(boxtype boxtype.cxx fltk) CREATE_EXAMPLE(boxtype boxtype.cxx fltk)
CREATE_EXAMPLE(browser browser.cxx fltk) CREATE_EXAMPLE(browser browser.cxx fltk)
CREATE_EXAMPLE(button button.cxx fltk) CREATE_EXAMPLE(button button.cxx fltk)
CREATE_EXAMPLE(buttons buttons.cxx fltk) CREATE_EXAMPLE(buttons buttons.cxx fltk)
CREATE_EXAMPLE(checkers checkers.cxx fltk) CREATE_EXAMPLE(checkers checkers.cxx fltk)
CREATE_EXAMPLE(clock clock.cxx fltk) CREATE_EXAMPLE(clock clock.cxx fltk)
CREATE_EXAMPLE(colbrowser colbrowser.cxx "fltk;fltk_forms") CREATE_EXAMPLE(colbrowser colbrowser.cxx "fltk;fltk_forms")
CREATE_EXAMPLE(color_chooser color_chooser.cxx fltk) CREATE_EXAMPLE(color_chooser color_chooser.cxx fltk)
CREATE_EXAMPLE(cursor cursor.cxx fltk) CREATE_EXAMPLE(cursor cursor.cxx fltk)
CREATE_EXAMPLE(curve curve.cxx fltk) CREATE_EXAMPLE(curve curve.cxx fltk)
CREATE_EXAMPLE(demo demo.cxx "fltk;fltk_forms") CREATE_EXAMPLE(demo demo.cxx "fltk;fltk_forms")
CREATE_EXAMPLE(doublebuffer doublebuffer.cxx fltk) CREATE_EXAMPLE(doublebuffer doublebuffer.cxx fltk)
CREATE_EXAMPLE(editor editor.cxx fltk) CREATE_EXAMPLE(editor editor.cxx fltk)
CREATE_EXAMPLE(fast_slow fast_slow.fl fltk) CREATE_EXAMPLE(fast_slow fast_slow.fl fltk)
CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images") CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images")
CREATE_EXAMPLE(fonts fonts.cxx fltk) CREATE_EXAMPLE(fonts fonts.cxx fltk)
CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms") CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
CREATE_EXAMPLE(hello hello.cxx fltk) CREATE_EXAMPLE(hello hello.cxx fltk)
CREATE_EXAMPLE(help help.cxx "fltk;fltk_images") CREATE_EXAMPLE(help help.cxx "fltk;fltk_images")
CREATE_EXAMPLE(iconize iconize.cxx fltk) CREATE_EXAMPLE(iconize iconize.cxx fltk)
CREATE_EXAMPLE(image image.cxx fltk) CREATE_EXAMPLE(image image.cxx fltk)
CREATE_EXAMPLE(inactive inactive.fl fltk) CREATE_EXAMPLE(inactive inactive.fl fltk)
CREATE_EXAMPLE(input input.cxx fltk) CREATE_EXAMPLE(input input.cxx fltk)
CREATE_EXAMPLE(keyboard "keyboard.cxx;keyboard_ui.fl" fltk) CREATE_EXAMPLE(keyboard "keyboard.cxx;keyboard_ui.fl" fltk)
CREATE_EXAMPLE(label label.cxx "fltk;fltk_forms") CREATE_EXAMPLE(label label.cxx "fltk;fltk_forms")
CREATE_EXAMPLE(line_style line_style.cxx fltk) CREATE_EXAMPLE(line_style line_style.cxx fltk)
CREATE_EXAMPLE(list_visuals list_visuals.cxx fltk) CREATE_EXAMPLE(list_visuals list_visuals.cxx fltk)
CREATE_EXAMPLE(mandelbrot "mandelbrot_ui.fl;mandelbrot.cxx" fltk) CREATE_EXAMPLE(mandelbrot "mandelbrot_ui.fl;mandelbrot.cxx" fltk)
CREATE_EXAMPLE(menubar menubar.cxx fltk) CREATE_EXAMPLE(menubar menubar.cxx fltk)
CREATE_EXAMPLE(message message.cxx fltk) CREATE_EXAMPLE(message message.cxx fltk)
CREATE_EXAMPLE(minimum minimum.cxx fltk) CREATE_EXAMPLE(minimum minimum.cxx fltk)
CREATE_EXAMPLE(navigation navigation.cxx fltk) CREATE_EXAMPLE(navigation navigation.cxx fltk)
CREATE_EXAMPLE(output output.cxx "fltk;fltk_forms") CREATE_EXAMPLE(output output.cxx "fltk;fltk_forms")
CREATE_EXAMPLE(overlay overlay.cxx fltk) CREATE_EXAMPLE(overlay overlay.cxx fltk)
CREATE_EXAMPLE(pack pack.cxx fltk) CREATE_EXAMPLE(pack pack.cxx fltk)
CREATE_EXAMPLE(pixmap pixmap.cxx fltk) CREATE_EXAMPLE(pixmap pixmap.cxx fltk)
CREATE_EXAMPLE(pixmap_browser pixmap_browser.cxx "fltk;fltk_images") CREATE_EXAMPLE(pixmap_browser pixmap_browser.cxx "fltk;fltk_images")
CREATE_EXAMPLE(preferences preferences.fl fltk) CREATE_EXAMPLE(preferences preferences.fl fltk)
CREATE_EXAMPLE(radio radio.fl fltk) CREATE_EXAMPLE(radio radio.fl fltk)
CREATE_EXAMPLE(resize resize.fl fltk) CREATE_EXAMPLE(resize resize.fl fltk)
CREATE_EXAMPLE(resizebox resizebox.cxx fltk) CREATE_EXAMPLE(resizebox resizebox.cxx fltk)
CREATE_EXAMPLE(scroll scroll.cxx fltk) CREATE_EXAMPLE(scroll scroll.cxx fltk)
CREATE_EXAMPLE(subwindow subwindow.cxx fltk) CREATE_EXAMPLE(subwindow subwindow.cxx fltk)
CREATE_EXAMPLE(symbols symbols.cxx fltk) CREATE_EXAMPLE(symbols symbols.cxx fltk)
CREATE_EXAMPLE(tabs tabs.fl fltk) CREATE_EXAMPLE(tabs tabs.fl fltk)
CREATE_EXAMPLE(threads threads.cxx fltk) CREATE_EXAMPLE(threads threads.cxx fltk)
CREATE_EXAMPLE(tile tile.cxx fltk) CREATE_EXAMPLE(tile tile.cxx fltk)
CREATE_EXAMPLE(tiled_image tiled_image.cxx fltk) CREATE_EXAMPLE(tiled_image tiled_image.cxx fltk)
CREATE_EXAMPLE(valuators valuators.fl fltk) CREATE_EXAMPLE(valuators valuators.fl fltk)
# OpenGL demos... # OpenGL demos...
IF(OPENGL_FOUND) IF(OPENGL_FOUND)
CREATE_EXAMPLE(CubeView "CubeMain.cxx;CubeView.cxx;CubeViewUI.fl" "fltk;fltk_gl") CREATE_EXAMPLE(CubeView "CubeMain.cxx;CubeView.cxx;CubeViewUI.fl" "fltk;fltk_gl")
CREATE_EXAMPLE(cube cube.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}") CREATE_EXAMPLE(cube cube.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
CREATE_EXAMPLE(fractals "fractals.cxx;fracviewer.cxx" "fltk;fltk_gl") CREATE_EXAMPLE(fractals "fractals.cxx;fracviewer.cxx" "fltk;fltk_gl")
CREATE_EXAMPLE(fullscreen fullscreen.cxx "fltk;fltk_gl") CREATE_EXAMPLE(fullscreen fullscreen.cxx "fltk;fltk_gl")
CREATE_EXAMPLE(glpuzzle glpuzzle.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}") CREATE_EXAMPLE(glpuzzle glpuzzle.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
CREATE_EXAMPLE(gl_overlay gl_overlay.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}") CREATE_EXAMPLE(shape shape.cxx "fltk;fltk_gl;${OPENGL_LIBRARIES}")
ENDIF(OPENGL_FOUND) ENDIF(OPENGL_FOUND)

View File

@@ -1,14 +1,14 @@
PROJECT(FLTKZLIB) PROJECT(FLTKZLIB)
INCLUDE_REGULAR_EXPRESSION("^(deflate|inf|trees|zconf|zlib|zutil).*$") INCLUDE_REGULAR_EXPRESSION("^(deflate|inf|trees|zconf|zlib|zutil).*$")
INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR}) INCLUDE_DIRECTORIES(${FLTKZLIB_SOURCE_DIR})
INCLUDE_DIRECTORIES(${FLTKZLIB_BINARY_DIR}) INCLUDE_DIRECTORIES(${FLTKZLIB_BINARY_DIR})
# source files for zlib # source files for zlib
SET(ZLIB_SRCS SET(ZLIB_SRCS
adler32.c compress.c crc32.c deflate.c gzio.c inffast.c adler32.c compress.c crc32.c deflate.c gzio.c inffast.c
inflate.c inftrees.c trees.c uncompr.c zutil.c inflate.c inftrees.c trees.c uncompr.c zutil.c
) )
ADD_LIBRARY(fltk_zlib ${ZLIB_SRCS}) ADD_LIBRARY(fltk_zlib ${ZLIB_SRCS})