summaryrefslogtreecommitdiffstats
path: root/CMakeScripts
diff options
context:
space:
mode:
authorKrzysztof Kosi??ski <tweenk.pl@gmail.com>2011-06-19 10:00:24 +0000
committerKrzysztof KosiƄski <tweenk.pl@gmail.com>2011-06-19 10:00:24 +0000
commit06dfaa02d7a80bcdff717d579a48f81643f53f31 (patch)
tree49b8e67ad9051f1507b0959cac986383ab4001e2 /CMakeScripts
parentFix rendering of control points (diff)
parentfix bug 796451: Measure tools should support rotation constraint (diff)
downloadinkscape-06dfaa02d7a80bcdff717d579a48f81643f53f31.tar.gz
inkscape-06dfaa02d7a80bcdff717d579a48f81643f53f31.zip
Merge from trunk
(bzr r9508.1.89)
Diffstat (limited to 'CMakeScripts')
-rw-r--r--CMakeScripts/CheckStructMember.cmake62
-rw-r--r--CMakeScripts/ConfigChecks.cmake29
-rw-r--r--CMakeScripts/ConfigCompileFlags.cmake35
-rw-r--r--CMakeScripts/DefineDependsandFlags.cmake182
-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/FindSSL.cmake89
-rw-r--r--CMakeScripts/FindXML2.cmake90
-rw-r--r--CMakeScripts/FindXSLT.cmake90
-rw-r--r--CMakeScripts/HelperMacros.cmake76
-rw-r--r--CMakeScripts/UseGlibMarshal.cmake6
-rwxr-xr-xCMakeScripts/cmake_consistency_check.py273
-rw-r--r--CMakeScripts/inkscape-version.cmake34
15 files changed, 541 insertions, 1371 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..097dc888e 100644
--- a/CMakeScripts/ConfigChecks.cmake
+++ b/CMakeScripts/ConfigChecks.cmake
@@ -2,12 +2,12 @@
# 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)
+include(CheckIncludeFiles)
+include(CheckFunctionExists)
+include(CheckStructHasMember)
# usage: CHECK_INCLUDE_FILES (<header> <RESULT_VARIABLE> )
# usage: CHECK_FUNCTION_EXISTS (<function name> <RESULT_VARIABLE> )
-# usage: CHECK_STRUCT_MEMBER (<struct> <member> <header> <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)
@@ -45,11 +45,11 @@ 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_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)
@@ -59,13 +59,12 @@ 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)
+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}/config.h)
-FILE(WRITE ${CMAKE_BINARY_DIR}/inkscape_version.h "#define INKSCAPE_VERSION \"${INKSCAPE_VERSION}\"\n")
+configure_file(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/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/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index 89f33114d..591de1327 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -1,60 +1,144 @@
-# 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_INCS
+ ${CMAKE_BINARY_DIR}
+ ${PROJECT_SOURCE_DIR}
+ ${PROJECT_SOURCE_DIR}/src
+)
+
+set(INKSCAPE_LIBS "")
+
+# ----------------------------------------------------------------------------
+# Files we include
+# ----------------------------------------------------------------------------
+
find_package(GSL REQUIRED)
-find_package(ImageMagick++ REQUIRED)
-find_package(Freetype2 REQUIRED)
+list(APPEND INKSCAPE_INCS ${GSL_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${GSL_LIBRARIES})
+list(APPEND INKSCAPE_LIBS "-lgslcblas") # FIXME
+
find_package(GnomeVFS2)
-find_package(Boost REQUIRED)
+list(APPEND INKSCAPE_INCS ${GNOMEVFS2_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${GNOMEVFS-2_LIBRARY})
+
find_package(BoehmGC REQUIRED)
+list(APPEND INKSCAPE_INCS ${BOEHMGC_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${BOEHMGC_LIBRARIES})
+add_definitions(${BOEHMGC_DEFINITIONS})
+
find_package(LibWPG)
-find_package(PNG REQUIRED)
+
+find_package(PNG REQUIRED)
+list(APPEND INKSCAPE_INCS ${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 ${POPT_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${POPT_LIBRARIES})
+add_definitions(${POPT_DEFINITIONS})
-#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:
+find_package(GTK2 COMPONENTS gtk gtkmm REQUIRED)
+list(APPEND INKSCAPE_INCS
+ ${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_GIOMM_INCLUDE_DIR}
+ ${GTK2_SIGC++_INCLUDE_DIR}
+ ${GTK2_SIGC++CONFIG_INCLUDE_DIR}
)
+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}
-#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}
)
-#C/C++ Flags
-INCLUDE_DIRECTORIES(${INK_INCLUDES})
-INCLUDE(ConfigChecks)
+find_package(Freetype REQUIRED)
+list(APPEND INKSCAPE_INCS ${FREETYPE_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${FREETYPE_LIBRARIES})
+
+find_package(Boost REQUIRED)
+list(APPEND INKSCAPE_INCS ${Boost_INCLUDE_DIRS})
+# list(APPEND INKSCAPE_LIBS ${Boost_LIBRARIES})
+
+find_package(ASPELL)
+list(APPEND INKSCAPE_INCS ${ASPELL_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${ASPELL_LIBRARIES})
+add_definitions(${ASPELL_DEFINITIONS})
+
+find_package(OpenSSL)
+list(APPEND INKSCAPE_INCS ${OPENSSL_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${OPENSSL_LIBRARIES})
+
+find_package(LibXslt REQUIRED)
+list(APPEND INKSCAPE_INCS ${LIBXSLT_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${LIBXSLT_LIBRARIES})
+add_definitions(${LIBXSLT_DEFINITIONS})
+
+find_package(LibXml2 REQUIRED)
+list(APPEND INKSCAPE_INCS ${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 ${ZLIB_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${ZLIB_LIBRARIES})
+
+find_package(ImageMagick COMPONENTS MagickCore Magick++)
+if(ImageMagick_FOUND)
+ list(APPEND INKSCAPE_INCS ${ImageMagick_MagickCore_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${ImageMagick_Magick++_LIBRARY})
+endif()
+
+include(IncludeJava)
+# end Dependencies
+
+
+# C/C++ Flags
+include_directories(SYSTEM ${INKSCAPE_INCS})
+unset(INKSCAPE_INCS)
+
+include(ConfigChecks)
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/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..cdb4d0386 100644
--- a/CMakeScripts/HelperMacros.cmake
+++ b/CMakeScripts/HelperMacros.cmake
@@ -1,13 +1,65 @@
# 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)
+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()
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..f308a2f8b
--- /dev/null
+++ b/CMakeScripts/cmake_consistency_check.py
@@ -0,0 +1,273 @@
+#!/usr/bin/env python
+
+# $Id: cmake_consistency_check.py 36708 2011-05-16 06:11:14Z gsrb3d $
+# ***** 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>
+
+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",
+ )
+
+import os
+from os.path import join, dirname, normpath, abspath, splitext
+
+base = join(os.path.dirname(__file__), "..")
+base = normpath(base)
+base = abspath(base)
+
+print("Scanning:", base)
+
+global_h = set()
+global_c = set()
+
+
+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)
+ while it is not None:
+ while it is not None:
+ i += 1
+ try:
+ l = next(it)
+ except StopIteration:
+ it = None
+ break
+ l = l.strip()
+ if not l.startswith("#"):
+ if 'set(SRC' in l or ('set(' in l and l.endswith("SRC")):
+ if len(l.split()) > 1:
+ raise Exception("strict formatting not kept 'set(SRC*' %s:%d" % (f, i))
+ found = True
+ break
+
+ if "list(APPEND SRC" in l or ('list(APPEND ' in l and l.endswith("SRC")):
+ if l.endswith(")"):
+ raise Exception("strict formatting not kept 'list(APPEND SRC...)' on 1 line %s:%d" % (f, i))
+ found = True
+ 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("$"):
+ # assume if it ends with SRC we know about it
+ if not l.split("}")[0].endswith("SRC"):
+ 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 is_c_header(new_file):
+ sources_h.append(new_file)
+ elif is_c(new_file):
+ sources_c.append(new_file)
+ 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))
+
+ # 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)
+ '''
+
+ filen.close()
+
+
+for cmake in source_list(base, 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?
+for f in (global_h | global_c):
+ if f.endswith("dna.c"):
+ continue
+
+ if not os.path.exists(f):
+ raise Exception("CMake referenced file missing: " + f)
+
+# now check on files not accounted for.
+print("\nC/C++ Files CMake doesnt know about...")
+for cf in sorted(source_list(base, 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(base, is_c_header)):
+ if not is_ignore(hf):
+ if hf not in global_h:
+ print("missing_h: ", hf)
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)