summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2010-01-16 14:18:18 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2010-01-16 14:18:18 +0000
commit1c6e95b54549e99188188a8b13c96875a94f1a78 (patch)
tree1635be4b761a4aed3713d382cdf204be50e337b2
parentff861ae5c079a2315847fdf7f1255b1ede405da1 (diff)
CMake support: added platform test for HAVE_SCANDIR_POSIX,
added $Id$ tags and added copyright to (some of the) CMake files. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CMake/FLTKUse.cmake30
-rw-r--r--CMake/PlatformTests.cxx147
-rw-r--r--CMakeLists.txt32
-rw-r--r--configh.cmake.in4
4 files changed, 168 insertions, 45 deletions
diff --git a/CMake/FLTKUse.cmake b/CMake/FLTKUse.cmake
index 3512b5ef9..938366308 100644
--- a/CMake/FLTKUse.cmake
+++ b/CMake/FLTKUse.cmake
@@ -1,3 +1,30 @@
+#
+# "$Id$"
+#
+# CMake support file to build the FLTK project using CMake (www.cmake.org)
+#
+# Copyright 1998-2010 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 on the following page:
+#
+# http:#www.fltk.org/str.php
+#
+
IF(NOT FLTK11_FOUND)
MESSAGE(FATAL_ERROR "Something went wrong. You are including FLTKUse.cmake but FLTK was not found")
ENDIF(NOT FLTK11_FOUND)
@@ -66,3 +93,6 @@ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLTK_REQUIRED_EXE_LINKER
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLTK_REQUIRED_SHARED_LINKER_FLAGS}")
SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLTK_REQUIRED_MODULE_LINKER_FLAGS}")
+#
+# End of "$Id$".
+#
diff --git a/CMake/PlatformTests.cxx b/CMake/PlatformTests.cxx
index bfe97ac95..a4e9c73b3 100644
--- a/CMake/PlatformTests.cxx
+++ b/CMake/PlatformTests.cxx
@@ -1,81 +1,140 @@
+//
+// "$Id$"
+//
+// CMake platform tests for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2010 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 on the following page:
+//
+// http://www.fltk.org/str.php
+//
+
+//
+// The platform tests in this file are invoked by the CMake macro
+// PERFORM_CMAKE_TEST in CMakeLists.txt (or maybe other files).
+//
+// Each platform test in this file must begin and end with
+// #ifdef FOO
+// ...
+// #endif
+// where FOO is the compiler macro to be tested/defined in config.h.
+//
+// It must contain a main() function and return 0 if the test succeeded.
+//
+
#ifdef HAVE_LIBZ
#include <zlib.h>
-int main()
-{
- unsigned long compressedSize = 0;
- unsigned char cd[100];
- const unsigned char ud[100] = "";
- unsigned long uncompressedSize = 0;
-
- // Call zlib's compress function.
- if(compress(cd, &compressedSize, ud, uncompressedSize) != Z_OK)
- {
- return 0;
- }
- return 1;
-}
+int main() {
+ unsigned long compressedSize = 0;
+ unsigned char cd[100];
+ const unsigned char ud[100] = "";
+ unsigned long uncompressedSize = 0;
+ // Call zlib's compress function.
+ if (compress(cd, &compressedSize, ud, uncompressedSize) != Z_OK) {
+ return 0;
+ }
+ return 1;
+}
#endif
+
#ifdef HAVE_LIBJPEG
#include <stdio.h>
#include <jpeglib.h>
-int main()
-{
- struct jpeg_decompress_struct cinfo;
- jpeg_create_decompress(&cinfo);
- jpeg_read_header(&cinfo, TRUE);
- return 1;
+int main() {
+ struct jpeg_decompress_struct cinfo;
+ jpeg_create_decompress(&cinfo);
+ jpeg_read_header(&cinfo, TRUE);
+ return 1;
}
#endif
+
#ifdef HAVE_LIBPNG
#include <png.h>
int main()
{
- png_structp png_ptr = png_create_read_struct
- (PNG_LIBPNG_VER_STRING, (png_voidp)NULL,
- NULL, NULL);
- png_infop info_ptr = png_create_info_struct(png_ptr);
- png_set_sig_bytes(png_ptr, 8);
- png_read_info(png_ptr, info_ptr);
-
- return 0;
+ png_structp png_ptr = png_create_read_struct
+ (PNG_LIBPNG_VER_STRING, (png_voidp)NULL,
+ NULL, NULL);
+ png_infop info_ptr = png_create_info_struct(png_ptr);
+ png_set_sig_bytes(png_ptr, 8);
+ png_read_info(png_ptr, info_ptr);
+
+ return 0;
}
#endif
+
+// This one is probably not used:
#ifdef HAVE_PNG_H
#include <png.h>
-int main() { retunr 0;}
+int main() { return 0;}
#endif
+
#ifdef HAVE_PNG_GET_VALID
#include <png.h>
-int main()
-{
- png_structp png_ptr = png_create_read_struct
- (PNG_LIBPNG_VER_STRING, (png_voidp)NULL,
- NULL, NULL);
- png_infop info_ptr = png_create_info_struct(png_ptr);
- png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS);
- return 0;
+
+int main() {
+ png_structp png_ptr = png_create_read_struct
+ (PNG_LIBPNG_VER_STRING, (png_voidp)NULL,
+ NULL, NULL);
+ png_infop info_ptr = png_create_info_struct(png_ptr);
+ png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS);
+ return 0;
}
#endif
+
#ifdef HAVE_PNG_SET_TRNS_TO_ALPHA
#include <png.h>
-int main()
-{
- png_structp png_ptr = png_create_read_struct
- (PNG_LIBPNG_VER_STRING, (png_voidp)NULL,
- NULL, NULL);
- png_set_tRNS_to_alpha(png_ptr);
- return 0;
+
+int main() {
+ png_structp png_ptr = png_create_read_struct
+ (PNG_LIBPNG_VER_STRING, (png_voidp)NULL,
+ NULL, NULL);
+ png_set_tRNS_to_alpha(png_ptr);
+ return 0;
+}
+#endif
+
+
+#ifdef HAVE_SCANDIR_POSIX
+#include <dirent.h>
+
+int func (const char *d, dirent ***list, void *sort) {
+ int n = scandir(d, list, 0, (int(*)(const dirent **, const dirent **))sort);
+}
+
+int main() {
+ return 0;
}
#endif
+
+//
+// End of "$Id$".
+//
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0f519d3dd..ff8a5962f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,30 @@
+#
+# "$Id$"
+#
# Main CMakeLists.txt to build the FLTK project using CMake (www.cmake.org)
# Written by Andy Cedilnik and Julien Jomier
+#
+# Copyright 1998-2010 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 on the following page:
+#
+# http:#www.fltk.org/str.php
+#
PROJECT(FLTK)
CMAKE_MINIMUM_REQUIRED(VERSION 2.0)
@@ -247,6 +272,9 @@ ELSE(FLTK_USE_SYSTEM_PNG)
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/png")
ENDIF(FLTK_USE_SYSTEM_PNG)
+# Do we have the POSIX compatible scandir() prototype?
+PERFORM_CMAKE_TEST(CMake/PlatformTests.cxx HAVE_SCANDIR_POSIX)
+
SET(FLTK_DATADIR "${CMAKE_INSTALL_PREFIX}/share/FLTK")
SET(FLTK_DOCDIR "${CMAKE_INSTALL_PREFIX}/share/doc/FLTK")
@@ -410,3 +438,7 @@ INSTALL_FILES(/lib/FLTK-${FLTK_VERSION} FILES "${FLTK_SOURCE_DIR}/CMake/FLTKUse.
INSTALL_FILES(/lib/FLTK-${FLTK_VERSION} FILES "${FLTK_BINARY_DIR}/FLTKBuildSettings.cmake")
INSTALL_FILES(/lib/FLTK-${FLTK_VERSION} FILES "${FLTK_BINARY_DIR}/FLTKLibraryDepends.cmake")
INSTALL_FILES(/lib/FLTK-${FLTK_VERSION} FILES "${FLTK_BINARY_DIR}/CMake/FLTKConfig.cmake")
+
+#
+# End of "$Id$".
+#
diff --git a/configh.cmake.in b/configh.cmake.in
index e555dac65..76e2cd2a2 100644
--- a/configh.cmake.in
+++ b/configh.cmake.in
@@ -162,7 +162,8 @@
#cmakedefine U64 @U64@
/*
- * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H, HAVE_SCANDIR:
+ * HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H,
+ * HAVE_SCANDIR, HAVE_SCANDIR_POSIX:
*
* Where is <dirent.h> (used only by fl_file_chooser and scandir).
*/
@@ -172,6 +173,7 @@
#cmakedefine HAVE_SYS_DIR_H @HAVE_SYS_DIR_H@
#cmakedefine HAVE_NDIR_H @HAVE_NDIR_H@
#cmakedefine HAVE_SCANDIR @HAVE_SCANDIR@
+#cmakedefine HAVE_SCANDIR_POSIX @HAVE_SCANDIR_POSIX@
/*
* Possibly missing sprintf-style functions: