summaryrefslogtreecommitdiffstats
path: root/CMakeScripts/ConfigChecks.cmake
diff options
context:
space:
mode:
authorJoshua L. Blocher <verbalshadow@gmail.com>2008-05-03 20:15:46 +0000
committerverbalshadow <verbalshadow@users.sourceforge.net>2008-05-03 20:15:46 +0000
commitac291163103c470b1a7f5e65d8df6b7936f3c71a (patch)
tree358a19440d7eacd5e784184a95242b546be9f6fb /CMakeScripts/ConfigChecks.cmake
parentRemove invalid struct initialization warnings. (diff)
downloadinkscape-ac291163103c470b1a7f5e65d8df6b7936f3c71a.tar.gz
inkscape-ac291163103c470b1a7f5e65d8df6b7936f3c71a.zip
Cmake: Fixed HAVE_CAIRO_PDF and moved ConfigChecks to it's own file
(bzr r5590)
Diffstat (limited to '')
-rw-r--r--CMakeScripts/ConfigChecks.cmake70
1 files changed, 70 insertions, 0 deletions
diff --git a/CMakeScripts/ConfigChecks.cmake b/CMakeScripts/ConfigChecks.cmake
new file mode 100644
index 000000000..184239cd8
--- /dev/null
+++ b/CMakeScripts/ConfigChecks.cmake
@@ -0,0 +1,70 @@
+#---------------
+# From here on:
+# Set all HAVE_XXX variables, to correctly set all defines in config.h
+
+INCLUDE (CheckIncludeFiles)
+INCLUDE (CheckFunctionExists)
+INCLUDE (CheckStructMember)
+# usage: CHECK_INCLUDE_FILES (<header> <RESULT_VARIABLE> )
+# usage: CHECK_FUNCTION_EXISTS (<function name> <RESULT_VARIABLE> )
+# usage: CHECK_STRUCT_MEMBER (<struct> <member> <header> <RESULT_VARIABLE>)
+
+CHECK_INCLUDE_FILES(boost/concept_check.hpp HAVE_BOOST_CONCEPT_CHECK_HPP)
+CHECK_INCLUDE_FILES(cairo-pdf.h HAVE_CAIRO_PDF)
+CHECK_FUNCTION_EXISTS(floor HAVE_FLOOR)
+CHECK_FUNCTION_EXISTS(fpsetmask HAVE_FPSETMASK)
+CHECK_INCLUDE_FILES(gc/gc.h HAVE_GC_GC_H)
+CHECK_INCLUDE_FILES(gc.h HAVE_GC_H)
+CHECK_INCLUDE_FILES(getopt.h HAVE_GETOPT_H)
+CHECK_FUNCTION_EXISTS(gettext HAVE_GETTEXT)
+CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
+CHECK_FUNCTION_EXISTS(gtk_window_fullscreen HAVE_GTK_WINDOW_FULLSCREEN)
+CHECK_FUNCTION_EXISTS(gtk_window_set_default_icon_from_file HAVE_GTK_WINDOW_SET_DEFAULT_ICON_FROM_FILE)
+CHECK_INCLUDE_FILES(ieeefp.h HAVE_IEEEFP_H)
+CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILES(locale.h HAVE_LC_MESSAGES)
+CHECK_INCLUDE_FILES(locale.h HAVE_LOCALE_H)
+CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H)
+CHECK_INCLUDE_FILES(fcntl.h HAVE_FCNTL_H)
+CHECK_FUNCTION_EXISTS(mallinfo HAVE_MALLINFO)
+CHECK_INCLUDE_FILES(malloc.h HAVE_MALLOC_H)
+CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
+CHECK_INCLUDE_FILES(memory.h HAVE_MEMORY_H)
+CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET)
+CHECK_FUNCTION_EXISTS(mkdir HAVE_MKDIR)
+CHECK_FUNCTION_EXISTS(pow HAVE_POW)
+CHECK_FUNCTION_EXISTS(sqrt HAVE_SQRT)
+CHECK_INCLUDE_FILES(stddef.h HAVE_STDDEF_H)
+CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
+CHECK_INCLUDE_FILES(stdlib.h HAVE_STDLIB_H)
+CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H)
+CHECK_INCLUDE_FILES(string.h HAVE_STRING_H)
+CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP)
+CHECK_FUNCTION_EXISTS(strpbrk HAVE_STRPBRK)
+CHECK_FUNCTION_EXISTS(strrchr HAVE_STRRCHR)
+CHECK_FUNCTION_EXISTS(strspn HAVE_STRSPN)
+CHECK_FUNCTION_EXISTS(strstr HAVE_STRSTR)
+CHECK_FUNCTION_EXISTS(strtoul HAVE_STRTOUL)
+CHECK_STRUCT_MEMBER(fordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FORDBLKS)
+CHECK_STRUCT_MEMBER(fsmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FSMBLKS)
+CHECK_STRUCT_MEMBER(hblkhd mallinfo malloc.h HAVE_STRUCT_MALLINFO_HBLKHD)
+CHECK_STRUCT_MEMBER(uordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_UORDBLKS)
+CHECK_STRUCT_MEMBER(usmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_USMBLKS)
+CHECK_INCLUDE_FILES(sys/filio.h HAVE_SYS_FILIO_H)
+CHECK_INCLUDE_FILES(sys/stat.h HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILES(sys/time.h HAVE_SYS_TIME_H)
+CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H)
+CHECK_INCLUDE_FILES(zlib.h HAVE_ZLIB_H)
+
+#Enable pango defines, necessary for compilation on Win32, how about Linux?
+# yes but needs to be done a better way
+IF (HAVE_CAIRO_PDF)
+ SET(PANGO_ENABLE_ENGINE TRUE)
+ SET(RENDER_WITH_PANGO_CAIRO TRUE)
+ENDIF(HAVE_CAIRO_PDF)
+
+# Create the two configuration files: config.h and inkscape_version.h
+# Create them in the binary root dir
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
+FILE(WRITE ${CMAKE_BINARY_DIR}/inkscape_version.h "#define INKSCAPE_VERSION \"${INKSCAPE_VERSION}\"\n")