diff options
| author | Campbell Barton <ideasman42@gmail.com> | 2011-09-26 11:01:53 +0000 |
|---|---|---|
| committer | Campbell Barton <ideasman42@gmail.com> | 2011-09-26 11:01:53 +0000 |
| commit | af72bff308bdb392312d4305a88a38fab8255e59 (patch) | |
| tree | ae453ea2af9c6170ed17895342526ec5959b1032 /CMakeScripts | |
| parent | * [INTL:sk] Slovak translation update (diff) | |
| download | inkscape-af72bff308bdb392312d4305a88a38fab8255e59.tar.gz inkscape-af72bff308bdb392312d4305a88a38fab8255e59.zip | |
cmake: aspell/gtkspell/poppler-cairo/libwpg
patch #822009 to address bug #820863
from Yu-Jie Lin.
(bzr r10648)
Diffstat (limited to 'CMakeScripts')
| -rw-r--r-- | CMakeScripts/DefineDependsandFlags.cmake | 62 | ||||
| -rw-r--r-- | CMakeScripts/HelperMacros.cmake | 66 | ||||
| -rw-r--r-- | CMakeScripts/Modules/FindGtkSpell.cmake | 28 | ||||
| -rw-r--r-- | CMakeScripts/Modules/FindLibWPG.cmake | 106 | ||||
| -rw-r--r-- | CMakeScripts/Modules/FindPopplerCairo.cmake | 47 |
5 files changed, 234 insertions, 75 deletions
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 1b68915ed..cf1f59996 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -46,7 +46,48 @@ list(APPEND INKSCAPE_INCS_SYS ${BOEHMGC_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${BOEHMGC_LIBRARIES}) add_definitions(${BOEHMGC_DEFINITIONS}) -find_package(LibWPG) +find_package(PopplerCairo) +if(POPPLER_FOUND) + set(HAVE_POPPLER ON) + if(ENABLE_POPPLER_CAIRO) + if(POPPLER_CAIRO_FOUND AND POPPLER_GLIB_FOUND) + set(HAVE_POPPLER_CAIRO ON) + endif() + if(POPPLER_GLIB_FOUND AND CAIRO_SVG_FOUND) + set(HAVE_POPPLER_GLIB ON) + endif() + endif() + if(POPPLER_VERSION VERSION_GREATER "0.8.3" OR + POPPLER_VERSION VERSION_EQUAL "0.8.3") + set(POPPLER_NEW_GFXFONT ON) + endif() + if(POPPLER_VERSION VERSION_GREATER "0.12.2" OR + POPPLER_VERSION VERSION_EQUAL "0.12.2") + set(POPPLER_NEW_COLOR_SPACE_API ON) + endif() + if(POPPLER_VERSION VERSION_GREATER "0.15.1" OR + POPPLER_VERSION VERSION_EQUAL "0.15.1") + set(POPPLER_NEW_GFXPATCH ON) + endif() +else() + set(ENABLE_POPPLER_CAIRO OFF) +endif() + +list(APPEND INKSCAPE_INCS_SYS ${POPPLER_INCLUDE_DIRS}) +list(APPEND INKSCAPE_LIBS ${POPPLER_LIBRARIES}) +add_definitions(${POPPLER_DEFINITIONS}) + +if(WITH_LIBWPG) + find_package(LibWPG) + if(LIBWPG_FOUND) + set(WITH_LIBWPG01 ${LIBWPG01_FOUND}) + set(WITH_LIBWPG02 ${LIBWPG02_FOUND}) + list(APPEND INKSCAPE_INCS_SYS ${LIBWPG_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${LIBWPG_LIBRARIES}) + add_definitions(${LIBWPG_DEFINITIONS}) + endif() + set(WITH_LIBWPG ${LIBWPG_FOUND}) +endif() find_package(PNG REQUIRED) list(APPEND INKSCAPE_INCS_SYS ${PNG_PNG_INCLUDE_DIR}) @@ -130,9 +171,22 @@ list(APPEND INKSCAPE_INCS_SYS ${Boost_INCLUDE_DIRS}) # list(APPEND INKSCAPE_LIBS ${Boost_LIBRARIES}) find_package(ASPELL) -list(APPEND INKSCAPE_INCS_SYS ${ASPELL_INCLUDE_DIR}) -list(APPEND INKSCAPE_LIBS ${ASPELL_LIBRARIES}) -add_definitions(${ASPELL_DEFINITIONS}) +if(ASPELL_FOUND) + list(APPEND INKSCAPE_INCS_SYS ${ASPELL_INCLUDE_DIR}) + list(APPEND INKSCAPE_LIBS ${ASPELL_LIBRARIES}) + add_definitions(${ASPELL_DEFINITIONS}) + set(HAVE_ASPELL TRUE) +endif() + +if(WITH_GTKSPELL) + find_package(GtkSpell) + if(GTKSPELL_FOUND) + list(APPEND INKSCAPE_INCS_SYS ${GTKSPELL_INCLUDE_DIR}) + list(APPEND INKSCAPE_LIBS ${GTKSPELL_LIBRARIES}) + add_definitions(${GTKSPELL_DEFINITIONS}) + endif() + set(WITH_GTKSPELL ${GTKSPELL_FOUND}) +endif() find_package(OpenSSL) list(APPEND INKSCAPE_INCS_SYS ${OPENSSL_INCLUDE_DIR}) diff --git a/CMakeScripts/HelperMacros.cmake b/CMakeScripts/HelperMacros.cmake index 7cd2333bc..f19baf5f2 100644 --- a/CMakeScripts/HelperMacros.cmake +++ b/CMakeScripts/HelperMacros.cmake @@ -63,3 +63,69 @@ macro (add_inkscape_library unset(_SRC) unset(_ABS_SRC) endmacro() + +macro(INKSCAPE_PKG_CONFIG_FIND PREFIX MODNAME VERSION PATH_NAME PATH_SUFFIXE LIB_NAME) + if(VERSION) + pkg_check_modules(_${PREFIX} ${MODNAME}${VERSION}) + else(VERSION) + pkg_check_modules(_${PREFIX} ${MODNAME}) + endif(VERSION) + + find_path(${PREFIX}_INCLUDE_DIR + NAMES + ${PATH_NAME} + PATHS + ${_${PREFIX}_INCLUDEDIR} + /usr/include + /usr/local/include + /opt/local/include + /sw/include + $ENV{DEVLIBS_PATH}//include// + PATH_SUFFIXES + ${PATH_SUFFIXE} + ) + + find_library(${PREFIX}_LIBRARY + NAMES + ${LIB_NAME} + PATHS + ${_${PREFIX}_LIBDIR} + /usr/lib + /usr/local/lib + /opt/local/lib + /sw/lib + ) + + if (${PREFIX}_LIBRARY) + set(${PREFIX}_FOUND TRUE) + set(${PREFIX}_VERSION ${_${PREFIX}_VERSION}) + endif (${PREFIX}_LIBRARY) + + set(${PREFIX}_INCLUDE_DIRS + ${${PREFIX}_INCLUDE_DIR} + ) + + if (${PREFIX}_FOUND) + set(${PREFIX}_LIBRARIES + ${${PREFIX}_LIBRARIES} + ${${PREFIX}_LIBRARY} + ) + endif (${PREFIX}_FOUND) + + if (${PREFIX}_INCLUDE_DIRS AND ${PREFIX}_LIBRARIES) + set(${PREFIX}_FOUND TRUE) + endif (${PREFIX}_INCLUDE_DIRS AND ${PREFIX}_LIBRARIES) + + if (${PREFIX}_FOUND) + if (NOT ${PREFIX}_FIND_QUIETLY) + message(STATUS "Found ${MODNAME}: ${${PREFIX}_LIBRARIES}") + endif (NOT ${PREFIX}_FIND_QUIETLY) + else (${PREFIX}_FOUND) + if (${PREFIX}_FIND_REQUIRED) + message(FATAL_ERROR "Could not find ${MODNAME}") + endif (${PREFIX}_FIND_REQUIRED) + endif (${PREFIX}_FOUND) + + # show the <PREFIX>_INCLUDE_DIRS and <PREFIX>_LIBRARIES variables only in the advanced view + mark_as_advanced(${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARIES) +endmacro() diff --git a/CMakeScripts/Modules/FindGtkSpell.cmake b/CMakeScripts/Modules/FindGtkSpell.cmake new file mode 100644 index 000000000..131ad8dc8 --- /dev/null +++ b/CMakeScripts/Modules/FindGtkSpell.cmake @@ -0,0 +1,28 @@ +# - Try to find GtkSpell +# Once done this will define +# +# GTKSPELL_FOUND - system has GtkSpell +# GTKSPELL_INCLUDE_DIRS - the GtkSpell include directory +# GTKSPELL_LIBRARIES - Link these to use GtkSpell +# GTKSPELL_DEFINITIONS - Compiler switches required for using GtkSpell +# +# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com> +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + +include(${CMAKE_CURRENT_LIST_DIR}/../HelperMacros.cmake) + +if (GTKSPELL_LIBRARIES AND GTKSPELL_INCLUDE_DIRS) + # in cache already + set(GTKSPELL_FOUND TRUE) +else (GTKSPELL_LIBRARIES AND GTKSPELL_INCLUDE_DIRS) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + INKSCAPE_PKG_CONFIG_FIND(GTKSPELL gtkspell-2.0 0 gtkspell/gtkspell.h gtkspell-2.0 gtkspell) + endif (PKG_CONFIG_FOUND) +endif (GTKSPELL_LIBRARIES AND GTKSPELL_INCLUDE_DIRS) diff --git a/CMakeScripts/Modules/FindLibWPG.cmake b/CMakeScripts/Modules/FindLibWPG.cmake index 0d83cddee..4f173da2d 100644 --- a/CMakeScripts/Modules/FindLibWPG.cmake +++ b/CMakeScripts/Modules/FindLibWPG.cmake @@ -13,78 +13,42 @@ # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # +include(${CMAKE_CURRENT_LIST_DIR}/../HelperMacros.cmake) if (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS) - # in cache already - set(LIBWPG_FOUND TRUE) + # in cache already + set(LIBWPG_FOUND TRUE) else (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS) - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - include(UsePkgConfig) - pkgconfig(libwpg-0.1 _LIBWPG_INCLUDEDIR _LIBWPG_LIBDIR _LIBWPG_LDFLAGS _LIBWPG_CFLAGS) - else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_package(PkgConfig) - if (PKG_CONFIG_FOUND) - pkg_check_modules(_LIBWPG libwpg-0.1) - endif (PKG_CONFIG_FOUND) - endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4) - find_path(LIBWPG_INCLUDE_DIR - NAMES - libwpg/libwpg.h - PATHS - ${_LIBWPG_INCLUDEDIR} - /usr/include - /usr/local/include - /opt/local/include - /sw/include - $ENV{DEVLIBS_PATH}//include// - PATH_SUFFIXES - libwpg-0.1 - ) - - find_library(LIBWPG-0.1_LIBRARY - NAMES - wpg-0.1 - PATHS - ${_LIBWPG_LIBDIR} - /usr/lib - /usr/local/lib - /opt/local/lib - /sw/lib - ) - - if (LIBWPG-0.1_LIBRARY) - set(LIBWPG-0.1_FOUND TRUE) - endif (LIBWPG-0.1_LIBRARY) - - set(LIBWPG_INCLUDE_DIRS - ${LIBWPG_INCLUDE_DIR} - ) - - if (LIBWPG-0.1_FOUND) - set(LIBWPG_LIBRARIES - ${LIBWPG_LIBRARIES} - ${LIBWPG-0.1_LIBRARY} - ) - endif (LIBWPG-0.1_FOUND) - - if (LIBWPG_INCLUDE_DIRS AND LIBWPG_LIBRARIES) - set(LIBWPG_FOUND TRUE) - endif (LIBWPG_INCLUDE_DIRS AND LIBWPG_LIBRARIES) - - if (LIBWPG_FOUND) - if (NOT LibWPG_FIND_QUIETLY) - message(STATUS "Found LibWPG: ${LIBWPG_LIBRARIES}") - endif (NOT LibWPG_FIND_QUIETLY) - else (LIBWPG_FOUND) - if (LibWPG_FIND_REQUIRED) - message(FATAL_ERROR "Could not find LibWPG") - endif (LibWPG_FIND_REQUIRED) - endif (LIBWPG_FOUND) - - # show the LIBWPG_INCLUDE_DIRS and LIBWPG_LIBRARIES variables only in the advanced view - mark_as_advanced(LIBWPG_INCLUDE_DIRS LIBWPG_LIBRARIES) - + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + INKSCAPE_PKG_CONFIG_FIND(LIBWPG-0.1 libwpg-0.1 0 libwpg/libwpg.h libwpg-0.1 wpg-0.1) + INKSCAPE_PKG_CONFIG_FIND(LIBWPG-STREAM-0.1 libwpg-stream-0.1 0 libwpg/libwpg.h libwpg-0.1 wpg-stream-0.1) + INKSCAPE_PKG_CONFIG_FIND(LIBWPD-0.8 libwpd-0.8 0 libwpd/libwpd.h libwpd-0.8 wpd-0.8) + if (LIBWPG-0.1_FOUND AND LIBWPG-STREAM-0.1_FOUND AND LIBWPD-0.8_FOUND) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG-0.1_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPG-0.1_LIBRARIES}) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG-STREAM-0.1_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPG-STREAM-0.1_LIBRARIES}) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPD-0.8_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPD-0.8_LIBRARIES}) + set(LIBWPG01_FOUND TRUE) + endif (LIBWPG-0.1_FOUND AND LIBWPG-STREAM-0.1_FOUND AND LIBWPD-0.8_FOUND) + INKSCAPE_PKG_CONFIG_FIND(LIBWPG-0.2 libwpg-0.2 0 libwpg/libwpg.h libwpg-0.2 wpg-0.2) + INKSCAPE_PKG_CONFIG_FIND(LIBWPD-0.9 libwpd-0.9 0 libwpd/libwpd.h libwpd-0.9 wpd-0.9) + INKSCAPE_PKG_CONFIG_FIND(LIBWPD-STREAM-0.9 libwpd-stream-0.9 0 libwpd/libwpd.h libwpd-0.9 wpd-stream-0.9) + if (LIBWPG02_FOUND) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG02_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPG02_LIBRARIES}) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPD-0.9_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPD-0.9_LIBRARIES}) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPD-STREAM-0.9_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPD-STREAM-0.9_LIBRARIES}) + set(LIBWPG02_FOUND TRUE) + endif (LIBWPG02_FOUND) + if (LIBWPG01_FOUND OR LIBWPG_02_FOUND) + set(LIBWPG_FOUND TRUE) + endif (LIBWPG01_FOUND OR LIBWPG_02_FOUND) + endif (PKG_CONFIG_FOUND) endif (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS) - diff --git a/CMakeScripts/Modules/FindPopplerCairo.cmake b/CMakeScripts/Modules/FindPopplerCairo.cmake new file mode 100644 index 000000000..2565e7bb2 --- /dev/null +++ b/CMakeScripts/Modules/FindPopplerCairo.cmake @@ -0,0 +1,47 @@ +# - Try to find PopplerCairo +# Once done this will define +# +# POPPLER_FOUND - system has PopplerCairo +# POPPLER_INCLUDE_DIRS - the PopplerCairo include directory +# POPPLER_LIBRARIES - Link these to use PopplerCairo +# POPPLER_DEFINITIONS - Compiler switches required for using PopplerCairo +# +# Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com> +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# + +include(${CMAKE_CURRENT_LIST_DIR}/../HelperMacros.cmake) + +if (POPPLER_LIBRARIES AND POPPLER_INCLUDE_DIRS) + # in cache already + set(POPPLER_FOUND TRUE) +else (POPPLER_LIBRARIES AND POPPLER_INCLUDE_DIRS) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig) + if (PKG_CONFIG_FOUND) + INKSCAPE_PKG_CONFIG_FIND(POPPLER poppler >=0.5.9 poppler-config.h poppler poppler) + if (POPPLER_FOUND) + INKSCAPE_PKG_CONFIG_FIND(POPPLER_GLIB poppler-glib >=0.5.9 poppler/glib/poppler.h "" poppler-glib) + if (POPPLER_GLIB_FOUND) + list(APPEND POPPLER_INCLUDE_DIRS ${POPPLER_GLIB_INCLUDE_DIRS}) + list(APPEND POPPLER_LIBRARIES ${POPPLER_GLIB_LIBRARIES}) + INKSCAPE_PKG_CONFIG_FIND(CAIRO_SVG cairo-svg 0 cairo-svg.h cairo cairo) + if (CAIRO_SVG_FOUND) + list(APPEND POPPLER_INCLUDE_DIRS ${CAIRO_SVG_INCLUDE_DIRS}) + list(APPEND POPPLER_LIBRARIES ${CAIRO_SVG_LIBRARIES}) + endif (CAIRO_SVG_FOUND) + endif (POPPLER_GLIB_FOUND) + if (ENABLE_POPPLER_CAIRO) + INKSCAPE_PKG_CONFIG_FIND(POPPLER_CAIRO poppler-cairo >=0.5.9 cairo.h cairo cairo) + if (POPPLER_GLIB_FOUND AND POPPLER_CAIRO_FOUND AND NOT CAIRO_SVG_FOUND) + list(APPEND POPPLER_INCLUDE_DIRS ${POPPLER_CAIRO_INCLUDE_DIRS}) + list(APPEND POPPLER_LIBRARIES ${POPPLER_CAIRO_LIBRARIES}) + endif (POPPLER_GLIB_FOUND AND POPPLER_CAIRO_FOUND AND NOT CAIRO_SVG_FOUND) + endif (ENABLE_POPPLER_CAIRO) + endif (POPPLER_FOUND) + endif (PKG_CONFIG_FOUND) +endif (POPPLER_LIBRARIES AND POPPLER_INCLUDE_DIRS) |
