summaryrefslogtreecommitdiffstats
path: root/CMakeScripts
diff options
context:
space:
mode:
authorAndrew Higginson <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
committerAndrew <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
commit80960b623a99aae1402ab651b2974ef544ed3b03 (patch)
treeba49d42c2789e9e11f805e2d5263e10f9fedeef8 /CMakeScripts
parenttry to fix bug (diff)
parentGDL: Cherry-pick upstream patch 73852 (2011-03-23) - Add missing return value. (diff)
downloadinkscape-80960b623a99aae1402ab651b2974ef544ed3b03.tar.gz
inkscape-80960b623a99aae1402ab651b2974ef544ed3b03.zip
merged with trunk so I can build again...
(bzr r10092.1.36)
Diffstat (limited to 'CMakeScripts')
-rw-r--r--CMakeScripts/CheckStructMember.cmake62
-rw-r--r--CMakeScripts/ConfigChecks.cmake141
-rw-r--r--CMakeScripts/ConfigCompileFlags.cmake35
-rw-r--r--CMakeScripts/ConfigPaths.cmake62
-rw-r--r--CMakeScripts/DefineDependsandFlags.cmake280
-rw-r--r--CMakeScripts/FindBoost.cmake403
-rw-r--r--CMakeScripts/FindFreetype2.cmake90
-rw-r--r--CMakeScripts/FindGTK2.cmake363
-rw-r--r--CMakeScripts/FindImageMagick++.cmake90
-rw-r--r--CMakeScripts/FindLibWPG.cmake90
-rw-r--r--CMakeScripts/FindSSL.cmake89
-rw-r--r--CMakeScripts/FindXML2.cmake90
-rw-r--r--CMakeScripts/FindXSLT.cmake90
-rw-r--r--CMakeScripts/HelperMacros.cmake144
-rw-r--r--CMakeScripts/IncludeJava.cmake28
-rw-r--r--CMakeScripts/Modules/FindBoehmGC.cmake (renamed from CMakeScripts/FindBoehmGC.cmake)0
-rw-r--r--CMakeScripts/Modules/FindDBus.cmake72
-rw-r--r--CMakeScripts/Modules/FindGSL.cmake (renamed from CMakeScripts/FindGSL.cmake)0
-rw-r--r--CMakeScripts/Modules/FindGTK2.cmake596
-rw-r--r--CMakeScripts/Modules/FindGnomeVFS2.cmake (renamed from CMakeScripts/FindGnomeVFS2.cmake)0
-rw-r--r--CMakeScripts/Modules/FindGtkSpell.cmake28
-rw-r--r--CMakeScripts/Modules/FindLCMS.cmake (renamed from CMakeScripts/FindLCMS.cmake)0
-rw-r--r--CMakeScripts/Modules/FindLibWPG.cmake54
-rw-r--r--CMakeScripts/Modules/FindPANGOMM.cmake (renamed from CMakeScripts/FindPANGOMM.cmake)0
-rw-r--r--CMakeScripts/Modules/FindPopplerCairo.cmake47
-rw-r--r--CMakeScripts/Modules/FindPopt.cmake (renamed from CMakeScripts/FindPopt.cmake)0
-rw-r--r--CMakeScripts/Modules/FindPython.cmake (renamed from CMakeScripts/FindPython.cmake)0
-rw-r--r--CMakeScripts/Modules/FindSigC++.cmake (renamed from CMakeScripts/FindSigC++.cmake)0
-rw-r--r--CMakeScripts/UseGlibMarshal.cmake6
-rwxr-xr-xCMakeScripts/cmake_consistency_check.py297
-rw-r--r--CMakeScripts/cmake_consistency_check_config.py66
-rw-r--r--CMakeScripts/inkscape-version.cmake34
32 files changed, 1692 insertions, 1565 deletions
diff --git a/CMakeScripts/CheckStructMember.cmake b/CMakeScripts/CheckStructMember.cmake
deleted file mode 100644
index e71eb902a..000000000
--- a/CMakeScripts/CheckStructMember.cmake
+++ /dev/null
@@ -1,62 +0,0 @@
-# - Check if the given struct or class has the specified member variable
-# CHECK_STRUCT_MEMBER (STRUCT MEMBER HEADER VARIABLE)
-#
-# STRUCT - the name of the struct or class you are interested in
-# MEMBER - the member which existence you want to check
-# HEADER - the header(s) where the prototype should be declared
-# VARIABLE - variable to store the result
-#
-# The following variables may be set before calling this macro to
-# modify the way the check is run:
-#
-# CMAKE_REQUIRED_FLAGS = string of compile command line flags
-# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
-# CMAKE_REQUIRED_INCLUDES = list of include directories
-
-# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-INCLUDE(CheckCXXSourceCompiles)
-
-MACRO (CHECK_STRUCT_MEMBER _STRUCT _MEMBER _HEADER _RESULT)
- SET(_INCLUDE_FILES)
- FOREACH (it ${_HEADER})
- SET(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
- ENDFOREACH (it)
-
- SET(_CHECK_STRUCT_MEMBER_SOURCE_CODE "
-${_INCLUDE_FILES}
-int main()
-{
- ${_STRUCT}* tmp;
- tmp->${_MEMBER};
- return 0;
-}
-")
- CHECK_CXX_SOURCE_COMPILES("${_CHECK_STRUCT_MEMBER_SOURCE_CODE}" ${_RESULT})
-
-ENDMACRO (CHECK_STRUCT_MEMBER) \ No newline at end of file
diff --git a/CMakeScripts/ConfigChecks.cmake b/CMakeScripts/ConfigChecks.cmake
index d20868767..5f76e01e9 100644
--- a/CMakeScripts/ConfigChecks.cmake
+++ b/CMakeScripts/ConfigChecks.cmake
@@ -1,71 +1,70 @@
-#---------------
-# From here on:
-# Set all HAVE_XXX variables, to correctly set all defines in config.h
-#SET(CMAKE_REQUIRED_INCLUDES ${INK_INCLUDES})
-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")
-add_definitions(-DHAVE_CONFIG_H)
+#---------------
+# From here on:
+# Set all HAVE_XXX variables, to correctly set all defines in config.h
+#SET(CMAKE_REQUIRED_INCLUDES ${INK_INCLUDES})
+include(CheckIncludeFiles)
+include(CheckFunctionExists)
+include(CheckStructHasMember)
+# usage: CHECK_INCLUDE_FILES (<header> <RESULT_VARIABLE> )
+# usage: CHECK_FUNCTION_EXISTS (<function name> <RESULT_VARIABLE> )
+# usage: CHECK_STRUCT_HAS_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_HAS_MEMBER(fordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FORDBLKS)
+CHECK_STRUCT_HAS_MEMBER(fsmblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_FSMBLKS)
+CHECK_STRUCT_HAS_MEMBER(hblkhd mallinfo malloc.h HAVE_STRUCT_MALLINFO_HBLKHD)
+CHECK_STRUCT_HAS_MEMBER(uordblks mallinfo malloc.h HAVE_STRUCT_MALLINFO_UORDBLKS)
+CHECK_STRUCT_HAS_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()
+
+# 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}/include/config.h)
+add_definitions(-DHAVE_CONFIG_H)
diff --git a/CMakeScripts/ConfigCompileFlags.cmake b/CMakeScripts/ConfigCompileFlags.cmake
index bc3b42ef6..0ff66fad8 100644
--- a/CMakeScripts/ConfigCompileFlags.cmake
+++ b/CMakeScripts/ConfigCompileFlags.cmake
@@ -1,25 +1,26 @@
-SET(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
-ADD_DEFINITIONS(-Wall -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch)
-ADD_DEFINITIONS(-O2)
+set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
+add_definitions(-Wall -Wformat-security -W -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch)
+add_definitions(-O2)
#define the flags for profiling if desired:
-IF (ENABLE_PROFILING)
- SET(COMPILE_PROFILING_FLAGS "-pg")
- SET(LINK_PROFILING_FLAGS "-pg")
-ENDIF (ENABLE_PROFILING)
+if(WITH_PROFILING)
+ set(COMPILE_PROFILING_FLAGS "-pg")
+ set(LINK_PROFILING_FLAGS "-pg")
+endif()
-ADD_DEFINITIONS(-DVERSION=\\\"${INKSCAPE_VERSION}\\\")
-ADD_DEFINITIONS(${DEFINE_FLAGS} -DHAVE_CONFIG_H -D_INTL_REDIRECT_INLINE)
+add_definitions(-DVERSION=\\\"${INKSCAPE_VERSION}\\\")
+add_definitions(${DEFINE_FLAGS} -DHAVE_CONFIG_H -D_INTL_REDIRECT_INLINE)
-IF (WIN32)
- ADD_DEFINITIONS(-DXP_WIN)
-ENDIF (WIN32)
+if(WIN32)
+ add_definitions(-DXP_WIN)
+endif(WIN32)
# for Inkboard:
-ADD_DEFINITIONS(-DHAVE_SSL "-DRELAYTOOL_SSL=\"static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }\"")
+add_definitions(-DHAVE_SSL "-DRELAYTOOL_SSL=\"static const int libssl_is_present=1; static int __attribute__((unused)) libssl_symbol_is_present(char *s){ return 1; }\"")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_PROFILING_FLAGS} ")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILE_PROFILING_FLAGS} ")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_PROFILING_FLAGS} ")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILE_PROFILING_FLAGS} ")
-SET(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} ")
-#message(STATUS "${CMAKE_CXX_FLAGS}")
+set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} ")
+
+# message(STATUS "${CMAKE_CXX_FLAGS}")
diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake
index de9a9b5d0..af0a7d50c 100644
--- a/CMakeScripts/ConfigPaths.cmake
+++ b/CMakeScripts/ConfigPaths.cmake
@@ -1,31 +1,31 @@
-MESSAGE(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}")
-
-IF(WIN32)
- SET(PACKAGE_LOCALE_DIR "locale")
-ELSEIF(WIN32)
- # TODO: check and change this to correct value:
- SET(PACKAGE_LOCALE_DIR "locale")
-ENDIF(WIN32)
-
-#SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
-#SET(CMAKE_SKIP_RPATH:BOOL OFF)
-
-# Include base dir, so other files can refer to the generated files.
-# CMAKE_INCLUDE_CURRENT_DIR is not enough as it only includes the current dir and not the basedir with config.h in it
-#INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/)
-#LINK_DIRECTORIES ("${LINK_DIRECTORIES}" "${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/)
-
-#INSTALL(TARGETS INKSCAPE
-# RUNTIME DESTINATION bin
-# LIBRARY DESTINATION lib
-# ARCHIVE DESTINATION lib
-#)
-
-#FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
-#INSTALL(FILES ${files} DESTINATION include/INKSCAPE/INKSCAPE)
-
-#CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/INKSCAPE.pc.in
-# ${CMAKE_BINARY_DIR}/INKSCAPE.pc @ONLY IMMEDIATE )
-#INSTALL(FILES "${CMAKE_BINARY_DIR}/INKSCAPE.pc" DESTINATION lib/pkgconfig)
-
-#SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Where to put the executables")set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "Where to put the libraries")
+MESSAGE(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}")
+
+IF(WIN32)
+ SET(PACKAGE_LOCALE_DIR "locale")
+ELSEIF(WIN32)
+ # TODO: check and change this to correct value:
+ SET(PACKAGE_LOCALE_DIR "locale")
+ENDIF(WIN32)
+
+#SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
+#SET(CMAKE_SKIP_RPATH:BOOL OFF)
+
+# Include base dir, so other files can refer to the generated files.
+# CMAKE_INCLUDE_CURRENT_DIR is not enough as it only includes the current dir and not the basedir with config.h in it
+#INCLUDE_DIRECTORIES ("${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/)
+#LINK_DIRECTORIES ("${LINK_DIRECTORIES}" "${CMAKE_BINARY_DIR}" "${PROJECT_SOURCE_DIR}" src/)
+
+#INSTALL(TARGETS INKSCAPE
+# RUNTIME DESTINATION bin
+# LIBRARY DESTINATION lib
+# ARCHIVE DESTINATION lib
+#)
+
+#FILE(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
+#INSTALL(FILES ${files} DESTINATION include/INKSCAPE/INKSCAPE)
+
+#CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/INKSCAPE.pc.in
+# ${CMAKE_BINARY_DIR}/INKSCAPE.pc @ONLY IMMEDIATE )
+#INSTALL(FILES "${CMAKE_BINARY_DIR}/INKSCAPE.pc" DESTINATION lib/pkgconfig)
+
+#SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE INTERNAL "Where to put the executables")set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "Where to put the libraries")
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index 89f33114d..fff82a174 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -1,60 +1,238 @@
-# Include dependencies:
-find_package(GTK2 COMPONENTS gtk gtkmm REQUIRED)
-#find_package(GtkMM REQUIRED)
-find_package(SigC++ REQUIRED)
-find_package(XML2 REQUIRED)
-find_package(XSLT REQUIRED)
+set(INKSCAPE_LIBS "")
+set(INKSCAPE_INCS "")
+set(INKSCAPE_INCS_SYS "")
+
+list(APPEND INKSCAPE_INCS
+ ${PROJECT_SOURCE_DIR}
+ ${PROJECT_SOURCE_DIR}/src
+
+ # generated includes
+ ${CMAKE_BINARY_DIR}/include
+)
+
+# ----------------------------------------------------------------------------
+# Files we include
+# ----------------------------------------------------------------------------
+
find_package(GSL REQUIRED)
-find_package(ImageMagick++ REQUIRED)
-find_package(Freetype2 REQUIRED)
-find_package(GnomeVFS2)
-find_package(Boost REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${GSL_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${GSL_LIBRARIES})
+list(APPEND INKSCAPE_LIBS "-lgslcblas") # FIXME
+
+if(WITH_GNOME_VFS)
+ find_package(GnomeVFS2)
+ if(GNOMEVFS2_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${GNOMEVFS2_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${GNOMEVFS-2_LIBRARY})
+ else()
+ set(WITH_GNOME_VFS OFF)
+ endif()
+endif()
+
+if(ENABLE_LCMS)
+ find_package(GnomeVFS2)
+ if(LCMS_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${LCMS_INCLUDE_DIRS})
+ list(APPEND INKSCAPE_LIBS ${LCMS_LIBRARIES})
+ add_definitions(${LCMS_DEFINITIONS})
+ else()
+ set(ENABLE_LCMS OFF)
+ endif()
+endif()
+
find_package(BoehmGC REQUIRED)
-find_package(LibWPG)
-find_package(PNG REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${BOEHMGC_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${BOEHMGC_LIBRARIES})
+add_definitions(${BOEHMGC_DEFINITIONS})
+
+find_package(PopplerCairo)
+if(POPPLER_FOUND)
+ set(HAVE_POPPLER ON)
+ if(ENABLE_POPPLER_CAIRO)
+ if(POPPLER_CAIRO_FOUND AND POPPLER_GLIB_FOUND)
+ set(HAVE_POPPLER_CAIRO ON)
+ endif()
+ if(POPPLER_GLIB_FOUND AND CAIRO_SVG_FOUND)
+ set(HAVE_POPPLER_GLIB ON)
+ endif()
+ endif()
+ if(POPPLER_VERSION VERSION_GREATER "0.8.3" OR
+ POPPLER_VERSION VERSION_EQUAL "0.8.3")
+ set(POPPLER_NEW_GFXFONT ON)
+ endif()
+ if(POPPLER_VERSION VERSION_GREATER "0.12.2" OR
+ POPPLER_VERSION VERSION_EQUAL "0.12.2")
+ set(POPPLER_NEW_COLOR_SPACE_API ON)
+ endif()
+ if(POPPLER_VERSION VERSION_GREATER "0.15.1" OR
+ POPPLER_VERSION VERSION_EQUAL "0.15.1")
+ set(POPPLER_NEW_GFXPATCH ON)
+ endif()
+else()
+ set(ENABLE_POPPLER_CAIRO OFF)
+endif()
+
+list(APPEND INKSCAPE_INCS_SYS ${POPPLER_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${POPPLER_LIBRARIES})
+add_definitions(${POPPLER_DEFINITIONS})
+
+if(WITH_LIBWPG)
+ find_package(LibWPG)
+ if(LIBWPG_FOUND)
+ set(WITH_LIBWPG01 ${LIBWPG01_FOUND})
+ set(WITH_LIBWPG02 ${LIBWPG02_FOUND})
+ list(APPEND INKSCAPE_INCS_SYS ${LIBWPG_INCLUDE_DIRS})
+ list(APPEND INKSCAPE_LIBS ${LIBWPG_LIBRARIES})
+ add_definitions(${LIBWPG_DEFINITIONS})
+ else()
+ set(WITH_LIBWPG OFF)
+ endif()
+endif()
+
+find_package(PNG REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${PNG_PNG_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${PNG_LIBRARY})
+
find_package(Popt REQUIRED)
-find_package(OpenSSL)
-INCLUDE(IncludeJava)
-# end Dependencies
+list(APPEND INKSCAPE_INCS_SYS ${POPT_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${POPT_LIBRARIES})
+add_definitions(${POPT_DEFINITIONS})
+
+if(WITH_DBUS)
+ find_package(DBus REQUIRED)
+ if(DBUS_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${DBUS_INCLUDE_DIR})
+ list(APPEND INKSCAPE_INCS_SYS ${DBUS_ARCH_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${DBUS_LIBRARIES})
+ else()
+ set(WITH_DBUS OFF)
+ endif()
+endif()
-#Linking
-LIST(APPEND INKSCAPE_LIBS
-# ${GTK2_LIBRARIES}
-# ${SIGC++_LIBRARIES}
-# ${GSL_LIBRARIES}
-# ${XML2_LIBRARIES}
-# ${XSLT_LIBRARIES}
-# ${IMAGEMAGICK++_LIBRARIES}
-# ${FREETYPE2_LIBRARIES}
-# ${GNOMEVFS2_LIBRARIES}
-# ${BOOST_LIBRARIES}
-# ${BOEHMGC_LIBRARIES}
-# ${PNG_LIBRARIES}
-# ${POPT_LIBRARIES}
-# ${OPENSSL_LIBRARIES}
+# ----------------------------------------------------------------------------
+# CMake's builtin
+# ----------------------------------------------------------------------------
+
+# Include dependencies:
+# use patched version until GTK2_CAIROMMCONFIG_INCLUDE_DIR is added
+find_package(GTK2 COMPONENTS gtk gtkmm REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS
+ ${GTK2_GDK_INCLUDE_DIR}
+ ${GTK2_GDKMM_INCLUDE_DIR}
+ ${GTK2_GDK_PIXBUF_INCLUDE_DIR}
+ ${GTK2_GDKCONFIG_INCLUDE_DIR}
+ ${GTK2_GDKMMCONFIG_INCLUDE_DIR}
+ ${GTK2_GLIB_INCLUDE_DIR}
+ ${GTK2_GLIBCONFIG_INCLUDE_DIR}
+ ${GTK2_GLIBMM_INCLUDE_DIR}
+ ${GTK2_GLIBMMCONFIG_INCLUDE_DIR}
+ ${GTK2_GTK_INCLUDE_DIR}
+ ${GTK2_GTKMM_INCLUDE_DIR}
+ ${GTK2_GTKMMCONFIG_INCLUDE_DIR}
+ ${GTK2_ATK_INCLUDE_DIR}
+ ${GTK2_ATKMM_INCLUDE_DIR}
+ ${GTK2_PANGO_INCLUDE_DIR}
+ ${GTK2_PANGOMM_INCLUDE_DIR}
+ ${GTK2_PANGOMMCONFIG_INCLUDE_DIR}
+ ${GTK2_CAIRO_INCLUDE_DIR}
+ ${GTK2_CAIROMM_INCLUDE_DIR}
+ ${GTK2_CAIROMMCONFIG_INCLUDE_DIR} # <-- not in cmake 2.8.4
+ ${GTK2_GIOMM_INCLUDE_DIR}
+ ${GTK2_SIGC++_INCLUDE_DIR}
+ ${GTK2_SIGC++CONFIG_INCLUDE_DIR}
)
-#Includes
-SET(INK_INCLUDES
-${CMAKE_BINARY_DIR}
-${PROJECT_SOURCE_DIR}
-${PROJECT_SOURCE_DIR}/src
-${GTK2_INCLUDE_DIRS}
-${SIGC++_INCLUDE_DIRS}
-${GSL_INCLUDE_DIRS}
-${XML2_INCLUDE_DIRS}
-${XSLT_INCLUDE_DIRS}
-${IMAGEMAGICK++_INCLUDE_DIRS}
-${FREETYPE2_INCLUDE_DIRS}
-${GNOMEVFS2_INCLUDE_DIRS}
-${BOOST_INCLUDE_DIRS}
-${BOEHMGC_INCLUDE_DIRS}
-${PNG_INCLUDE_DIRS}
-${POPT_INCLUDE_DIRS}
-${OPENSSL_INCLUDE_DIRS}
+list(APPEND INKSCAPE_LIBS
+ ${GTK2_GDK_LIBRARY}
+ ${GTK2_GDKMM_LIBRARY}
+ ${GTK2_GDK_PIXBUF_LIBRARY}
+ ${GTK2_GLIB_LIBRARY}
+ ${GTK2_GLIBMM_LIBRARY}
+ ${GTK2_GTK_LIBRARY}
+ ${GTK2_GTKMM_LIBRARY}
+ ${GTK2_ATK_LIBRARY}
+ ${GTK2_ATKMM_LIBRARY}
+ ${GTK2_PANGO_LIBRARY}
+ ${GTK2_PANGOMM_LIBRARY}
+ ${GTK2_CAIRO_LIBRARY}
+ ${GTK2_CAIROMM_LIBRARY}
+ ${GTK2_GIOMM_LIBRARY}
+ ${GTK2_SIGC++_LIBRARY}
+
)
-#C/C++ Flags
-INCLUDE_DIRECTORIES(${INK_INCLUDES})
-INCLUDE(ConfigChecks)
+
+find_package(Freetype REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${FREETYPE_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${FREETYPE_LIBRARIES})
+
+find_package(Boost REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${Boost_INCLUDE_DIRS})
+# list(APPEND INKSCAPE_LIBS ${Boost_LIBRARIES})
+
+find_package(ASPELL)
+if(ASPELL_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${ASPELL_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${ASPELL_LIBRARIES})
+ add_definitions(${ASPELL_DEFINITIONS})
+ set(HAVE_ASPELL TRUE)
+endif()
+
+if(WITH_GTKSPELL)
+ find_package(GtkSpell)
+ if(GTKSPELL_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${GTKSPELL_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${GTKSPELL_LIBRARIES})
+ add_definitions(${GTKSPELL_DEFINITIONS})
+ endif()
+ set(WITH_GTKSPELL ${GTKSPELL_FOUND})
+endif()
+
+find_package(OpenSSL)
+list(APPEND INKSCAPE_INCS_SYS ${OPENSSL_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${OPENSSL_LIBRARIES})
+
+find_package(LibXslt REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${LIBXSLT_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${LIBXSLT_LIBRARIES})
+add_definitions(${LIBXSLT_DEFINITIONS})
+
+find_package(LibXml2 REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${LIBXML2_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${LIBXML2_LIBRARIES})
+add_definitions(${LIBXML2_DEFINITIONS})
+
+find_package(OpenMP)
+if(OpenMP_FOUND)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ if(APPLE AND ${CMAKE_GENERATOR} MATCHES "Xcode")
+ set(CMAKE_XCODE_ATTRIBUTE_ENABLE_OPENMP_SUPPORT "YES")
+ endif()
+ mark_as_advanced(OpenMP_C_FLAGS)
+ mark_as_advanced(OpenMP_CXX_FLAGS)
+endif()
+
+find_package(ZLIB REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${ZLIB_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${ZLIB_LIBRARIES})
+
+find_package(ImageMagick COMPONENTS MagickCore Magick++)
+if(ImageMagick_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${ImageMagick_MagickCore_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${ImageMagick_Magick++_LIBRARY})
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/IncludeJava.cmake)
+# end Dependencies
+
+
+# C/C++ Flags
+include_directories(${INKSCAPE_INCS})
+include_directories(SYSTEM ${INKSCAPE_INCS_SYS})
+
+unset(INKSCAPE_INCS)
+unset(INKSCAPE_INCS_SYS)
+
+include(${CMAKE_CURRENT_LIST_DIR}/ConfigChecks.cmake)
diff --git a/CMakeScripts/FindBoost.cmake b/CMakeScripts/FindBoost.cmake
deleted file mode 100644
index b1a83803a..000000000
--- a/CMakeScripts/FindBoost.cmake
+++ /dev/null
@@ -1,403 +0,0 @@
-# - Try to find Boost include dirs and libraries
-# Usage of this module as follows:
-#
-# FIND_PACKAGE( Boost COMPONENTS date_time filesystem iostreams ... )
-#
-# The Boost_ADDITIONAL_VERSIONS variable can be used to specify a list of
-# boost version numbers that should be taken into account when searching
-# for the libraries. Unfortunately boost puts the version number into the
-# actual filename for the libraries, so this might be needed in the future
-# when new boost versions are released.
-#
-# Currently this module searches for the following version numbers:
-# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1
-#
-# The components list needs to be the actual names of boost libraries, that is
-# the part of the actual library files that differ on different libraries. So
-# its "date_time" for "libboost_date_time...". Anything else will result in
-# errors
-#
-# Variables used by this module, they can change the default behaviour:
-# Boost_USE_NONMULTITHREAD Can be set to TRUE to use the non-multithreaded
-# boost libraries.
-# Boost_ADDITIONAL_VERSIONS A list of version numbers to use for searching
-# the boost include directory. The default list
-# of version numbers is:
-# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1
-# If you want to look for an older or newer
-# version set this variable to a list of
-# strings, where each string contains a number, i.e.
-# SET(Boost_ADDITIONAL_VERSIONS "0.99.0" "1.35.0")
-# Boost_ROOT Preferred installation prefix for searching for Boost,
-# set this if the module has problems finding the proper Boost installation
-# Boost_INCLUDEDIR Set this to the include directory of Boost, if the
-# module has problems finding the proper Boost installation
-# Boost_LIBRARYDIR Set this to the lib directory of Boost, if the
-# module has problems finding the proper Boost installation
-#
-# The last three variables are available also as environment variables
-#
-#
-# Variables defined by this module:
-#
-# Boost_FOUND System has Boost, this means the include dir was found,
-# as well as all the libraries specified in the COMPONENTS list
-# Boost_INCLUDE_DIRS Boost include directories, not cached
-# Boost_INCLUDE_DIR This is almost the same as above, but this one is cached and may be
-# modified by advanced users
-# Boost_LIBRARIES Link these to use the Boost libraries that you specified, not cached
-# Boost_LIBRARY_DIRS The path to where the Boost library files are.
-# Boost_VERSION The version number of the boost libraries that have been found,
-# same as in version.hpp from Boost
-# Boost_LIB_VERSION The version number in filename form as its appended to the library filenames
-# Boost_MAJOR_VERSION major version number of boost
-# Boost_MINOR_VERSION minor version number of boost
-# Boost_SUBMINOR_VERSION subminor version number of boost
-
-# For each component you list the following variables are set.
-# ATTENTION: The component names need to be in lower case, just as the boost
-# library names however the cmake variables use upper case for the component
-# part. So you'd get Boost_SERIALIZATION_FOUND for example.
-#
-# Boost_${COMPONENT}_FOUND True IF the Boost library "component" was found.
-# Boost_${COMPONENT}_LIBRARY The absolute path of the Boost library "component".
-# Boost_${COMPONENT}_LIBRARY_DEBUG The absolute path of the debug version of the
-# Boost library "component".
-# Boost_${COMPONENT}_LIBRARY_RELEASE The absolute path of the release version of the
-# Boost library "component"
-#
-# Copyright (c) 2006-2008 Andreas Schneider <mail@cynapses.org>
-# Copyright (c) 2007 Wengo
-# Copyright (c) 2007 Mike Jackson
-# Copyright (c) 2008 Andreas Pakulat <apaku@gmx.de>
-#
-# Redistribution AND use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-# MESSAGE(STATUS "Finding Boost libraries.... ")
-
-SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.33" "1.33.0" "1.33.1" "1.34" "1.34.0" "1.34.1" )
-
-############################################
-#
-# Check the existence of the libraries.
-#
-############################################
-# This macro was taken directly from the FindQt4.cmake file that is included
-# with the CMake distribution. This is NOT my work. All work was done by the
-# original authors of the FindQt4.cmake file. Only minor modifications were
-# made to remove references to Qt and make this file more generally applicable
-#########################################################################
-
-MACRO (_Boost_ADJUST_LIB_VARS basename)
- IF (Boost_INCLUDE_DIR )
- #MESSAGE(STATUS "Adjusting ${basename} ")
-
- IF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
- # if the generator supports configuration types then set
- # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
- IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- SET(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
- ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- # if there are no configuration types and CMAKE_BUILD_TYPE has no value
- # then just use the release libraries
- SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
- ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- SET(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
- ENDIF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
-
- # if only the release version was found, set the debug variable also to the release version
- IF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
- SET(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})
- SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE})
- SET(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE})
- ENDIF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
-
- # if only the debug version was found, set the release variable also to the debug version
- IF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
- SET(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})
- SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_DEBUG})
- SET(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_DEBUG})
- ENDIF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
-
- IF (Boost_${basename}_LIBRARY)
- SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library")
- GET_FILENAME_COMPONENT(Boost_LIBRARY_DIRS "${Boost_${basename}_LIBRARY}" PATH)
- SET(Boost_${basename}_FOUND 1)
- ENDIF (Boost_${basename}_LIBRARY)
-
- ENDIF (Boost_INCLUDE_DIR )
- # Make variables changeble to the advanced user
- MARK_AS_ADVANCED(
- Boost_${basename}_LIBRARY
- Boost_${basename}_LIBRARY_RELEASE
- Boost_${basename}_LIBRARY_DEBUG
- )
-ENDMACRO (_Boost_ADJUST_LIB_VARS)
-
-#-------------------------------------------------------------------------------
-
-
-SET( _boost_IN_CACHE TRUE)
-
-IF(Boost_INCLUDE_DIR)
- FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
- STRING(TOUPPER ${COMPONENT} COMPONENT)
- IF(NOT Boost_${COMPONENT}_FOUND)
- SET( _boost_IN_CACHE FALSE)
- ENDIF(NOT Boost_${COMPONENT}_FOUND)
- ENDFOREACH(COMPONENT)
-ELSE(Boost_INCLUDE_DIR)
- SET( _boost_IN_CACHE FALSE)
-ENDIF(Boost_INCLUDE_DIR)
-
-IF (_boost_IN_CACHE)
- # in cache already
- SET(Boost_FOUND TRUE)
- FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
- STRING(TOUPPER ${COMPONENT} COMPONENT)
- _Boost_ADJUST_LIB_VARS( ${COMPONENT} )
- ENDFOREACH(COMPONENT)
- SET(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
-ELSE (_boost_IN_CACHE)
- # Need to search for boost
-
- SET(_boost_INCLUDE_SEARCH_DIRS
- C:/boost/include
- "C:/Program Files/boost/boost_${Boost_REQUIRED_VERSION}"
- # D: is very often the cdrom drive, IF you don't have a
- # cdrom inserted it will popup a very annoying dialog
- #D:/boost/include
- /sw/local/include
- )
-
- SET(_boost_LIBRARIES_SEARCH_DIRS
- C:/boost/lib
- "C:/Program Files/boost/boost_${Boost_REQUIRED_VERSION}/lib"
- /sw/local/lib
- )
-
- IF( NOT $ENV{Boost_ROOT} STREQUAL "" )
- SET(_boost_INCLUDE_SEARCH_DIRS $ENV{Boost_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS})
- SET(_boost_LIBRARIES_SEARCH_DIRS $ENV{Boost_ROOT}/lib ${_boost_INCLUDE_SEARCH_DIRS})
- ENDIF( NOT $ENV{Boost_ROOT} STREQUAL "" )
-
- IF( NOT $ENV{Boost_INCLUDEDIR} STREQUAL "" )
- SET(_boost_INCLUDE_SEARCH_DIRS $ENV{Boost_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
- ENDIF( NOT $ENV{Boost_INCLUDEDIR} STREQUAL "" )
-
- IF( NOT $ENV{Boost_LIBRARYDIR} STREQUAL "" )
- SET(_boost_LIBRARIES_SEARCH_DIRS $ENV{Boost_LIBRARYDIR} ${_boost_INCLUDE_SEARCH_DIRS})
- ENDIF( NOT $ENV{Boost_LIBRARYDIR} STREQUAL "" )
-
- IF( Boost_ROOT )
- SET(_boost_INCLUDE_SEARCH_DIRS ${Boost_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS})
- SET(_boost_LIBRARIES_SEARCH_DIRS ${Boost_ROOT}/lib ${_boost_LIBRARIES_SEARCH_DIRS})
- ENDIF( Boost_ROOT )
-
- IF( Boost_INCLUDEDIR )
- SET(_boost_INCLUDE_SEARCH_DIRS ${Boost_INCLUDEDIR}/include ${_boost_INCLUDE_SEARCH_DIRS})
- ENDIF( Boost_INCLUDEDIR )
-
- IF( Boost_LIBRARYDIR )
- SET(_boost_LIBRARIES_SEARCH_DIRS ${Boost_LIBRARYDIR}/include ${_boost_LIBRARIES_SEARCH_DIRS})
- ENDIF( Boost_LIBRARYDIR )
-
- FOREACH(_boost_VER ${_boost_TEST_VERSIONS})
- IF( NOT Boost_INCLUDE_DIR )
-
- # Add in a path suffix, based on the required version, ideally we could
- # read this from version.hpp, but for that to work we'd need to know the include
- # dir already
- SET(_boost_PATH_SUFFIX
- boost-${_boost_VER}
- )
- STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
-
-
- FIND_PATH(Boost_INCLUDE_DIR
- NAMES boost/config.hpp
- PATHS ${_boost_INCLUDE_SEARCH_DIRS}
- PATH_SUFFIXES ${_boost_PATH_SUFFIX}
- )
-
- # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
- # Read the whole file:
- #
- SET(BOOST_VERSION 0)
- SET(BOOST_LIB_VERSION "")
- FILE(READ "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS)
-
- STRING(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSION "${_boost_VERSION_HPP_CONTENTS}")
- STRING(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Boost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}")
-
- SET(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE STRING "The library version string for boost libraries")
- SET(Boost_VERSION ${Boost_VERSION} CACHE STRING "The version number for boost libraries")
-
- IF(NOT "${Boost_VERSION}" STREQUAL "0")
- MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
- MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
- MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
- ENDIF(NOT "${Boost_VERSION}" STREQUAL "0")
-
-
- ENDIF( NOT Boost_INCLUDE_DIR )
- ENDFOREACH(_boost_VER)
-
- #Setting some more suffixes for the library
- SET (Boost_LIB_PREFIX "")
- IF ( WIN32 )
- SET (Boost_LIB_PREFIX "lib")
- ENDIF ( WIN32 )
- SET (_boost_COMPILER "-gcc")
- IF (MSVC71)
- SET (_boost_COMPILER "-vc71")
- ENDIF(MSVC71)
- IF (MSVC80)
- SET (_boost_COMPILER "-vc80")
- ENDIF(MSVC80)
- IF (MINGW)
- SET (_boost_COMPILER "-mgw")
- ENDIF(MINGW)
- IF (CYGWIN)
- SET (_boost_COMPILER "-gcc")
- ENDIF (CYGWIN)
- IF (UNIX)
- IF (APPLE)
- SET (_boost_COMPILER "")
- ELSE (APPLE)
- IF (NOT CMAKE_COMPILER_IS_GNUCC)
- # This is for the intel compiler
- SET (_boost_COMPILER "-il")
- ELSE (NOT CMAKE_COMPILER_IS_GNUCC)
- #find out the version of gcc being used.
- EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
- ARGS --version
- OUTPUT_VARIABLE _boost_COMPILER_VERSION
- )
- STRING(REGEX REPLACE ".* ([0-9])\\.([0-9])\\.[0-9] .*" "\\1\\2"
- _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
- SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
- ENDIF (NOT CMAKE_COMPILER_IS_GNUCC)
- ENDIF (APPLE)
- ENDIF(UNIX)
-
- SET (_boost_MULTITHREADED "-mt")
-
- IF( Boost_USE_NONMULTITHREADED )
- SET (_boost_MULTITHREADED "")
- ENDIF( Boost_USE_NONMULTITHREADED )
-
- SET( _boost_STATIC_TAG "")
- IF (WIN32)
- SET (_boost_ABI_TAG "g")
- SET( _boost_STATIC_TAG "-s")
- ENDIF(WIN32)
- SET (_boost_ABI_TAG "${_boost_ABI_TAG}d")
-
- # ------------------------------------------------------------------------
- # Begin finding boost libraries
- # ------------------------------------------------------------------------
- FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
- STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
- SET( Boost_{UPPERCOMPONENT}_LIBRARY FALSE)
- SET( Boost_{UPPERCOMPONENT}_LIBRARY_RELEASE FALSE)
- SET( Boost_{UPPERCOMPONENT}_LIBRARY_DEBUG FALSE)
- FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
- NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}
- PATHS ${_boost_LIBRARIES_SEARCH_DIRS}
- NO_DEFAULT_PATH
- )
-
- IF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE} )
- FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
- NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}
- )
- ENDIF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE} )
-
- FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
- NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG}
- PATHS ${_boost_LIBRARIES_SEARCH_DIRS}
- NO_DEFAULT_PATH
- )
-
- IF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG} )
- FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
- NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}
- ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG}
- )
- ENDIF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG} )
- _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
- ENDFOREACH(COMPONENT)
- # ------------------------------------------------------------------------
- # End finding boost libraries
- # ------------------------------------------------------------------------
-
- SET(Boost_INCLUDE_DIRS
- ${Boost_INCLUDE_DIR}
- )
-
- # MESSAGE(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
- # MESSAGE(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
-
- SET(Boost_FOUND FALSE)
- IF(Boost_INCLUDE_DIR)
- SET( Boost_FOUND TRUE )
- FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
- STRING(TOUPPER ${COMPONENT} COMPONENT)
- IF(NOT Boost_${COMPONENT}_FOUND)
- SET( Boost_FOUND FALSE)
- ENDIF(NOT Boost_${COMPONENT}_FOUND)
- ENDFOREACH(COMPONENT)
- ELSE(Boost_INCLUDE_DIR)
- SET( Boost_FOUND FALSE)
- ENDIF(Boost_INCLUDE_DIR)
-
- IF (Boost_FOUND)
- IF (NOT Boost_FIND_QUIETLY)
- MESSAGE(STATUS "Found The Following Boost Libraries:")
- FOREACH ( COMPONENT ${Boost_FIND_COMPONENTS} )
- STRING( TOUPPER ${COMPONENT} UPPERCOMPONENT )
- IF ( Boost_${UPPERCOMPONENT}_FOUND )
- MESSAGE (STATUS " ${COMPONENT}")
- SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRARY})
- ENDIF ( Boost_${UPPERCOMPONENT}_FOUND )
- ENDFOREACH(COMPONENT)
- MESSAGE(STATUS "Boost Version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
- ENDIF(NOT Boost_FIND_QUIETLY)
- ELSE (Boost_FOUND)
- IF (Boost_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Please install the Boost libraries AND development packages")
- ENDIF(Boost_FIND_REQUIRED)
- ENDIF(Boost_FOUND)
-
- # Under Windows, automatic linking is performed, so no need to specify the libraries.
- IF (WIN32)
- SET(Boost_LIBRARIES "")
- ENDIF(WIN32)
-
- # show the Boost_INCLUDE_DIRS AND Boost_LIBRARIES variables only in the advanced view
- MARK_AS_ADVANCED(Boost_INCLUDE_DIRS
- Boost_LIBRARIES
- Boost_LIBRARY_DIRS
- )
-ENDIF(_boost_IN_CACHE)
-
-
diff --git a/CMakeScripts/FindFreetype2.cmake b/CMakeScripts/FindFreetype2.cmake
deleted file mode 100644
index 140dbd6c0..000000000
--- a/CMakeScripts/FindFreetype2.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# - Try to find FREETYPE2
-# Once done this will define
-#
-# FREETYPE2_FOUND - system has FREETYPE2
-# FREETYPE2_INCLUDE_DIRS - the FREETYPE2 include directory
-# FREETYPE2_LIBRARIES - Link these to use FREETYPE2
-# FREETYPE2_DEFINITIONS - Compiler switches required for using FREETYPE2
-#
-# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-if (FREETYPE2_LIBRARIES AND FREETYPE2_INCLUDE_DIRS)
- # in cache already
- set(FREETYPE2_FOUND TRUE)
-else (FREETYPE2_LIBRARIES AND FREETYPE2_INCLUDE_DIRS)
- # use pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
- if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- include(UsePkgConfig)
- pkgconfig(freetype2 _FREETYPE2_INCLUDEDIR _FREETYPE2_LIBDIR _FREETYPE2_LDFLAGS _FREETYPE2_CFLAGS)
- else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_FREETYPE2 freetype2)
- endif (PKG_CONFIG_FOUND)
- endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_path(FREETYPE2_INCLUDE_DIR
- NAMES
- freetype/freetype.h
- PATHS
- ${_FREETYPE2_INCLUDEDIR}
- /usr/include
- /usr/local/include
- /opt/local/include
- /sw/include
- $ENV{DEVLIBS_PATH}//include//
- PATH_SUFFIXES
- freetype2
- )
-
- find_library(FREETYPE_LIBRARY
- NAMES
- freetype
- PATHS
- ${_FREETYPE2_LIBDIR}
- /usr/lib
- /usr/local/lib
- /opt/local/lib
- /sw/lib
- )
-
- if (FREETYPE_LIBRARY)
- set(FREETYPE_FOUND TRUE)
- endif (FREETYPE_LIBRARY)
-
- set(FREETYPE2_INCLUDE_DIRS
- ${FREETYPE2_INCLUDE_DIR}
- )
-
- if (FREETYPE_FOUND)
- set(FREETYPE2_LIBRARIES
- ${FREETYPE2_LIBRARIES}
- ${FREETYPE_LIBRARY}
- )
- endif (FREETYPE_FOUND)
-
- if (FREETYPE2_INCLUDE_DIRS AND FREETYPE2_LIBRARIES)
- set(FREETYPE2_FOUND TRUE)
- endif (FREETYPE2_INCLUDE_DIRS AND FREETYPE2_LIBRARIES)
-
- if (FREETYPE2_FOUND)
- if (NOT FREETYPE2_FIND_QUIETLY)
- message(STATUS "Found FREETYPE2: ${FREETYPE2_LIBRARIES}")
- endif (NOT FREETYPE2_FIND_QUIETLY)
- else (FREETYPE2_FOUND)
- if (FREETYPE2_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find FREETYPE2")
- endif (FREETYPE2_FIND_REQUIRED)
- endif (FREETYPE2_FOUND)
-
- # show the FREETYPE2_INCLUDE_DIRS and FREETYPE2_LIBRARIES variables only in the advanced view
- mark_as_advanced(FREETYPE2_INCLUDE_DIRS FREETYPE2_LIBRARIES)
-
-endif (FREETYPE2_LIBRARIES AND FREETYPE2_INCLUDE_DIRS)
-
diff --git a/CMakeScripts/FindGTK2.cmake b/CMakeScripts/FindGTK2.cmake
deleted file mode 100644
index b8b88bf4d..000000000
--- a/CMakeScripts/FindGTK2.cmake
+++ /dev/null
@@ -1,363 +0,0 @@
-# - FindGTK2.cmake
-# This module finds the GTK2/GTKMM widget libraries
-#
-# Specify one or more of the following components
-# as you call this Find macro:
-#
-# gtk
-# gtkmm
-# glade
-# glademm
-#
-# The following variables will be defined for your use
-# GTK2_FOUND - Were all of your specified components found?
-# GTK2_INCLUDE_DIRS - All include directories
-# GTK2_LIBRARIES - All libraries
-#
-# Optional variables you can define prior to calling this module
-# GTK2_DEBUG - Enables verbose debugging of the module
-# GTK2_SKIP_MARK_AS_ADVANCED - Disable marking cache variables as advanced
-#
-#=================
-# Example Usage:
-#
-# FIND_PACKAGE(GTK2 COMPONENTS gtk)
-# or
-# FIND_PACKAGE(GTK2 COMPONENTS gtk glade) # if you're also using glade
-#
-# INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
-# ADD_EXECUTABLE(foo foo.cc)
-# TARGET_LINK_LIBRARIES(foo ${GTK2_LIBRARIES})
-#=================
-#
-# Copyright (c) 2008
-# Philip Lowman <philip@yhbt.com>
-#
-# Version 0.6 (1/8/08)
-# Added GTK2_SKIP_MARK_AS_ADVANCED option
-# Version 0.5 (12/19/08)
-# Second release to cmake mailing list
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-#=============================================================
-# _GTK2_FIND_INCLUDE_DIR
-# Internal macro to find the GTK include directories
-# _var = variable to set
-# _hdr = header file to look for
-#=============================================================
-MACRO(_GTK2_FIND_INCLUDE_DIR _var _hdr)
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]
- _GTK2_FIND_INCLUDE_DIR( ${_var} ${_hdr} )")
- ENDIF()
-
- SET(_relatives
- # FIXME
- glibmm-2.4
- glib-2.0
- atk-1.0
- atkmm-1.6
- cairo
- cairomm-1.0
- gdkmm-2.4
- giomm-2.4
- gtk-2.0
- gtkmm-2.4
- libglade-2.0
- libglademm-2.4
- pango-1.0
- pangomm-1.4
- sigc++-2.0
- )
-
- SET(_suffixes)
- FOREACH(_d ${_relatives})
- LIST(APPEND _suffixes ${_d})
- LIST(APPEND _suffixes ${_d}/include) # for /usr/lib/gtk-2.0/include
- ENDFOREACH()
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] include suffixes = ${_suffixes}")
- ENDIF()
-
- FIND_PATH(${_var} ${_hdr}
- PATHS
- /usr/local/include
- /usr/local/lib
- /usr/include
- /usr/lib
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/include
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
- PATH_SUFFIXES
- ${_suffixes}
- )
-
- IF(${_var})
- LIST(APPEND GTK2_INCLUDE_DIRS ${${_var}})
- IF(NOT GTK2_SKIP_MARK_AS_ADVANCED)
- MARK_AS_ADVANCED(${_var})
- ENDIF()
- ENDIF()
-ENDMACRO()
-
-#=============================================================
-# _GTK2_FIND_LIBRARY
-# Internal macro to find libraries packaged with GTK2
-# _var = library variable to create
-#=============================================================
-MACRO(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}]
- _GTK2_FIND_LIBRARY( ${_var} ${_lib} ${_expand_vc} ${_append_version} )")
- ENDIF()
-
- # Not GTK versions per se but the versions encoded into Windows
- # import libraries (GtkMM 2.14.1 has a gtkmm-vc80-2_4.lib for example)
- # Also the MSVC libraries use _ for . (this is handled below)
- SET(_versions 2.20 2.18 2.16 2.14 2.12
- 2.10 2.8 2.6 2.4 2.2 2.0
- 1.20 1.18 1.16 1.14 1.12
- 1.10 1.8 1.6 1.4 1.2 1.0)
-
- SET(_library)
- SET(_library_d)
-
- SET(_library ${_lib})
-
- IF(${_expand_vc})
- # Add vc80/vc90 midfixes
- IF(MSVC80)
- SET(_library ${_library}-vc80)
- SET(_library_d ${_library}-d)
- ELSEIF(MSVC90)
- SET(_library ${_library}-vc90)
- SET(_library_d ${_library}-d)
- ENDIF()
- ENDIF()
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] After midfix addition = ${_library} and ${_library_d}")
- ENDIF()
-
- SET(_lib_list)
- SET(_libd_list)
- IF(${_append_version})
- FOREACH(_ver ${_versions})
- LIST(APPEND _lib_list "${_library}-${_ver}")
- LIST(APPEND _libd_list "${_library_d}-${_ver}")
- ENDFOREACH()
- ELSE()
- SET(_lib_list ${_library})
- SET(_libd_list ${_library_d})
- ENDIF()
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] library list = ${_lib_list} and library debug list = ${_libd_list}")
- ENDIF()
-
- # For some silly reason the MSVC libraries use _ instead of .
- # in the version fields
- IF(${_expand_vc} AND MSVC)
- SET(_no_dots_lib_list)
- SET(_no_dots_libd_list)
- FOREACH(_l ${_lib_list})
- STRING(REPLACE "." "_" _no_dots_library ${_l})
- LIST(APPEND _no_dots_lib_list ${_no_dots_library})
- ENDFOREACH()
- # And for debug
- SET(_no_dots_libsd_list)
- FOREACH(_l ${_libd_list})
- STRING(REPLACE "." "_" _no_dots_libraryd ${_l})
- LIST(APPEND _no_dots_libd_list ${_no_dots_libraryd})
- ENDFOREACH()
-
- # Copy list back to original names
- SET(_lib_list ${_no_dots_lib_list})
- SET(_libd_list ${_no_dots_libd_list})
- ENDIF()
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] Whilst searching for ${_var} our proposed library list is ${_lib_list}")
- ENDIF()
-
- FIND_LIBRARY(${_var}
- NAMES ${_lib_list}
- PATHS
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
- )
- IF(${_expand_vc} AND MSVC)
-
- IF(GTK2_DEBUG)
- MESSAGE(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] Whilst searching for ${_var}_DEBUG our proposed library list is ${_libd_list}")
- ENDIF()
-
- FIND_LIBRARY(${_var}_DEBUG
- NAMES ${_libd_list}
- PATHS
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
- )
- IF(NOT GTK2_SKIP_MARK_AS_ADVANCED)
- MARK_AS_ADVANCED(${_var}_DEBUG)
- ENDIF()
- ELSE()
- SET(${_var}_DEBUG ${${_var}})
- ENDIF()
-
- IF(${_var})
- LIST(APPEND GTK2_LIBRARIES optimized ${${_var}} debug ${${_var}_DEBUG} )
- IF(NOT GTK2_SKIP_MARK_AS_ADVANCED)
- MARK_AS_ADVANCED(${_var})
- ENDIF()
- ENDIF()
-ENDMACRO()
-#=============================================================
-
-#
-# main()
-#
-
-SET(GTK2_FOUND)
-SET(GTK2_INCLUDE_DIRS)
-SET(GTK2_LIBRARIES)
-
-IF(NOT GTK2_FIND_COMPONENTS)
- MESSAGE(FATAL_ERROR "You must specify components with this module. See the documentation at the top of FindGTK2.cmake")
-ENDIF()
-
-FOREACH(_component ${GTK2_FIND_COMPONENTS})
- IF(_component STREQUAL "gtk")
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLIB_INCLUDE_DIR glib.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLIBCONFIG_INCLUDE_DIR glibconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GLIB_LIBRARY glib 0 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GDK_INCLUDE_DIR gdk/gdk.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GDKCONFIG_INCLUDE_DIR gdkconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GDK_LIBRARY gdk-x11 0 1)
- _GTK2_FIND_LIBRARY (GTK2_GDK_LIBRARY gdk-win32 0 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GTK_INCLUDE_DIR gtk/gtk.h)
- _GTK2_FIND_LIBRARY (GTK2_GTK_LIBRARY gtk-x11 0 1)
- _GTK2_FIND_LIBRARY (GTK2_GTK_LIBRARY gtk-win32 0 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_CAIRO_INCLUDE_DIR cairo.h)
- _GTK2_FIND_LIBRARY (GTK2_CAIRO_LIBRARY cairo 0 0)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_PANGO_INCLUDE_DIR pango/pango.h)
- _GTK2_FIND_LIBRARY (GTK2_PANGO_LIBRARY pango 0 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_ATK_INCLUDE_DIR atk/atk.h)
- _GTK2_FIND_LIBRARY (GTK2_ATK_LIBRARY atk 0 1)
-
- #ELSEIF(_component STREQUAL "gdk_pixbuf")
- #_GTK2_FIND_INCLUDE_DIR(GTK2_GDKPIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h)
- #_GTK2_FIND_LIBRARY (GTK2_GDKPIXBUF_LIBRARY gdk_pixbuf 0 1)
-
- ELSEIF(_component STREQUAL "gtkmm")
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLIBMM_INCLUDE_DIR glibmm.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLIBMMCONFIG_INCLUDE_DIR glibmmconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GLIBMM_LIBRARY glibmm 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GDKMM_INCLUDE_DIR gdkmm.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GDKMMCONFIG_INCLUDE_DIR gdkmmconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GDKMM_LIBRARY gdkmm 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GTKMM_INCLUDE_DIR gtkmm.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GTKMMCONFIG_INCLUDE_DIR gtkmmconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GTKMM_LIBRARY gtkmm 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMM_INCLUDE_DIR cairomm/cairomm.h)
- _GTK2_FIND_LIBRARY (GTK2_CAIROMM_LIBRARY cairomm 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_PANGOMM_INCLUDE_DIR pangomm.h)
- _GTK2_FIND_LIBRARY (GTK2_PANGOMM_LIBRARY pangomm 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_SIGC++_INCLUDE_DIR sigc++/sigc++.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_SIGC++CONFIG_INCLUDE_DIR sigc++config.h)
- _GTK2_FIND_LIBRARY (GTK2_SIGC++_LIBRARY sigc 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GIOMM_INCLUDE_DIR giomm.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GIOMMCONFIG_INCLUDE_DIR giommconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GIOMM_LIBRARY giomm 1 1)
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_ATKMM_INCLUDE_DIR atkmm.h)
- _GTK2_FIND_LIBRARY (GTK2_ATKMM_LIBRARY atkmm 1 1)
-
- ELSEIF(_component STREQUAL "glade")
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLADE_INCLUDE_DIR glade/glade.h)
- _GTK2_FIND_LIBRARY (GTK2_GLADE_LIBRARY glade 0 1)
-
- ELSEIF(_component STREQUAL "glademm")
-
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLADEMM_INCLUDE_DIR libglademm.h)
- _GTK2_FIND_INCLUDE_DIR(GTK2_GLADEMMCONFIG_INCLUDE_DIR libglademmconfig.h)
- _GTK2_FIND_LIBRARY (GTK2_GLADEMM_LIBRARY glademm 1 1)
-
- ELSE()
- MESSAGE(FATAL_ERROR "Unknown GTK2 component ${_component}")
- ENDIF()
-ENDFOREACH()
-
-#
-# Try to enforce components
-#
-
-SET(_did_we_find_everything true) # This gets set to GTK2_FOUND
-
-INCLUDE(FindPackageHandleStandardArgs)
-
-FOREACH(_component ${GTK2_FIND_COMPONENTS})
- STRING(TOUPPER ${_component} _COMPONENT_UPPER)
-
- IF(_component STREQUAL "gtk")
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtk libraries were not found."
- GTK2_GTK_LIBRARY
- GTK2_GTK_INCLUDE_DIR
-
- GTK2_GLIB_INCLUDE_DIR
- GTK2_GLIBCONFIG_INCLUDE_DIR
- GTK2_GLIB_LIBRARY
-
- GTK2_GDK_INCLUDE_DIR
- GTK2_GDKCONFIG_INCLUDE_DIR
- GTK2_GDK_LIBRARY
- )
- ELSEIF(_component STREQUAL "gtkmm")
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtkmm libraries were not found."
- GTK2_GTKMM_LIBRARY
- GTK2_GTKMM_INCLUDE_DIR
- GTK2_GTKMMCONFIG_INCLUDE_DIR
-
- GTK2_GLIBMM_INCLUDE_DIR
- GTK2_GLIBMMCONFIG_INCLUDE_DIR
- GTK2_GLIBMM_LIBRARY
-
- GTK2_GDKMM_INCLUDE_DIR
- GTK2_GDKMMCONFIG_INCLUDE_DIR
- GTK2_GDKMM_LIBRARY
- )
- ELSEIF(_component STREQUAL "glade")
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glade library was not found."
- GTK2_GLADE_LIBRARY
- GTK2_GLADE_INCLUDE_DIR
- )
- ELSEIF(_component STREQUAL "glademm")
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glademm library was not found."
- GTK2_GLADEMM_LIBRARY
- GTK2_GLADEMM_INCLUDE_DIR
- GTK2_GLADEMMCONFIG_INCLUDE_DIR
- )
- ENDIF()
-
- IF(NOT GTK2_${_COMPONENT_UPPER}_FOUND)
- SET(_did_we_find_everything false)
- ENDIF()
-ENDFOREACH()
-
-SET(GTK2_FOUND ${_did_we_find_everything})
diff --git a/CMakeScripts/FindImageMagick++.cmake b/CMakeScripts/FindImageMagick++.cmake
deleted file mode 100644
index b12acdffc..000000000
--- a/CMakeScripts/FindImageMagick++.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# - Try to find ImageMagick++
-# Once done this will define
-#
-# IMAGEMAGICK++_FOUND - system has ImageMagick++
-# IMAGEMAGICK++_INCLUDE_DIRS - the ImageMagick++ include directory
-# IMAGEMAGICK++_LIBRARIES - Link these to use ImageMagick++
-# IMAGEMAGICK++_DEFINITIONS - Compiler switches required for using ImageMagick++
-#
-# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-if (IMAGEMAGICK++_LIBRARIES AND IMAGEMAGICK++_INCLUDE_DIRS)
- # in cache already
- set(IMAGEMAGICK++_FOUND TRUE)
-else (IMAGEMAGICK++_LIBRARIES AND IMAGEMAGICK++_INCLUDE_DIRS)
- # use pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
- if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- include(UsePkgConfig)
- pkgconfig(ImageMagick++ _IMAGEMAGICK++_INCLUDEDIR _IMAGEMAGICK++_LIBDIR _IMAGEMAGICK++_LDFLAGS _IMAGEMAGICK++_CFLAGS)
- else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_IMAGEMAGICK++ ImageMagick++)
- endif (PKG_CONFIG_FOUND)
- endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_path(IMAGEMAGICK++_INCLUDE_DIR
- NAMES
- Image.h
- PATHS
- ${_IMAGEMAGICK++_INCLUDEDIR}
- /usr/include
- /usr/local/include
- /opt/local/include
- /sw/include
- $ENV{DEVLIBS_PATH}//include//
- PATH_SUFFIXES
- Magick++
- )
-
- find_library(MAGICK++_LIBRARY
- NAMES
- Magick++
- PATHS
- ${_IMAGEMAGICK++_LIBDIR}
- /usr/lib
- /usr/local/lib
- /opt/local/lib
- /sw/lib
- )
-
- if (MAGICK++_LIBRARY)
- set(MAGICK++_FOUND TRUE)
- endif (MAGICK++_LIBRARY)
-
- set(IMAGEMAGICK++_INCLUDE_DIRS
- ${IMAGEMAGICK++_INCLUDE_DIR}
- )
-
- if (MAGICK++_FOUND)
- set(IMAGEMAGICK++_LIBRARIES
- ${IMAGEMAGICK++_LIBRARIES}
- ${MAGICK++_LIBRARY}
- )
- endif (MAGICK++_FOUND)
-
- if (IMAGEMAGICK++_INCLUDE_DIRS AND IMAGEMAGICK++_LIBRARIES)
- set(IMAGEMAGICK++_FOUND TRUE)
- endif (IMAGEMAGICK++_INCLUDE_DIRS AND IMAGEMAGICK++_LIBRARIES)
-
- if (IMAGEMAGICK++_FOUND)
- if (NOT ImageMagick++_FIND_QUIETLY)
- message(STATUS "Found ImageMagick++: ${IMAGEMAGICK++_LIBRARIES}")
- endif (NOT ImageMagick++_FIND_QUIETLY)
- else (IMAGEMAGICK++_FOUND)
- if (ImageMagick++_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find ImageMagick++")
- endif (ImageMagick++_FIND_REQUIRED)
- endif (IMAGEMAGICK++_FOUND)
-
- # show the IMAGEMAGICK++_INCLUDE_DIRS and IMAGEMAGICK++_LIBRARIES variables only in the advanced view
- mark_as_advanced(IMAGEMAGICK++_INCLUDE_DIRS IMAGEMAGICK++_LIBRARIES)
-
-endif (IMAGEMAGICK++_LIBRARIES AND IMAGEMAGICK++_INCLUDE_DIRS)
-
diff --git a/CMakeScripts/FindLibWPG.cmake b/CMakeScripts/FindLibWPG.cmake
deleted file mode 100644
index 0d83cddee..000000000
--- a/CMakeScripts/FindLibWPG.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# - Try to find LibWPG
-# Once done this will define
-#
-# LIBWPG_FOUND - system has LibWPG
-# LIBWPG_INCLUDE_DIRS - the LibWPG include directory
-# LIBWPG_LIBRARIES - Link these to use LibWPG
-# LIBWPG_DEFINITIONS - Compiler switches required for using LibWPG
-#
-# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-if (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS)
- # in cache already
- set(LIBWPG_FOUND TRUE)
-else (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS)
- # use pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
- if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- include(UsePkgConfig)
- pkgconfig(libwpg-0.1 _LIBWPG_INCLUDEDIR _LIBWPG_LIBDIR _LIBWPG_LDFLAGS _LIBWPG_CFLAGS)
- else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_LIBWPG libwpg-0.1)
- endif (PKG_CONFIG_FOUND)
- endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_path(LIBWPG_INCLUDE_DIR
- NAMES
- libwpg/libwpg.h
- PATHS
- ${_LIBWPG_INCLUDEDIR}
- /usr/include
- /usr/local/include
- /opt/local/include
- /sw/include
- $ENV{DEVLIBS_PATH}//include//
- PATH_SUFFIXES
- libwpg-0.1
- )
-
- find_library(LIBWPG-0.1_LIBRARY
- NAMES
- wpg-0.1
- PATHS
- ${_LIBWPG_LIBDIR}
- /usr/lib
- /usr/local/lib
- /opt/local/lib
- /sw/lib
- )
-
- if (LIBWPG-0.1_LIBRARY)
- set(LIBWPG-0.1_FOUND TRUE)
- endif (LIBWPG-0.1_LIBRARY)
-
- set(LIBWPG_INCLUDE_DIRS
- ${LIBWPG_INCLUDE_DIR}
- )
-
- if (LIBWPG-0.1_FOUND)
- set(LIBWPG_LIBRARIES
- ${LIBWPG_LIBRARIES}
- ${LIBWPG-0.1_LIBRARY}
- )
- endif (LIBWPG-0.1_FOUND)
-
- if (LIBWPG_INCLUDE_DIRS AND LIBWPG_LIBRARIES)
- set(LIBWPG_FOUND TRUE)
- endif (LIBWPG_INCLUDE_DIRS AND LIBWPG_LIBRARIES)
-
- if (LIBWPG_FOUND)
- if (NOT LibWPG_FIND_QUIETLY)
- message(STATUS "Found LibWPG: ${LIBWPG_LIBRARIES}")
- endif (NOT LibWPG_FIND_QUIETLY)
- else (LIBWPG_FOUND)
- if (LibWPG_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find LibWPG")
- endif (LibWPG_FIND_REQUIRED)
- endif (LIBWPG_FOUND)
-
- # show the LIBWPG_INCLUDE_DIRS and LIBWPG_LIBRARIES variables only in the advanced view
- mark_as_advanced(LIBWPG_INCLUDE_DIRS LIBWPG_LIBRARIES)
-
-endif (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS)
-
diff --git a/CMakeScripts/FindSSL.cmake b/CMakeScripts/FindSSL.cmake
deleted file mode 100644
index 7a2671699..000000000
--- a/CMakeScripts/FindSSL.cmake
+++ /dev/null
@@ -1,89 +0,0 @@
-# - Try to find SSL
-# Once done this will define
-#
-# SSL_FOUND - system has SSL
-# SSL_INCLUDE_DIRS - the SSL include directory
-# SSL_LIBRARIES - Link these to use SSL
-# SSL_DEFINITIONS - Compiler switches required for using SSL
-#
-# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-if (SSL_LIBRARIES AND SSL_INCLUDE_DIRS)
- # in cache already
- set(SSL_FOUND TRUE)
-else (SSL_LIBRARIES AND SSL_INCLUDE_DIRS)
- # use pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
- if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- include(UsePkgConfig)
- pkgconfig(libssl _SSL_INCLUDEDIR _SSL_LIBDIR _SSL_LDFLAGS _SSL_CFLAGS)
- else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_SSL libssl)
- endif (PKG_CONFIG_FOUND)
- endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_path(SSL_INCLUDE_DIR
- NAMES
- ssl.h
- PATHS
- ${_SSL_INCLUDEDIR}
- /usr/include
- /usr/local/include
- /opt/local/include
- /sw/include
- PATH_SUFFIXES
- openssl
- )
-
- find_library(SSL_LIBRARY
- NAMES
- ssl
- PATHS
- ${_SSL_LIBDIR}
- /usr/lib
- /usr/local/lib
- /opt/local/lib
- /sw/lib
- )
-
- if (SSL_LIBRARY)
- set(SSL_FOUND TRUE)
- endif (SSL_LIBRARY)
-
- set(SSL_INCLUDE_DIRS
- ${SSL_INCLUDE_DIR}
- )
-
- if (SSL_FOUND)
- set(SSL_LIBRARIES
- ${SSL_LIBRARIES}
- ${SSL_LIBRARY}
- )
- endif (SSL_FOUND)
-
- if (SSL_INCLUDE_DIRS AND SSL_LIBRARIES)
- set(SSL_FOUND TRUE)
- endif (SSL_INCLUDE_DIRS AND SSL_LIBRARIES)
-
- if (SSL_FOUND)
- if (NOT SSL_FIND_QUIETLY)
- message(STATUS "Found SSL: ${SSL_LIBRARIES}")
- endif (NOT SSL_FIND_QUIETLY)
- else (SSL_FOUND)
- if (SSL_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find SSL")
- endif (SSL_FIND_REQUIRED)
- endif (SSL_FOUND)
-
- # show the SSL_INCLUDE_DIRS and SSL_LIBRARIES variables only in the advanced view
- mark_as_advanced(SSL_INCLUDE_DIRS SSL_LIBRARIES)
-
-endif (SSL_LIBRARIES AND SSL_INCLUDE_DIRS)
-
diff --git a/CMakeScripts/FindXML2.cmake b/CMakeScripts/FindXML2.cmake
deleted file mode 100644
index 1e2b0d3af..000000000
--- a/CMakeScripts/FindXML2.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# - Try to find XML2
-# Once done this will define
-#
-# XML2_FOUND - system has XML2
-# XML2_INCLUDE_DIRS - the XML2 include directory
-# XML2_LIBRARIES - Link these to use XML2
-# XML2_DEFINITIONS - Compiler switches required for using XML2
-#
-# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-if (XML2_LIBRARIES AND XML2_INCLUDE_DIRS)
- # in cache already
- set(XML2_FOUND TRUE)
-else (XML2_LIBRARIES AND XML2_INCLUDE_DIRS)
- # use pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
- if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- include(UsePkgConfig)
- pkgconfig(libxml-2.0 _XML2_INCLUDEDIR _XML2_LIBDIR _XML2_LDFLAGS _XML2_CFLAGS)
- else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_XML2 libxml-2.0)
- endif (PKG_CONFIG_FOUND)
- endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_path(XML2_INCLUDE_DIR
- NAMES
- libxml/xmlunicode.h
- PATHS
- ${_XML2_INCLUDEDIR}
- /usr/include
- /usr/local/include
- /opt/local/include
- /sw/include
- $ENV{DEVLIBS_PATH}//include//
- PATH_SUFFIXES
- libxml2
- )
-
- find_library(XML2_LIBRARY
- NAMES
- xml2
- PATHS
- ${_XML2_LIBDIR}
- /usr/lib
- /usr/local/lib
- /opt/local/lib
- /sw/lib
- )
-
- if (XML2_LIBRARY)
- set(XML2_FOUND TRUE)
- endif (XML2_LIBRARY)
-
- set(XML2_INCLUDE_DIRS
- ${XML2_INCLUDE_DIR}
- )
-
- if (XML2_FOUND)
- set(XML2_LIBRARIES
- ${XML2_LIBRARIES}
- ${XML2_LIBRARY}
- )
- endif (XML2_FOUND)
-
- if (XML2_INCLUDE_DIRS AND XML2_LIBRARIES)
- set(XML2_FOUND TRUE)
- endif (XML2_INCLUDE_DIRS AND XML2_LIBRARIES)
-
- if (XML2_FOUND)
- if (NOT XML2_FIND_QUIETLY)
- message(STATUS "Found XML2: ${XML2_LIBRARIES}")
- endif (NOT XML2_FIND_QUIETLY)
- else (XML2_FOUND)
- if (XML2_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find XML2")
- endif (XML2_FIND_REQUIRED)
- endif (XML2_FOUND)
-
- # show the XML2_INCLUDE_DIRS and XML2_LIBRARIES variables only in the advanced view
- mark_as_advanced(XML2_INCLUDE_DIRS XML2_LIBRARIES)
-
-endif (XML2_LIBRARIES AND XML2_INCLUDE_DIRS)
-
diff --git a/CMakeScripts/FindXSLT.cmake b/CMakeScripts/FindXSLT.cmake
deleted file mode 100644
index bda46e640..000000000
--- a/CMakeScripts/FindXSLT.cmake
+++ /dev/null
@@ -1,90 +0,0 @@
-# - Try to find XSLT
-# Once done this will define
-#
-# XSLT_FOUND - system has XSLT
-# XSLT_INCLUDE_DIRS - the XSLT include directory
-# XSLT_LIBRARIES - Link these to use XSLT
-# XSLT_DEFINITIONS - Compiler switches required for using XSLT
-#
-# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-
-if (XSLT_LIBRARIES AND XSLT_INCLUDE_DIRS)
- # in cache already
- set(XSLT_FOUND TRUE)
-else (XSLT_LIBRARIES AND XSLT_INCLUDE_DIRS)
- # use pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
- if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- include(UsePkgConfig)
- pkgconfig(libxslt _XSLT_INCLUDEDIR _XSLT_LIBDIR _XSLT_LDFLAGS _XSLT_CFLAGS)
- else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_package(PkgConfig)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(_XSLT libxslt)
- endif (PKG_CONFIG_FOUND)
- endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
- find_path(XSLT_INCLUDE_DIR
- NAMES
- xslt.h
- PATHS
- ${_XSLT_INCLUDEDIR}
- /usr/include
- /usr/local/include
- /opt/local/include
- /sw/include
- $ENV{DEVLIBS_PATH}//include//
- PATH_SUFFIXES
- libxslt
- )
-
- find_library(XSLT_LIBRARY
- NAMES
- xslt
- PATHS
- ${_XSLT_LIBDIR}
- /usr/lib
- /usr/local/lib
- /opt/local/lib
- /sw/lib
- )
-
- if (XSLT_LIBRARY)
- set(XSLT_FOUND TRUE)
- endif (XSLT_LIBRARY)
-
- set(XSLT_INCLUDE_DIRS
- ${XSLT_INCLUDE_DIR}
- )
-
- if (XSLT_FOUND)
- set(XSLT_LIBRARIES
- ${XSLT_LIBRARIES}
- ${XSLT_LIBRARY}
- )
- endif (XSLT_FOUND)
-
- if (XSLT_INCLUDE_DIRS AND XSLT_LIBRARIES)
- set(XSLT_FOUND TRUE)
- endif (XSLT_INCLUDE_DIRS AND XSLT_LIBRARIES)
-
- if (XSLT_FOUND)
- if (NOT XSLT_FIND_QUIETLY)
- message(STATUS "Found XSLT: ${XSLT_LIBRARIES}")
- endif (NOT XSLT_FIND_QUIETLY)
- else (XSLT_FOUND)
- if (XSLT_FIND_REQUIRED)
- message(FATAL_ERROR "Could not find XSLT")
- endif (XSLT_FIND_REQUIRED)
- endif (XSLT_FOUND)
-
- # show the XSLT_INCLUDE_DIRS and XSLT_LIBRARIES variables only in the advanced view
- mark_as_advanced(XSLT_INCLUDE_DIRS XSLT_LIBRARIES)
-
-endif (XSLT_LIBRARIES AND XSLT_INCLUDE_DIRS)
-
diff --git a/CMakeScripts/HelperMacros.cmake b/CMakeScripts/HelperMacros.cmake
index dd8c25f00..f19baf5f2 100644
--- a/CMakeScripts/HelperMacros.cmake
+++ b/CMakeScripts/HelperMacros.cmake
@@ -1,13 +1,131 @@
-# A macro to replace slashes and spaces in a string with underscores
-MACRO(SANITIZE_PATH _string_var)
- STRING(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_string_var}})
-ENDMACRO(SANITIZE_PATH _string_var)
-
-# A macro to prepend a given string onto the beginning of each string in a list
-MACRO(PREPEND _list _str)
- SET(_temp_list ${${_list}})
- SET(${_list})
- FOREACH(x ${_temp_list})
- SET(${_list} ${${_list}} ${_str}${x})
- ENDFOREACH(x)
-ENDMACRO(PREPEND _list _str)
+# A macro to replace slashes and spaces in a string with underscores
+macro(SANITIZE_PATH _string_var)
+ string(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_string_var}})
+endmacro()
+
+
+macro(inkscape_source_group
+ sources)
+
+ # Group by location on disk
+ source_group("Source Files" FILES CMakeLists.txt)
+
+ foreach(_SRC ${sources})
+ get_filename_component(_SRC_EXT ${_SRC} EXT)
+ if((${_SRC_EXT} MATCHES ".h") OR (${_SRC_EXT} MATCHES ".hpp"))
+ source_group("Header Files" FILES ${_SRC})
+ else()
+ source_group("Source Files" FILES ${_SRC})
+ endif()
+ endforeach()
+
+ unset(_SRC)
+ unset(_SRC_EXT)
+endmacro()
+
+
+# only MSVC uses SOURCE_GROUP
+macro(add_inkscape_lib
+ name
+ sources)
+
+ add_library(${name} ${sources})
+
+ # works fine without having the includes
+ # listed is helpful for IDE's (QtCreator/MSVC)
+ inkscape_source_group("${sources}")
+
+endmacro()
+
+
+# A macro to append to the global source property
+set_property(GLOBAL PROPERTY inkscape_global_SRC "")
+
+macro (add_inkscape_source
+ sources)
+
+ foreach(_SRC ${ARGV})
+ get_filename_component(_ABS_SRC ${_SRC} ABSOLUTE)
+ set_property(GLOBAL APPEND PROPERTY inkscape_global_SRC ${_ABS_SRC})
+ endforeach()
+ unset(_SRC)
+ unset(_ABS_SRC)
+endmacro()
+
+# A macro to append to the global source property
+macro (add_inkscape_library
+ sources)
+
+ foreach(_SRC ${ARGV})
+ get_filename_component(_ABS_SRC ${_SRC} ABSOLUTE)
+ set_property(GLOBAL APPEND PROPERTY inkscape_global_SRC ${_ABS_SRC})
+ endforeach()
+ unset(_SRC)
+ unset(_ABS_SRC)
+endmacro()
+
+macro(INKSCAPE_PKG_CONFIG_FIND PREFIX MODNAME VERSION PATH_NAME PATH_SUFFIXE LIB_NAME)
+ if(VERSION)
+ pkg_check_modules(_${PREFIX} ${MODNAME}${VERSION})
+ else(VERSION)
+ pkg_check_modules(_${PREFIX} ${MODNAME})
+ endif(VERSION)
+
+ find_path(${PREFIX}_INCLUDE_DIR
+ NAMES
+ ${PATH_NAME}
+ PATHS
+ ${_${PREFIX}_INCLUDEDIR}
+ /usr/include
+ /usr/local/include
+ /opt/local/include
+ /sw/include
+ $ENV{DEVLIBS_PATH}//include//
+ PATH_SUFFIXES
+ ${PATH_SUFFIXE}
+ )
+
+ find_library(${PREFIX}_LIBRARY
+ NAMES
+ ${LIB_NAME}
+ PATHS
+ ${_${PREFIX}_LIBDIR}
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ /sw/lib
+ )
+
+ if (${PREFIX}_LIBRARY)
+ set(${PREFIX}_FOUND TRUE)
+ set(${PREFIX}_VERSION ${_${PREFIX}_VERSION})
+ endif (${PREFIX}_LIBRARY)
+
+ set(${PREFIX}_INCLUDE_DIRS
+ ${${PREFIX}_INCLUDE_DIR}
+ )
+
+ if (${PREFIX}_FOUND)
+ set(${PREFIX}_LIBRARIES
+ ${${PREFIX}_LIBRARIES}
+ ${${PREFIX}_LIBRARY}
+ )
+ endif (${PREFIX}_FOUND)
+
+ if (${PREFIX}_INCLUDE_DIRS AND ${PREFIX}_LIBRARIES)
+ set(${PREFIX}_FOUND TRUE)
+ endif (${PREFIX}_INCLUDE_DIRS AND ${PREFIX}_LIBRARIES)
+
+ if (${PREFIX}_FOUND)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message(STATUS "Found ${MODNAME}: ${${PREFIX}_LIBRARIES}")
+ endif (NOT ${PREFIX}_FIND_QUIETLY)
+ else (${PREFIX}_FOUND)
+ if (${PREFIX}_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find ${MODNAME}")
+ endif (${PREFIX}_FIND_REQUIRED)
+ endif (${PREFIX}_FOUND)
+
+ # show the <PREFIX>_INCLUDE_DIRS and <PREFIX>_LIBRARIES variables only in the advanced view
+ mark_as_advanced(${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARIES)
+endmacro()
diff --git a/CMakeScripts/IncludeJava.cmake b/CMakeScripts/IncludeJava.cmake
index bd8bdb58e..1e20a4ca5 100644
--- a/CMakeScripts/IncludeJava.cmake
+++ b/CMakeScripts/IncludeJava.cmake
@@ -1,14 +1,14 @@
-# - include the src/javainc dir in the include path and the correct config path too
-
-
-INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc )
-
-IF (WIN32)
- INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/win32 )
-ENDIF (WIN32)
-IF (UNIX)
- INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/linux )
-ENDIF (UNIX)
-IF (SOLARIS)
- INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/solaris )
-ENDIF (SOLARIS)
+# - include the src/javainc dir in the include path and the correct config path too
+
+
+INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc )
+
+IF (WIN32)
+ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/win32 )
+ENDIF (WIN32)
+IF (UNIX)
+ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/linux )
+ENDIF (UNIX)
+IF (SOLARIS)
+ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/solaris )
+ENDIF (SOLARIS)
diff --git a/CMakeScripts/FindBoehmGC.cmake b/CMakeScripts/Modules/FindBoehmGC.cmake
index 7a5081c22..7a5081c22 100644
--- a/CMakeScripts/FindBoehmGC.cmake
+++ b/CMakeScripts/Modules/FindBoehmGC.cmake
diff --git a/CMakeScripts/Modules/FindDBus.cmake b/CMakeScripts/Modules/FindDBus.cmake
new file mode 100644
index 000000000..f227cc297
--- /dev/null
+++ b/CMakeScripts/Modules/FindDBus.cmake
@@ -0,0 +1,72 @@
+# - Try to find the low-level D-Bus library
+# Once done this will define
+#
+# DBUS_FOUND - system has D-Bus
+# DBUS_INCLUDE_DIR - the D-Bus include directory
+# DBUS_ARCH_INCLUDE_DIR - the D-Bus architecture-specific include directory
+# DBUS_LIBRARIES - the libraries needed to use D-Bus
+
+# Copyright (c) 2008, Kevin Kofler, <kevin.kofler@chello.at>
+# modeled after FindLibArt.cmake:
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+
+ # in cache already
+ SET(DBUS_FOUND TRUE)
+
+else (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+
+ IF (NOT WIN32)
+ FIND_PACKAGE(PkgConfig)
+ IF (PKG_CONFIG_FOUND)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ pkg_check_modules(_DBUS_PC QUIET dbus-1)
+ ENDIF (PKG_CONFIG_FOUND)
+ ENDIF (NOT WIN32)
+
+ FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h
+ ${_DBUS_PC_INCLUDE_DIRS}
+ /usr/include
+ /usr/include/dbus-1.0
+ /usr/local/include
+ )
+
+ FIND_PATH(DBUS_ARCH_INCLUDE_DIR dbus/dbus-arch-deps.h
+ ${_DBUS_PC_INCLUDE_DIRS}
+ /usr/lib${LIB_SUFFIX}/include
+ /usr/lib${LIB_SUFFIX}/dbus-1.0/include
+ /usr/lib64/include
+ /usr/lib64/dbus-1.0/include
+ /usr/lib/include
+ /usr/lib/dbus-1.0/include
+ )
+
+ FIND_LIBRARY(DBUS_LIBRARIES NAMES dbus-1 dbus
+ PATHS
+ ${_DBUS_PC_LIBDIR}
+ )
+
+
+ if (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+ set(DBUS_FOUND TRUE)
+ endif (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
+
+
+ if (DBUS_FOUND)
+ if (NOT DBus_FIND_QUIETLY)
+ message(STATUS "Found D-Bus: ${DBUS_LIBRARIES}")
+ endif (NOT DBus_FIND_QUIETLY)
+ else (DBUS_FOUND)
+ if (DBus_FIND_REQUIRED)
+ message(FATAL_ERROR "Could NOT find D-Bus")
+ endif (DBus_FIND_REQUIRED)
+ endif (DBUS_FOUND)
+
+ MARK_AS_ADVANCED(DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR DBUS_LIBRARIES)
+
+endif (DBUS_INCLUDE_DIR AND DBUS_ARCH_INCLUDE_DIR AND DBUS_LIBRARIES)
diff --git a/CMakeScripts/FindGSL.cmake b/CMakeScripts/Modules/FindGSL.cmake
index 1ef4643ad..1ef4643ad 100644
--- a/CMakeScripts/FindGSL.cmake
+++ b/CMakeScripts/Modules/FindGSL.cmake
diff --git a/CMakeScripts/Modules/FindGTK2.cmake b/CMakeScripts/Modules/FindGTK2.cmake
new file mode 100644
index 000000000..91249b787
--- /dev/null
+++ b/CMakeScripts/Modules/FindGTK2.cmake
@@ -0,0 +1,596 @@
+# *NOTE*, this file include 1 line modification from 2.8.5's module
+# this adds GTK2_CAIROMM_INCLUDE_DIR which we need!
+# - ideasman42
+# ------------
+
+# - FindGTK2.cmake
+# This module can find the GTK2 widget libraries and several of its other
+# optional components like gtkmm, glade, and glademm.
+#
+# NOTE: If you intend to use version checking, CMake 2.6.2 or later is
+# required.
+#
+# Specify one or more of the following components
+# as you call this find module. See example below.
+#
+# gtk
+# gtkmm
+# glade
+# glademm
+#
+# The following variables will be defined for your use
+#
+# GTK2_FOUND - Were all of your specified components found?
+# GTK2_INCLUDE_DIRS - All include directories
+# GTK2_LIBRARIES - All libraries
+#
+# GTK2_VERSION - The version of GTK2 found (x.y.z)
+# GTK2_MAJOR_VERSION - The major version of GTK2
+# GTK2_MINOR_VERSION - The minor version of GTK2
+# GTK2_PATCH_VERSION - The patch version of GTK2
+#
+# Optional variables you can define prior to calling this module:
+#
+# GTK2_DEBUG - Enables verbose debugging of the module
+# GTK2_SKIP_MARK_AS_ADVANCED - Disable marking cache variables as advanced
+# GTK2_ADDITIONAL_SUFFIXES - Allows defining additional directories to
+# search for include files
+#
+#=================
+# Example Usage:
+#
+# Call find_package() once, here are some examples to pick from:
+#
+# Require GTK 2.6 or later
+# find_package(GTK2 2.6 REQUIRED gtk)
+#
+# Require GTK 2.10 or later and Glade
+# find_package(GTK2 2.10 REQUIRED gtk glade)
+#
+# Search for GTK/GTKMM 2.8 or later
+# find_package(GTK2 2.8 COMPONENTS gtk gtkmm)
+#
+# if(GTK2_FOUND)
+# include_directories(${GTK2_INCLUDE_DIRS})
+# add_executable(mygui mygui.cc)
+# target_link_libraries(mygui ${GTK2_LIBRARIES})
+# endif()
+#
+
+#=============================================================================
+# Copyright 2009 Kitware, Inc.
+# Copyright 2008-2009 Philip Lowman <philip@yhbt.com>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# Version 1.3 (11/9/2010) (CMake 2.8.4)
+# * 11429: Add support for detecting GTK2 built with Visual Studio 10.
+# Thanks to Vincent Levesque for the patch.
+
+# Version 1.2 (8/30/2010) (CMake 2.8.3)
+# * Merge patch for detecting gdk-pixbuf library (split off
+# from core GTK in 2.21). Thanks to Vincent Untz for the patch
+# and Ricardo Cruz for the heads up.
+# Version 1.1 (8/19/2010) (CMake 2.8.3)
+# * Add support for detecting GTK2 under macports (thanks to Gary Kramlich)
+# Version 1.0 (8/12/2010) (CMake 2.8.3)
+# * Add support for detecting new pangommconfig.h header file
+# (Thanks to Sune Vuorela & the Debian Project for the patch)
+# * Add support for detecting fontconfig.h header
+# * Call find_package(Freetype) since it's required
+# * Add support for allowing users to add additional library directories
+# via the GTK2_ADDITIONAL_SUFFIXES variable (kind of a future-kludge in
+# case the GTK developers change versions on any of the directories in the
+# future).
+# Version 0.8 (1/4/2010)
+# * Get module working under MacOSX fink by adding /sw/include, /sw/lib
+# to PATHS and the gobject library
+# Version 0.7 (3/22/09)
+# * Checked into CMake CVS
+# * Added versioning support
+# * Module now defaults to searching for GTK if COMPONENTS not specified.
+# * Added HKCU prior to HKLM registry key and GTKMM specific environment
+# variable as per mailing list discussion.
+# * Added lib64 to include search path and a few other search paths where GTK
+# may be installed on Unix systems.
+# * Switched to lowercase CMake commands
+# * Prefaced internal variables with _GTK2 to prevent collision
+# * Changed internal macros to functions
+# * Enhanced documentation
+# Version 0.6 (1/8/08)
+# Added GTK2_SKIP_MARK_AS_ADVANCED option
+# Version 0.5 (12/19/08)
+# Second release to cmake mailing list
+
+#=============================================================
+# _GTK2_GET_VERSION
+# Internal function to parse the version number in gtkversion.h
+# _OUT_major = Major version number
+# _OUT_minor = Minor version number
+# _OUT_micro = Micro version number
+# _gtkversion_hdr = Header file to parse
+#=============================================================
+function(_GTK2_GET_VERSION _OUT_major _OUT_minor _OUT_micro _gtkversion_hdr)
+ file(READ ${_gtkversion_hdr} _contents)
+ if(_contents)
+ string(REGEX REPLACE ".*#define GTK_MAJOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_major} "${_contents}")
+ string(REGEX REPLACE ".*#define GTK_MINOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_minor} "${_contents}")
+ string(REGEX REPLACE ".*#define GTK_MICRO_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_micro} "${_contents}")
+
+ if(NOT ${_OUT_major} MATCHES "[0-9]+")
+ message(FATAL_ERROR "Version parsing failed for GTK2_MAJOR_VERSION!")
+ endif()
+ if(NOT ${_OUT_minor} MATCHES "[0-9]+")
+ message(FATAL_ERROR "Version parsing failed for GTK2_MINOR_VERSION!")
+ endif()
+ if(NOT ${_OUT_micro} MATCHES "[0-9]+")
+ message(FATAL_ERROR "Version parsing failed for GTK2_MICRO_VERSION!")
+ endif()
+
+ set(${_OUT_major} ${${_OUT_major}} PARENT_SCOPE)
+ set(${_OUT_minor} ${${_OUT_minor}} PARENT_SCOPE)
+ set(${_OUT_micro} ${${_OUT_micro}} PARENT_SCOPE)
+ else()
+ message(FATAL_ERROR "Include file ${_gtkversion_hdr} does not exist")
+ endif()
+endfunction()
+
+#=============================================================
+# _GTK2_FIND_INCLUDE_DIR
+# Internal function to find the GTK include directories
+# _var = variable to set
+# _hdr = header file to look for
+#=============================================================
+function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
+
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "_GTK2_FIND_INCLUDE_DIR( ${_var} ${_hdr} )")
+ endif()
+
+ set(_relatives
+ # If these ever change, things will break.
+ ${GTK2_ADDITIONAL_SUFFIXES}
+ glibmm-2.4
+ glib-2.0
+ atk-1.0
+ atkmm-1.6
+ cairo
+ cairomm-1.0
+ gdk-pixbuf-2.0
+ gdkmm-2.4
+ giomm-2.4
+ gtk-2.0
+ gtkmm-2.4
+ libglade-2.0
+ libglademm-2.4
+ pango-1.0
+ pangomm-1.4
+ sigc++-2.0
+ )
+
+ set(_suffixes)
+ foreach(_d ${_relatives})
+ list(APPEND _suffixes ${_d})
+ list(APPEND _suffixes ${_d}/include) # for /usr/lib/gtk-2.0/include
+ endforeach()
+
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "include suffixes = ${_suffixes}")
+ endif()
+
+ find_path(${_var} ${_hdr}
+ PATHS
+ /usr/local/lib64
+ /usr/local/lib
+ /usr/lib64
+ /usr/lib
+ /opt/gnome/include
+ /opt/gnome/lib
+ /opt/openwin/include
+ /usr/openwin/lib
+ /sw/include
+ /sw/lib
+ /opt/local/include
+ /opt/local/lib
+ $ENV{GTKMM_BASEPATH}/include
+ $ENV{GTKMM_BASEPATH}/lib
+ [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include
+ [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/include
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+ PATH_SUFFIXES
+ ${_suffixes}
+ )
+
+ if(${_var})
+ set(GTK2_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS} ${${_var}} PARENT_SCOPE)
+ if(NOT GTK2_SKIP_MARK_AS_ADVANCED)
+ mark_as_advanced(${_var})
+ endif()
+ endif()
+
+endfunction(_GTK2_FIND_INCLUDE_DIR)
+
+#=============================================================
+# _GTK2_FIND_LIBRARY
+# Internal function to find libraries packaged with GTK2
+# _var = library variable to create
+#=============================================================
+function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
+
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "_GTK2_FIND_LIBRARY( ${_var} ${_lib} ${_expand_vc} ${_append_version} )")
+ endif()
+
+ # Not GTK versions per se but the versions encoded into Windows
+ # import libraries (GtkMM 2.14.1 has a gtkmm-vc80-2_4.lib for example)
+ # Also the MSVC libraries use _ for . (this is handled below)
+ set(_versions 2.20 2.18 2.16 2.14 2.12
+ 2.10 2.8 2.6 2.4 2.2 2.0
+ 1.20 1.18 1.16 1.14 1.12
+ 1.10 1.8 1.6 1.4 1.2 1.0)
+
+ set(_library)
+ set(_library_d)
+
+ set(_library ${_lib})
+
+ if(_expand_vc AND MSVC)
+ # Add vc80/vc90/vc100 midfixes
+ if(MSVC80)
+ set(_library ${_library}-vc80)
+ elseif(MSVC90)
+ set(_library ${_library}-vc90)
+ elseif(MSVC10)
+ set(_library ${_library}-vc100)
+ endif()
+ set(_library_d ${_library}-d)
+ endif()
+
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "After midfix addition = ${_library} and ${_library_d}")
+ endif()
+
+ set(_lib_list)
+ set(_libd_list)
+ if(_append_version)
+ foreach(_ver ${_versions})
+ list(APPEND _lib_list "${_library}-${_ver}")
+ list(APPEND _libd_list "${_library_d}-${_ver}")
+ endforeach()
+ else()
+ set(_lib_list ${_library})
+ set(_libd_list ${_library_d})
+ endif()
+
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "library list = ${_lib_list} and library debug list = ${_libd_list}")
+ endif()
+
+ # For some silly reason the MSVC libraries use _ instead of .
+ # in the version fields
+ if(_expand_vc AND MSVC)
+ set(_no_dots_lib_list)
+ set(_no_dots_libd_list)
+ foreach(_l ${_lib_list})
+ string(REPLACE "." "_" _no_dots_library ${_l})
+ list(APPEND _no_dots_lib_list ${_no_dots_library})
+ endforeach()
+ # And for debug
+ set(_no_dots_libsd_list)
+ foreach(_l ${_libd_list})
+ string(REPLACE "." "_" _no_dots_libraryd ${_l})
+ list(APPEND _no_dots_libd_list ${_no_dots_libraryd})
+ endforeach()
+
+ # Copy list back to original names
+ set(_lib_list ${_no_dots_lib_list})
+ set(_libd_list ${_no_dots_libd_list})
+ endif()
+
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "While searching for ${_var}, our proposed library list is ${_lib_list}")
+ endif()
+
+ find_library(${_var}
+ NAMES ${_lib_list}
+ PATHS
+ /opt/gnome/lib
+ /opt/gnome/lib64
+ /usr/openwin/lib
+ /usr/openwin/lib64
+ /sw/lib
+ $ENV{GTKMM_BASEPATH}/lib
+ [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+ )
+
+ if(_expand_vc AND MSVC)
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "While searching for ${_var}_DEBUG our proposed library list is ${_libd_list}")
+ endif()
+
+ find_library(${_var}_DEBUG
+ NAMES ${_libd_list}
+ PATHS
+ $ENV{GTKMM_BASEPATH}/lib
+ [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
+ )
+
+ if(${_var} AND ${_var}_DEBUG)
+ if(NOT GTK2_SKIP_MARK_AS_ADVANCED)
+ mark_as_advanced(${_var}_DEBUG)
+ endif()
+ set(GTK2_LIBRARIES ${GTK2_LIBRARIES} optimized ${${_var}} debug ${${_var}_DEBUG})
+ set(GTK2_LIBRARIES ${GTK2_LIBRARIES} PARENT_SCOPE)
+ endif()
+ else()
+ if(NOT GTK2_SKIP_MARK_AS_ADVANCED)
+ mark_as_advanced(${_var})
+ endif()
+ set(GTK2_LIBRARIES ${GTK2_LIBRARIES} ${${_var}})
+ set(GTK2_LIBRARIES ${GTK2_LIBRARIES} PARENT_SCOPE)
+ # Set debug to release
+ set(${_var}_DEBUG ${${_var}})
+ set(${_var}_DEBUG ${${_var}} PARENT_SCOPE)
+ endif()
+endfunction(_GTK2_FIND_LIBRARY)
+
+#=============================================================
+
+#
+# main()
+#
+
+set(GTK2_FOUND)
+set(GTK2_INCLUDE_DIRS)
+set(GTK2_LIBRARIES)
+
+if(NOT GTK2_FIND_COMPONENTS)
+ # Assume they only want GTK
+ set(GTK2_FIND_COMPONENTS gtk)
+endif()
+
+#
+# If specified, enforce version number
+#
+if(GTK2_FIND_VERSION)
+ cmake_minimum_required(VERSION 2.6.2)
+ set(GTK2_FAILED_VERSION_CHECK true)
+ if(GTK2_DEBUG)
+ message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
+ "Searching for version ${GTK2_FIND_VERSION}")
+ endif()
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GTK_INCLUDE_DIR gtk/gtk.h)
+ if(GTK2_GTK_INCLUDE_DIR)
+ _GTK2_GET_VERSION(GTK2_MAJOR_VERSION
+ GTK2_MINOR_VERSION
+ GTK2_PATCH_VERSION
+ ${GTK2_GTK_INCLUDE_DIR}/gtk/gtkversion.h)
+ set(GTK2_VERSION
+ ${GTK2_MAJOR_VERSION}.${GTK2_MINOR_VERSION}.${GTK2_PATCH_VERSION})
+ if(GTK2_FIND_VERSION_EXACT)
+ if(GTK2_VERSION VERSION_EQUAL GTK2_FIND_VERSION)
+ set(GTK2_FAILED_VERSION_CHECK false)
+ endif()
+ else()
+ if(GTK2_VERSION VERSION_EQUAL GTK2_FIND_VERSION OR
+ GTK2_VERSION VERSION_GREATER GTK2_FIND_VERSION)
+ set(GTK2_FAILED_VERSION_CHECK false)
+ endif()
+ endif()
+ else()
+ # If we can't find the GTK include dir, we can't do version checking
+ if(GTK2_FIND_REQUIRED AND NOT GTK2_FIND_QUIETLY)
+ message(FATAL_ERROR "Could not find GTK2 include directory")
+ endif()
+ return()
+ endif()
+
+ if(GTK2_FAILED_VERSION_CHECK)
+ if(GTK2_FIND_REQUIRED AND NOT GTK2_FIND_QUIETLY)
+ if(GTK2_FIND_VERSION_EXACT)
+ message(FATAL_ERROR "GTK2 version check failed. Version ${GTK2_VERSION} was found, version ${GTK2_FIND_VERSION} is needed exactly.")
+ else()
+ message(FATAL_ERROR "GTK2 version check failed. Version ${GTK2_VERSION} was found, at least version ${GTK2_FIND_VERSION} is required")
+ endif()
+ endif()
+
+ # If the version check fails, exit out of the module here
+ return()
+ endif()
+endif()
+
+#
+# Find all components
+#
+
+find_package(Freetype)
+list(APPEND GTK2_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS})
+list(APPEND GTK2_LIBRARIES ${FREETYPE_LIBRARIES})
+
+foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
+ if(_GTK2_component STREQUAL "gtk")
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLIB_INCLUDE_DIR glib.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLIBCONFIG_INCLUDE_DIR glibconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_GLIB_LIBRARY glib false true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GOBJECT_INCLUDE_DIR gobject/gobject.h)
+ _GTK2_FIND_LIBRARY (GTK2_GOBJECT_LIBRARY gobject false true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GDK_PIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h)
+ _GTK2_FIND_LIBRARY (GTK2_GDK_PIXBUF_LIBRARY gdk_pixbuf false true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GDK_INCLUDE_DIR gdk/gdk.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GDKCONFIG_INCLUDE_DIR gdkconfig.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GTK_INCLUDE_DIR gtk/gtk.h)
+
+ if(UNIX)
+ _GTK2_FIND_LIBRARY (GTK2_GDK_LIBRARY gdk-x11 false true)
+ _GTK2_FIND_LIBRARY (GTK2_GTK_LIBRARY gtk-x11 false true)
+ else()
+ _GTK2_FIND_LIBRARY (GTK2_GDK_LIBRARY gdk-win32 false true)
+ _GTK2_FIND_LIBRARY (GTK2_GTK_LIBRARY gtk-win32 false true)
+ endif()
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_CAIRO_INCLUDE_DIR cairo.h)
+ _GTK2_FIND_LIBRARY (GTK2_CAIRO_LIBRARY cairo false false)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_FONTCONFIG_INCLUDE_DIR fontconfig/fontconfig.h)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_PANGO_INCLUDE_DIR pango/pango.h)
+ _GTK2_FIND_LIBRARY (GTK2_PANGO_LIBRARY pango false true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_ATK_INCLUDE_DIR atk/atk.h)
+ _GTK2_FIND_LIBRARY (GTK2_ATK_LIBRARY atk false true)
+
+
+ elseif(_GTK2_component STREQUAL "gtkmm")
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLIBMM_INCLUDE_DIR glibmm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLIBMMCONFIG_INCLUDE_DIR glibmmconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_GLIBMM_LIBRARY glibmm true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GDKMM_INCLUDE_DIR gdkmm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GDKMMCONFIG_INCLUDE_DIR gdkmmconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_GDKMM_LIBRARY gdkmm true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GTKMM_INCLUDE_DIR gtkmm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GTKMMCONFIG_INCLUDE_DIR gtkmmconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_GTKMM_LIBRARY gtkmm true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMM_INCLUDE_DIR cairomm/cairomm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMMCONFIG_INCLUDE_DIR cairommconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_CAIROMM_LIBRARY cairomm true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_PANGOMM_INCLUDE_DIR pangomm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_PANGOMMCONFIG_INCLUDE_DIR pangommconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_PANGOMM_LIBRARY pangomm true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_SIGC++_INCLUDE_DIR sigc++/sigc++.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_SIGC++CONFIG_INCLUDE_DIR sigc++config.h)
+ _GTK2_FIND_LIBRARY (GTK2_SIGC++_LIBRARY sigc true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GIOMM_INCLUDE_DIR giomm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GIOMMCONFIG_INCLUDE_DIR giommconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_GIOMM_LIBRARY giomm true true)
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_ATKMM_INCLUDE_DIR atkmm.h)
+ _GTK2_FIND_LIBRARY (GTK2_ATKMM_LIBRARY atkmm true true)
+
+ elseif(_GTK2_component STREQUAL "glade")
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLADE_INCLUDE_DIR glade/glade.h)
+ _GTK2_FIND_LIBRARY (GTK2_GLADE_LIBRARY glade false true)
+
+ elseif(_GTK2_component STREQUAL "glademm")
+
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLADEMM_INCLUDE_DIR libglademm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_GLADEMMCONFIG_INCLUDE_DIR libglademmconfig.h)
+ _GTK2_FIND_LIBRARY (GTK2_GLADEMM_LIBRARY glademm true true)
+
+ else()
+ message(FATAL_ERROR "Unknown GTK2 component ${_component}")
+ endif()
+endforeach()
+
+#
+# Solve for the GTK2 version if we haven't already
+#
+if(NOT GTK2_FIND_VERSION AND GTK2_GTK_INCLUDE_DIR)
+ _GTK2_GET_VERSION(GTK2_MAJOR_VERSION
+ GTK2_MINOR_VERSION
+ GTK2_PATCH_VERSION
+ ${GTK2_GTK_INCLUDE_DIR}/gtk/gtkversion.h)
+ set(GTK2_VERSION ${GTK2_MAJOR_VERSION}.${GTK2_MINOR_VERSION}.${GTK2_PATCH_VERSION})
+endif()
+
+#
+# Try to enforce components
+#
+
+set(_GTK2_did_we_find_everything true) # This gets set to GTK2_FOUND
+
+include(FindPackageHandleStandardArgs)
+
+foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
+ string(TOUPPER ${_GTK2_component} _COMPONENT_UPPER)
+
+ if(_GTK2_component STREQUAL "gtk")
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtk libraries were not found."
+ GTK2_GTK_LIBRARY
+ GTK2_GTK_INCLUDE_DIR
+
+ GTK2_GLIB_INCLUDE_DIR
+ GTK2_GLIBCONFIG_INCLUDE_DIR
+ GTK2_GLIB_LIBRARY
+
+ GTK2_GDK_INCLUDE_DIR
+ GTK2_GDKCONFIG_INCLUDE_DIR
+ GTK2_GDK_LIBRARY
+ )
+ elseif(_GTK2_component STREQUAL "gtkmm")
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "Some or all of the gtkmm libraries were not found."
+ GTK2_GTKMM_LIBRARY
+ GTK2_GTKMM_INCLUDE_DIR
+ GTK2_GTKMMCONFIG_INCLUDE_DIR
+
+ GTK2_GLIBMM_INCLUDE_DIR
+ GTK2_GLIBMMCONFIG_INCLUDE_DIR
+ GTK2_GLIBMM_LIBRARY
+
+ GTK2_GDKMM_INCLUDE_DIR
+ GTK2_GDKMMCONFIG_INCLUDE_DIR
+ GTK2_GDKMM_LIBRARY
+ )
+ elseif(_GTK2_component STREQUAL "glade")
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glade library was not found."
+ GTK2_GLADE_LIBRARY
+ GTK2_GLADE_INCLUDE_DIR
+ )
+ elseif(_GTK2_component STREQUAL "glademm")
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK2_${_COMPONENT_UPPER} "The glademm library was not found."
+ GTK2_GLADEMM_LIBRARY
+ GTK2_GLADEMM_INCLUDE_DIR
+ GTK2_GLADEMMCONFIG_INCLUDE_DIR
+ )
+ endif()
+
+ if(NOT GTK2_${_COMPONENT_UPPER}_FOUND)
+ set(_GTK2_did_we_find_everything false)
+ endif()
+endforeach()
+
+if(_GTK2_did_we_find_everything AND NOT GTK2_VERSION_CHECK_FAILED)
+ set(GTK2_FOUND true)
+else()
+ # Unset our variables.
+ set(GTK2_FOUND false)
+ set(GTK2_VERSION)
+ set(GTK2_VERSION_MAJOR)
+ set(GTK2_VERSION_MINOR)
+ set(GTK2_VERSION_PATCH)
+ set(GTK2_INCLUDE_DIRS)
+ set(GTK2_LIBRARIES)
+endif()
+
+if(GTK2_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES GTK2_INCLUDE_DIRS)
+endif()
+
diff --git a/CMakeScripts/FindGnomeVFS2.cmake b/CMakeScripts/Modules/FindGnomeVFS2.cmake
index d942addac..d942addac 100644
--- a/CMakeScripts/FindGnomeVFS2.cmake
+++ b/CMakeScripts/Modules/FindGnomeVFS2.cmake
diff --git a/CMakeScripts/Modules/FindGtkSpell.cmake b/CMakeScripts/Modules/FindGtkSpell.cmake
new file mode 100644
index 000000000..131ad8dc8
--- /dev/null
+++ b/CMakeScripts/Modules/FindGtkSpell.cmake
@@ -0,0 +1,28 @@
+# - Try to find GtkSpell
+# Once done this will define
+#
+# GTKSPELL_FOUND - system has GtkSpell
+# GTKSPELL_INCLUDE_DIRS - the GtkSpell include directory
+# GTKSPELL_LIBRARIES - Link these to use GtkSpell
+# GTKSPELL_DEFINITIONS - Compiler switches required for using GtkSpell
+#
+# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the New
+# BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+
+include(${CMAKE_CURRENT_LIST_DIR}/../HelperMacros.cmake)
+
+if (GTKSPELL_LIBRARIES AND GTKSPELL_INCLUDE_DIRS)
+ # in cache already
+ set(GTKSPELL_FOUND TRUE)
+else (GTKSPELL_LIBRARIES AND GTKSPELL_INCLUDE_DIRS)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ INKSCAPE_PKG_CONFIG_FIND(GTKSPELL gtkspell-2.0 0 gtkspell/gtkspell.h gtkspell-2.0 gtkspell)
+ endif (PKG_CONFIG_FOUND)
+endif (GTKSPELL_LIBRARIES AND GTKSPELL_INCLUDE_DIRS)
diff --git a/CMakeScripts/FindLCMS.cmake b/CMakeScripts/Modules/FindLCMS.cmake
index a69d88a42..a69d88a42 100644
--- a/CMakeScripts/FindLCMS.cmake
+++ b/CMakeScripts/Modules/FindLCMS.cmake
diff --git a/CMakeScripts/Modules/FindLibWPG.cmake b/CMakeScripts/Modules/FindLibWPG.cmake
new file mode 100644
index 000000000..4f173da2d
--- /dev/null
+++ b/CMakeScripts/Modules/FindLibWPG.cmake
@@ -0,0 +1,54 @@
+# - Try to find LibWPG
+# Once done this will define
+#
+# LIBWPG_FOUND - system has LibWPG
+# LIBWPG_INCLUDE_DIRS - the LibWPG include directory
+# LIBWPG_LIBRARIES - Link these to use LibWPG
+# LIBWPG_DEFINITIONS - Compiler switches required for using LibWPG
+#
+# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the New
+# BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+
+include(${CMAKE_CURRENT_LIST_DIR}/../HelperMacros.cmake)
+
+if (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS)
+ # in cache already
+ set(LIBWPG_FOUND TRUE)
+else (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ INKSCAPE_PKG_CONFIG_FIND(LIBWPG-0.1 libwpg-0.1 0 libwpg/libwpg.h libwpg-0.1 wpg-0.1)
+ INKSCAPE_PKG_CONFIG_FIND(LIBWPG-STREAM-0.1 libwpg-stream-0.1 0 libwpg/libwpg.h libwpg-0.1 wpg-stream-0.1)
+ INKSCAPE_PKG_CONFIG_FIND(LIBWPD-0.8 libwpd-0.8 0 libwpd/libwpd.h libwpd-0.8 wpd-0.8)
+ if (LIBWPG-0.1_FOUND AND LIBWPG-STREAM-0.1_FOUND AND LIBWPD-0.8_FOUND)
+ list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG-0.1_INCLUDE_DIRS})
+ list(APPEND LIBWPG_LIBRARIES ${LIBWPG-0.1_LIBRARIES})
+ list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG-STREAM-0.1_INCLUDE_DIRS})
+ list(APPEND LIBWPG_LIBRARIES ${LIBWPG-STREAM-0.1_LIBRARIES})
+ list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPD-0.8_INCLUDE_DIRS})
+ list(APPEND LIBWPG_LIBRARIES ${LIBWPD-0.8_LIBRARIES})
+ set(LIBWPG01_FOUND TRUE)
+ endif (LIBWPG-0.1_FOUND AND LIBWPG-STREAM-0.1_FOUND AND LIBWPD-0.8_FOUND)
+ INKSCAPE_PKG_CONFIG_FIND(LIBWPG-0.2 libwpg-0.2 0 libwpg/libwpg.h libwpg-0.2 wpg-0.2)
+ INKSCAPE_PKG_CONFIG_FIND(LIBWPD-0.9 libwpd-0.9 0 libwpd/libwpd.h libwpd-0.9 wpd-0.9)
+ INKSCAPE_PKG_CONFIG_FIND(LIBWPD-STREAM-0.9 libwpd-stream-0.9 0 libwpd/libwpd.h libwpd-0.9 wpd-stream-0.9)
+ if (LIBWPG02_FOUND)
+ list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG02_INCLUDE_DIRS})
+ list(APPEND LIBWPG_LIBRARIES ${LIBWPG02_LIBRARIES})
+ list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPD-0.9_INCLUDE_DIRS})
+ list(APPEND LIBWPG_LIBRARIES ${LIBWPD-0.9_LIBRARIES})
+ list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPD-STREAM-0.9_INCLUDE_DIRS})
+ list(APPEND LIBWPG_LIBRARIES ${LIBWPD-STREAM-0.9_LIBRARIES})
+ set(LIBWPG02_FOUND TRUE)
+ endif (LIBWPG02_FOUND)
+ if (LIBWPG01_FOUND OR LIBWPG_02_FOUND)
+ set(LIBWPG_FOUND TRUE)
+ endif (LIBWPG01_FOUND OR LIBWPG_02_FOUND)
+ endif (PKG_CONFIG_FOUND)
+endif (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS)
diff --git a/CMakeScripts/FindPANGOMM.cmake b/CMakeScripts/Modules/FindPANGOMM.cmake
index 953c49ef0..953c49ef0 100644
--- a/CMakeScripts/FindPANGOMM.cmake
+++ b/CMakeScripts/Modules/FindPANGOMM.cmake
diff --git a/CMakeScripts/Modules/FindPopplerCairo.cmake b/CMakeScripts/Modules/FindPopplerCairo.cmake
new file mode 100644
index 000000000..2565e7bb2
--- /dev/null
+++ b/CMakeScripts/Modules/FindPopplerCairo.cmake
@@ -0,0 +1,47 @@
+# - Try to find PopplerCairo
+# Once done this will define
+#
+# POPPLER_FOUND - system has PopplerCairo
+# POPPLER_INCLUDE_DIRS - the PopplerCairo include directory
+# POPPLER_LIBRARIES - Link these to use PopplerCairo
+# POPPLER_DEFINITIONS - Compiler switches required for using PopplerCairo
+#
+# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the New
+# BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+
+include(${CMAKE_CURRENT_LIST_DIR}/../HelperMacros.cmake)
+
+if (POPPLER_LIBRARIES AND POPPLER_INCLUDE_DIRS)
+ # in cache already
+ set(POPPLER_FOUND TRUE)
+else (POPPLER_LIBRARIES AND POPPLER_INCLUDE_DIRS)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ INKSCAPE_PKG_CONFIG_FIND(POPPLER poppler >=0.5.9 poppler-config.h poppler poppler)
+ if (POPPLER_FOUND)
+ INKSCAPE_PKG_CONFIG_FIND(POPPLER_GLIB poppler-glib >=0.5.9 poppler/glib/poppler.h "" poppler-glib)
+ if (POPPLER_GLIB_FOUND)
+ list(APPEND POPPLER_INCLUDE_DIRS ${POPPLER_GLIB_INCLUDE_DIRS})
+ list(APPEND POPPLER_LIBRARIES ${POPPLER_GLIB_LIBRARIES})
+ INKSCAPE_PKG_CONFIG_FIND(CAIRO_SVG cairo-svg 0 cairo-svg.h cairo cairo)
+ if (CAIRO_SVG_FOUND)
+ list(APPEND POPPLER_INCLUDE_DIRS ${CAIRO_SVG_INCLUDE_DIRS})
+ list(APPEND POPPLER_LIBRARIES ${CAIRO_SVG_LIBRARIES})
+ endif (CAIRO_SVG_FOUND)
+ endif (POPPLER_GLIB_FOUND)
+ if (ENABLE_POPPLER_CAIRO)
+ INKSCAPE_PKG_CONFIG_FIND(POPPLER_CAIRO poppler-cairo >=0.5.9 cairo.h cairo cairo)
+ if (POPPLER_GLIB_FOUND AND POPPLER_CAIRO_FOUND AND NOT CAIRO_SVG_FOUND)
+ list(APPEND POPPLER_INCLUDE_DIRS ${POPPLER_CAIRO_INCLUDE_DIRS})
+ list(APPEND POPPLER_LIBRARIES ${POPPLER_CAIRO_LIBRARIES})
+ endif (POPPLER_GLIB_FOUND AND POPPLER_CAIRO_FOUND AND NOT CAIRO_SVG_FOUND)
+ endif (ENABLE_POPPLER_CAIRO)
+ endif (POPPLER_FOUND)
+ endif (PKG_CONFIG_FOUND)
+endif (POPPLER_LIBRARIES AND POPPLER_INCLUDE_DIRS)
diff --git a/CMakeScripts/FindPopt.cmake b/CMakeScripts/Modules/FindPopt.cmake
index e1368be75..e1368be75 100644
--- a/CMakeScripts/FindPopt.cmake
+++ b/CMakeScripts/Modules/FindPopt.cmake
diff --git a/CMakeScripts/FindPython.cmake b/CMakeScripts/Modules/FindPython.cmake
index 1ac451541..1ac451541 100644
--- a/CMakeScripts/FindPython.cmake
+++ b/CMakeScripts/Modules/FindPython.cmake
diff --git a/CMakeScripts/FindSigC++.cmake b/CMakeScripts/Modules/FindSigC++.cmake
index ed0abc545..ed0abc545 100644
--- a/CMakeScripts/FindSigC++.cmake
+++ b/CMakeScripts/Modules/FindSigC++.cmake
diff --git a/CMakeScripts/UseGlibMarshal.cmake b/CMakeScripts/UseGlibMarshal.cmake
index 63d501a57..c9481a4f6 100644
--- a/CMakeScripts/UseGlibMarshal.cmake
+++ b/CMakeScripts/UseGlibMarshal.cmake
@@ -22,7 +22,11 @@ MACRO(GLIB_MARSHAL GLIB_MARSHAL_PREFIX GLIB_MARSHAL_FILE GLIB_MARSHAL_OUTPUT_LOC
OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_CPP )
# check whether the generated file is the same as the existing one
- FILE(READ ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h GLIB_MARSHAL_HEADER_OLD)
+ IF(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h)
+ FILE(READ ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h GLIB_MARSHAL_HEADER_OLD)
+ ELSE()
+ SET(GLIB_MARSHAL_HEADER_OLD "")
+ ENDIF()
IF(NOT GLIB_MARSHAL_HEADER_OLD STREQUAL GLIB_MARSHAL_OUTPUT_HEADER)
MESSAGE(STATUS "${GLIB_MARSHAL_FILE}.h changed; overwriting")
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.h "${GLIB_MARSHAL_OUTPUT_HEADER}")
diff --git a/CMakeScripts/cmake_consistency_check.py b/CMakeScripts/cmake_consistency_check.py
new file mode 100755
index 000000000..1e225d4ed
--- /dev/null
+++ b/CMakeScripts/cmake_consistency_check.py
@@ -0,0 +1,297 @@
+#!/usr/bin/env python
+
+# $Id: cmake_consistency_check.py 38869 2011-07-31 03:15:37Z campbellbarton $
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributor(s): Campbell Barton
+#
+# ***** END GPL LICENSE BLOCK *****
+
+# <pep8 compliant>
+
+from cmake_consistency_check_config import IGNORE, UTF8_CHECK, SOURCE_DIR
+
+import os
+from os.path import join, dirname, normpath, splitext
+
+print("Scanning:", SOURCE_DIR)
+
+global_h = set()
+global_c = set()
+global_refs = {}
+
+
+def replace_line(f, i, text, keep_indent=True):
+ file_handle = open(f, 'r')
+ data = file_handle.readlines()
+ file_handle.close()
+
+ l = data[i]
+ ws = l[:len(l) - len(l.lstrip())]
+
+ data[i] = "%s%s\n" % (ws, text)
+
+ file_handle = open(f, 'w')
+ file_handle.writelines(data)
+ file_handle.close()
+
+
+def source_list(path, filename_check=None):
+ for dirpath, dirnames, filenames in os.walk(path):
+
+ # skip '.svn'
+ if dirpath.startswith("."):
+ continue
+
+ for filename in filenames:
+ if filename_check is None or filename_check(filename):
+ yield os.path.join(dirpath, filename)
+
+
+# extension checking
+def is_cmake(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".cmake") or (filename == "CMakeLists.txt")
+
+
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_c(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+
+
+def is_c_any(filename):
+ return is_c(filename) or is_c_header(filename)
+
+
+def cmake_get_src(f):
+
+ sources_h = []
+ sources_c = []
+
+ filen = open(f, "r", encoding="utf8")
+ it = iter(filen)
+ found = False
+ i = 0
+ # print(f)
+
+ def is_definition(l, f, i, name):
+ if ('set(%s' % name) in l or ('set(' in l and l.endswith(name)):
+ if len(l.split()) > 1:
+ raise Exception("strict formatting not kept 'set(%s*' %s:%d" % (name, f, i))
+ return True
+
+ if ("list(APPEND %s" % name) in l or ('list(APPEND ' in l and l.endswith(name)):
+ if l.endswith(")"):
+ raise Exception("strict formatting not kept 'list(APPEND %s...)' on 1 line %s:%d" % (name, f, i))
+ return True
+
+ while it is not None:
+ context_name = ""
+ while it is not None:
+ i += 1
+ try:
+ l = next(it)
+ except StopIteration:
+ it = None
+ break
+ l = l.strip()
+ if not l.startswith("#"):
+ found = is_definition(l, f, i, "SRC")
+ if found:
+ context_name = "SRC"
+ break
+ found = is_definition(l, f, i, "INC")
+ if found:
+ context_name = "INC"
+ break
+
+ if found:
+ cmake_base = dirname(f)
+
+ while it is not None:
+ i += 1
+ try:
+ l = next(it)
+ except StopIteration:
+ it = None
+ break
+
+ l = l.strip()
+
+ if not l.startswith("#"):
+
+ if ")" in l:
+ if l.strip() != ")":
+ raise Exception("strict formatting not kept '*)' %s:%d" % (f, i))
+ break
+
+ # replace dirs
+ l = l.replace("${CMAKE_CURRENT_SOURCE_DIR}", cmake_base)
+
+ if not l:
+ pass
+ elif l.startswith("$"):
+ if context_name == "SRC":
+ # assume if it ends with context_name we know about it
+ if not l.split("}")[0].endswith(context_name):
+ print("Can't use var '%s' %s:%d" % (l, f, i))
+ elif len(l.split()) > 1:
+ raise Exception("Multi-line define '%s' %s:%d" % (l, f, i))
+ else:
+ new_file = normpath(join(cmake_base, l))
+
+ if context_name == "SRC":
+ if is_c_header(new_file):
+ sources_h.append(new_file)
+ global_refs.setdefault(new_file, []).append((f, i))
+ elif is_c(new_file):
+ sources_c.append(new_file)
+ global_refs.setdefault(new_file, []).append((f, i))
+ elif l in ("PARENT_SCOPE", ):
+ # cmake var, ignore
+ pass
+ elif new_file.endswith(".list"):
+ pass
+ elif new_file.endswith(".def"):
+ pass
+ else:
+ raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file))
+
+ elif context_name == "INC":
+ if os.path.isdir(new_file):
+ new_path_rel = os.path.relpath(new_file, cmake_base)
+
+ if new_path_rel != l:
+ print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel))
+
+ ## Save time. just replace the line
+ # replace_line(f, i - 1, new_path_rel)
+
+ else:
+ raise Exception("non existant include %s:%d -> %s" % (f, i, new_file))
+
+ # print(new_file)
+
+ global_h.update(set(sources_h))
+ global_c.update(set(sources_c))
+ '''
+ if not sources_h and not sources_c:
+ raise Exception("No sources %s" % f)
+
+ sources_h_fs = list(source_list(cmake_base, is_c_header))
+ sources_c_fs = list(source_list(cmake_base, is_c))
+ '''
+ # find missing C files:
+ '''
+ for ff in sources_c_fs:
+ if ff not in sources_c:
+ print(" missing: " + ff)
+ '''
+
+ # reset
+ sources_h[:] = []
+ sources_c[:] = []
+
+ filen.close()
+
+
+for cmake in source_list(SOURCE_DIR, is_cmake):
+ cmake_get_src(cmake)
+
+
+def is_ignore(f):
+ for ig in IGNORE:
+ if ig in f:
+ return True
+ return False
+
+
+# First do stupid check, do these files exist?
+print("\nChecking for missing references:")
+is_err = False
+errs = []
+for f in (global_h | global_c):
+ if f.endswith("dna.c"):
+ continue
+
+ if not os.path.exists(f):
+ refs = global_refs[f]
+ if refs:
+ for cf, i in refs:
+ errs.append((cf, i))
+ else:
+ raise Exception("CMake referenecs missing, internal error, aborting!")
+ is_err = True
+
+errs.sort()
+errs.reverse()
+for cf, i in errs:
+ print("%s:%d" % (cf, i))
+ # Write a 'sed' script, useful if we get a lot of these
+ # print("sed '%dd' '%s' > '%s.tmp' ; mv '%s.tmp' '%s'" % (i, cf, cf, cf, cf))
+
+
+if is_err:
+ raise Exception("CMake referenecs missing files, aborting!")
+del is_err
+del errs
+
+# now check on files not accounted for.
+print("\nC/C++ Files CMake doesnt know about...")
+for cf in sorted(source_list(SOURCE_DIR, is_c)):
+ if not is_ignore(cf):
+ if cf not in global_c:
+ print("missing_c: ", cf)
+
+ # check if automake builds a corrasponding .o file.
+ '''
+ if cf in global_c:
+ out1 = os.path.splitext(cf)[0] + ".o"
+ out2 = os.path.splitext(cf)[0] + ".Po"
+ out2_dir, out2_file = out2 = os.path.split(out2)
+ out2 = os.path.join(out2_dir, ".deps", out2_file)
+ if not os.path.exists(out1) and not os.path.exists(out2):
+ print("bad_c: ", cf)
+ '''
+
+print("\nC/C++ Headers CMake doesnt know about...")
+for hf in sorted(source_list(SOURCE_DIR, is_c_header)):
+ if not is_ignore(hf):
+ if hf not in global_h:
+ print("missing_h: ", hf)
+
+if UTF8_CHECK:
+ # test encoding
+ import traceback
+ for files in (global_c, global_h):
+ for f in sorted(files):
+ if os.path.exists(f):
+ # ignore outside of our source tree
+ if "extern" not in f:
+ i = 1
+ try:
+ for l in open(f, "r", encoding="utf8"):
+ i += 1
+ except:
+ print("Non utf8: %s:%d" % (f, i))
+ if i > 1:
+ traceback.print_exc()
diff --git a/CMakeScripts/cmake_consistency_check_config.py b/CMakeScripts/cmake_consistency_check_config.py
new file mode 100644
index 000000000..e7c4508ef
--- /dev/null
+++ b/CMakeScripts/cmake_consistency_check_config.py
@@ -0,0 +1,66 @@
+import os
+
+IGNORE = (
+ # dirs
+ "/cxxtest/",
+ "/dom/work/",
+ "/extension/dbus/",
+ "/pedro/",
+ "/src/extension/dxf2svg/",
+
+ # files
+ "buildtool.cpp",
+ "jabber_whiteboard/node-tracker.cpp",
+ "jabber_whiteboard/node-utilities.cpp",
+ "packaging/macosx/ScriptExec/main.c",
+ "share/ui/keybindings.rc",
+ "src/2geom/conic_section_clipper_impl.cpp",
+ "src/2geom/conicsec.cpp",
+ "src/2geom/recursive-bezier-intersection.cpp",
+ "src/deptool.cpp",
+ "src/display/nr-filter-skeleton.cpp",
+ "src/display/testnr.cpp",
+ "src/dom/io/httpclient.cpp",
+ "src/dom/odf/SvgOdg.cpp",
+ "src/dom/xmlwriter.cpp",
+ "src/inkview.cpp",
+ "src/inkview.rc",
+ "src/io/streamtest.cpp",
+ "src/libcola/cycle_detector.cpp",
+ "src/libnr/nr-compose-reference.cpp",
+ "src/libnr/testnr.cp",
+ "src/live_effects/lpe-skeleton.cpp",
+ "src/sp-animation.cpp",
+ "src/sp-skeleton.cpp",
+ "src/svg/test-stubs.cpp",
+ "src/ui/dialog/session-player.cpp",
+ "src/ui/dialog/whiteboard-connect.cpp",
+ "src/ui/dialog/whiteboard-sharewithchat.cpp",
+ "src/ui/dialog/whiteboard-sharewithuser.cpp",
+ "src/winconsole.cpp",
+
+ # header files
+ "share/filters/filters.svg.h",
+ "share/palettes/palettes.h",
+ "src/inkscape/share/palettes/palettes.h",
+ "src/inkscape/share/patterns/patterns.svg.h",
+ "src/inkscape/src/libcola/cycle_detector.h",
+ "src/inkscape/src/libnr/in-svg-plane-test.h",
+ "src/inkscape/src/libnr/nr-point-fns-test.h",
+ "src/inkscape/src/libnr/nr-translate-test.h",
+ "src/inkscape/src/libnr/nr-types-test.h",
+ "src/inkscape/src/sp-skeleton.h",
+ "src/inkscape/src/svg/test-stubs.h",
+
+ # generated files, created by an in-source build
+ "CMakeFiles/CompilerIdC/CMakeCCompilerId.c",
+ "CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp",
+ "src/helper/sp-marshal.cpp",
+ "src/helper/sp-marshal.h",
+ "src/inkscape-version.cpp",
+ "config.h",
+ )
+
+UTF8_CHECK = False
+
+SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.normpath(os.path.join(os.path.dirname(__file__), ".."))))
diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake
new file mode 100644
index 000000000..1d98a5799
--- /dev/null
+++ b/CMakeScripts/inkscape-version.cmake
@@ -0,0 +1,34 @@
+# This is called by cmake as an extermal process from
+# ./src/CMakeLists.txt and creates inkscape-version.cpp
+#
+# These variables are defined by the caller, matching the CMake equivilents.
+# - ${INKSCAPE_SOURCE_DIR}
+# - ${INKSCAPE_BINARY_DIR}
+
+# We should extract the version from build.xml
+# but for now just hard code
+set(INKSCAPE_REVISION "unknown")
+
+if(EXISTS ${INKSCAPE_SOURCE_DIR}/.bzr/)
+ execute_process(COMMAND
+ bzr revno ${INKSCAPE_SOURCE_DIR}
+ OUTPUT_VARIABLE INKSCAPE_REVISION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+endif()
+
+file(WRITE
+ ${INKSCAPE_BINARY_DIR}/src/inkscape-version.cpp.txt
+ # unlike autoconf, include config.h
+ "#ifdef HAVE_CONFIG_H\n"
+ "# include <config.h>\n"
+ "#endif\n"
+ "\n"
+ "namespace Inkscape {\n"
+ " char const *version_string = VERSION \" \" \"${INKSCAPE_REVISION}\";\n"
+ "}\n")
+
+# Copy the file to the final header only if the version changes
+# and avoid needless rebuilds
+execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${INKSCAPE_BINARY_DIR}/src/inkscape-version.cpp.txt
+ ${INKSCAPE_BINARY_DIR}/src/inkscape-version.cpp)