diff options
| -rw-r--r-- | CHANGES | 5 | ||||
| -rw-r--r-- | CMake/CheckFunctionWithHeaderExists.cmake | 108 | ||||
| -rw-r--r-- | CMake/FLTKConfig.cmake.in | 64 | ||||
| -rw-r--r-- | CMakeLists.txt | 542 | ||||
| -rw-r--r-- | FL/filename.H | 10 | ||||
| -rw-r--r-- | configh.cmake.in | 492 | ||||
| -rw-r--r-- | documentation/osissues.html | 2 | ||||
| -rw-r--r-- | fluid/CMakeLists.txt | 50 | ||||
| -rw-r--r-- | jpeg/CMakeLists.txt | 70 | ||||
| -rw-r--r-- | png/CMakeLists.txt | 56 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 382 | ||||
| -rw-r--r-- | test/CMakeLists.txt | 192 | ||||
| -rw-r--r-- | zlib/CMakeLists.txt | 28 |
13 files changed, 1058 insertions, 943 deletions
@@ -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 "icon.xbm" -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}) + |
