summaryrefslogtreecommitdiffstats
path: root/CMakeScripts
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-09-26 11:01:53 +0000
committerCampbell Barton <ideasman42@gmail.com>2011-09-26 11:01:53 +0000
commitaf72bff308bdb392312d4305a88a38fab8255e59 (patch)
treeae453ea2af9c6170ed17895342526ec5959b1032 /CMakeScripts
parent* [INTL:sk] Slovak translation update (diff)
downloadinkscape-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.cmake62
-rw-r--r--CMakeScripts/HelperMacros.cmake66
-rw-r--r--CMakeScripts/Modules/FindGtkSpell.cmake28
-rw-r--r--CMakeScripts/Modules/FindLibWPG.cmake106
-rw-r--r--CMakeScripts/Modules/FindPopplerCairo.cmake47
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)