diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2011-06-19 10:00:24 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2011-06-19 10:00:24 +0000 |
| commit | 06dfaa02d7a80bcdff717d579a48f81643f53f31 (patch) | |
| tree | 49b8e67ad9051f1507b0959cac986383ab4001e2 /CMakeScripts | |
| parent | Fix rendering of control points (diff) | |
| parent | fix bug 796451: Measure tools should support rotation constraint (diff) | |
| download | inkscape-06dfaa02d7a80bcdff717d579a48f81643f53f31.tar.gz inkscape-06dfaa02d7a80bcdff717d579a48f81643f53f31.zip | |
Merge from trunk
(bzr r9508.1.89)
Diffstat (limited to 'CMakeScripts')
| -rw-r--r-- | CMakeScripts/CheckStructMember.cmake | 62 | ||||
| -rw-r--r-- | CMakeScripts/ConfigChecks.cmake | 29 | ||||
| -rw-r--r-- | CMakeScripts/ConfigCompileFlags.cmake | 35 | ||||
| -rw-r--r-- | CMakeScripts/DefineDependsandFlags.cmake | 182 | ||||
| -rw-r--r-- | CMakeScripts/FindBoost.cmake | 403 | ||||
| -rw-r--r-- | CMakeScripts/FindFreetype2.cmake | 90 | ||||
| -rw-r--r-- | CMakeScripts/FindGTK2.cmake | 363 | ||||
| -rw-r--r-- | CMakeScripts/FindImageMagick++.cmake | 90 | ||||
| -rw-r--r-- | CMakeScripts/FindSSL.cmake | 89 | ||||
| -rw-r--r-- | CMakeScripts/FindXML2.cmake | 90 | ||||
| -rw-r--r-- | CMakeScripts/FindXSLT.cmake | 90 | ||||
| -rw-r--r-- | CMakeScripts/HelperMacros.cmake | 76 | ||||
| -rw-r--r-- | CMakeScripts/UseGlibMarshal.cmake | 6 | ||||
| -rwxr-xr-x | CMakeScripts/cmake_consistency_check.py | 273 | ||||
| -rw-r--r-- | CMakeScripts/inkscape-version.cmake | 34 |
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) |
