summaryrefslogtreecommitdiff
path: root/CMake/resources.cmake
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2014-02-09 18:41:29 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2014-02-09 18:41:29 +0000
commitf35274095392e82e5d20459f100bb6ba268cc6d7 (patch)
treec0d7b0fdce376cc708f2707874520c99dd9f41fd /CMake/resources.cmake
parent98695591f4aa3b0a19e271b7de54041d507ddc1b (diff)
Split CMake files for better maintenance, as discussed in fltk.general.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'CMake/resources.cmake')
-rw-r--r--CMake/resources.cmake124
1 files changed, 124 insertions, 0 deletions
diff --git a/CMake/resources.cmake b/CMake/resources.cmake
new file mode 100644
index 000000000..dbd19f8d0
--- /dev/null
+++ b/CMake/resources.cmake
@@ -0,0 +1,124 @@
+#
+# "$Id: CMakeLists.txt 10092 2014-02-02 00:49:50Z AlbrechtS $"
+#
+# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
+# Written by Michael Surette
+#
+# Copyright 1998-2010 by Bill Spitzak and others.
+#
+# This library is free software. Distribution and use rights are outlined in
+# the file "COPYING" which should have been included with this file. If this
+# file is missing or damaged, see the license at:
+#
+# http://www.fltk.org/COPYING.php
+#
+# Please report all bugs and problems on the following page:
+#
+# http://www.fltk.org/str.php
+#
+
+#######################################################################
+# check for headers, libraries and functions
+#######################################################################
+# headers
+find_file(HAVE_ALSA_ASOUNDLIB_H alsa/asoundlib.h)
+find_file(HAVE_DIRENT_H dirent.h)
+find_file(HAVE_DLFCN_H dlfcn.h)
+find_file(HAVE_FREETYPE_H freetype.h PATH_SUFFIXES freetype2)
+find_file(HAVE_GL_GL_H GL/gl.h)
+find_file(HAVE_GL_GLU_H GL/glu.h)
+find_file(HAVE_LIBPNG_PNG_H libpng/png.h)
+find_file(HAVE_LOCALE_H locale.h)
+find_file(HAVE_NDIR_H ndir.h)
+find_file(HAVE_OPENGL_GLU_H OpenGL/glu.h)
+find_file(HAVE_PNG_H png.h)
+find_file(HAVE_PTHREAD_H pthread.h)
+find_file(HAVE_STDIO_H stdio.h)
+find_file(HAVE_STRINGS_H strings.h)
+find_file(HAVE_SYS_DIR_H sys/dir.h)
+find_file(HAVE_SYS_NDIR_H sys/ndir.h)
+find_file(HAVE_SYS_SELECT_H sys/select.h)
+find_file(HAVE_SYS_STDTYPES_H sys/stdtypes.h)
+find_path(HAVE_XDBE_H Xdbe.h PATH_SUFFIXES X11/extensions extensions)
+
+mark_as_advanced(HAVE_ALSA_ASOUNDLIB_H HAVE_DIRENT_H HAVE_DLFCN_H)
+mark_as_advanced(HAVE_FREETYPE_H HAVE_GL_GL_H HAVE_GL_GLU_H)
+mark_as_advanced(HAVE_LIBPNG_PNG_H HAVE_LOCALE_H HAVE_NDIR_H)
+mark_as_advanced(HAVE_OPENGL_GLU_H HAVE_PNG_H HAVE_PTHREAD_H)
+mark_as_advanced(HAVE_STDIO_H HAVE_STRINGS_H HAVE_SYS_DIR_H)
+mark_as_advanced(HAVE_SYS_NDIR_H HAVE_SYS_SELECT_H)
+mark_as_advanced(HAVE_SYS_STDTYPES_H HAVE_XDBE_H)
+
+# where to find freetype headers
+find_path(FREETYPE_PATH freetype.h PATH_SUFFIXES freetype2)
+if(FREETYPE_PATH)
+ include_directories(${FREETYPE_PATH})
+endif(FREETYPE_PATH)
+mark_as_advanced(FREETYPE_PATH)
+
+#######################################################################
+# libraries
+find_library(LIB_CAIRO cairo)
+find_library(LIB_dl dl)
+find_library(LIB_fontconfig fontconfig)
+find_library(LIB_freetype freetype)
+find_library(LIB_GL GL)
+find_library(LIB_MesaGL MesaGL)
+find_library(LIB_jpeg jpeg)
+find_library(LIB_png png)
+find_library(LIB_zlib z)
+
+mark_as_advanced(LIB_CAIRO LIB_dl LIB_fontconfig LIB_freetype)
+mark_as_advanced(LIB_GL LIB_MesaGL)
+mark_as_advanced(LIB_jpeg LIB_png LIB_zlib)
+
+#######################################################################
+# functions
+include(CheckFunctionExists)
+
+if(HAVE_DLFCN_H)
+ set(CMAKE_REQUIRED_LIBRARIES dl)
+ set(HAVE_DLFCN_H 1)
+endif(HAVE_DLFCN_H)
+CHECK_FUNCTION_EXISTS(dlsym HAVE_DLSYM)
+
+CHECK_FUNCTION_EXISTS(localeconv HAVE_LOCALECONV)
+
+if(LIB_png)
+ set(CMAKE_REQUIRED_LIBRARIES png)
+endif(LIB_png)
+CHECK_FUNCTION_EXISTS(png_get_valid HAVE_PNG_GET_VALID)
+CHECK_FUNCTION_EXISTS(png_set_tRNS_to_alpha HAVE_PNG_SET_TRNS_TO_ALPHA)
+
+CHECK_FUNCTION_EXISTS(scandir HAVE_SCANDIR)
+CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF)
+
+# not really true but we convert strcasecmp calls to _stricmp calls in flstring.h
+if(MSVC)
+ set(HAVE_STRCASECMP 1)
+endif(MSVC)
+
+CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
+
+CHECK_FUNCTION_EXISTS(strlcat HAVE_STRLCAT)
+CHECK_FUNCTION_EXISTS(strlcpy HAVE_STRLCPY)
+CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF)
+
+set(CMAKE_REQUIRED_LIBRARIES)
+
+if(HAVE_SCANDIR AND NOT HAVE_SCANDIR_POSIX)
+ set(MSG "POSIX compatible scandir")
+ message(STATUS "Looking for ${MSG}")
+ try_compile(V
+ ${FLTK_BINARY_DIR}
+ ${FLTK_SOURCE_DIR}/CMake/posixScandir.cxx
+ )
+ if(V)
+ message(STATUS "${MSG} - found")
+ set(HAVE_SCANDIR_POSIX 1 CACHE INTERNAL "")
+ else()
+ message(STATUS "${MSG} - not found")
+ set(HAVE_SCANDIR_POSIX HAVE_SCANDIR_POSIX-NOTFOUND)
+ endif(V)
+endif(HAVE_SCANDIR AND NOT HAVE_SCANDIR_POSIX)
+mark_as_advanced(HAVE_SCANDIR_POSIX)