summaryrefslogtreecommitdiffstats
path: root/CMakeScripts/DefineDependsandFlags.cmake
diff options
context:
space:
mode:
authorAndrew Higginson <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
committerAndrew <at.higginson@gmail.com>2011-12-27 21:04:47 +0000
commit80960b623a99aae1402ab651b2974ef544ed3b03 (patch)
treeba49d42c2789e9e11f805e2d5263e10f9fedeef8 /CMakeScripts/DefineDependsandFlags.cmake
parenttry to fix bug (diff)
parentGDL: Cherry-pick upstream patch 73852 (2011-03-23) - Add missing return value. (diff)
downloadinkscape-80960b623a99aae1402ab651b2974ef544ed3b03.tar.gz
inkscape-80960b623a99aae1402ab651b2974ef544ed3b03.zip
merged with trunk so I can build again...
(bzr r10092.1.36)
Diffstat (limited to 'CMakeScripts/DefineDependsandFlags.cmake')
-rw-r--r--CMakeScripts/DefineDependsandFlags.cmake280
1 files changed, 229 insertions, 51 deletions
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index 89f33114d..fff82a174 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -1,60 +1,238 @@
-# Include dependencies:
-find_package(GTK2 COMPONENTS gtk gtkmm REQUIRED)
-#find_package(GtkMM REQUIRED)
-find_package(SigC++ REQUIRED)
-find_package(XML2 REQUIRED)
-find_package(XSLT REQUIRED)
+set(INKSCAPE_LIBS "")
+set(INKSCAPE_INCS "")
+set(INKSCAPE_INCS_SYS "")
+
+list(APPEND INKSCAPE_INCS
+ ${PROJECT_SOURCE_DIR}
+ ${PROJECT_SOURCE_DIR}/src
+
+ # generated includes
+ ${CMAKE_BINARY_DIR}/include
+)
+
+# ----------------------------------------------------------------------------
+# Files we include
+# ----------------------------------------------------------------------------
+
find_package(GSL REQUIRED)
-find_package(ImageMagick++ REQUIRED)
-find_package(Freetype2 REQUIRED)
-find_package(GnomeVFS2)
-find_package(Boost REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${GSL_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${GSL_LIBRARIES})
+list(APPEND INKSCAPE_LIBS "-lgslcblas") # FIXME
+
+if(WITH_GNOME_VFS)
+ find_package(GnomeVFS2)
+ if(GNOMEVFS2_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${GNOMEVFS2_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${GNOMEVFS-2_LIBRARY})
+ else()
+ set(WITH_GNOME_VFS OFF)
+ endif()
+endif()
+
+if(ENABLE_LCMS)
+ find_package(GnomeVFS2)
+ if(LCMS_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${LCMS_INCLUDE_DIRS})
+ list(APPEND INKSCAPE_LIBS ${LCMS_LIBRARIES})
+ add_definitions(${LCMS_DEFINITIONS})
+ else()
+ set(ENABLE_LCMS OFF)
+ endif()
+endif()
+
find_package(BoehmGC REQUIRED)
-find_package(LibWPG)
-find_package(PNG REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${BOEHMGC_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${BOEHMGC_LIBRARIES})
+add_definitions(${BOEHMGC_DEFINITIONS})
+
+find_package(PopplerCairo)
+if(POPPLER_FOUND)
+ set(HAVE_POPPLER ON)
+ if(ENABLE_POPPLER_CAIRO)
+ if(POPPLER_CAIRO_FOUND AND POPPLER_GLIB_FOUND)
+ set(HAVE_POPPLER_CAIRO ON)
+ endif()
+ if(POPPLER_GLIB_FOUND AND CAIRO_SVG_FOUND)
+ set(HAVE_POPPLER_GLIB ON)
+ endif()
+ endif()
+ if(POPPLER_VERSION VERSION_GREATER "0.8.3" OR
+ POPPLER_VERSION VERSION_EQUAL "0.8.3")
+ set(POPPLER_NEW_GFXFONT ON)
+ endif()
+ if(POPPLER_VERSION VERSION_GREATER "0.12.2" OR
+ POPPLER_VERSION VERSION_EQUAL "0.12.2")
+ set(POPPLER_NEW_COLOR_SPACE_API ON)
+ endif()
+ if(POPPLER_VERSION VERSION_GREATER "0.15.1" OR
+ POPPLER_VERSION VERSION_EQUAL "0.15.1")
+ set(POPPLER_NEW_GFXPATCH ON)
+ endif()
+else()
+ set(ENABLE_POPPLER_CAIRO OFF)
+endif()
+
+list(APPEND INKSCAPE_INCS_SYS ${POPPLER_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${POPPLER_LIBRARIES})
+add_definitions(${POPPLER_DEFINITIONS})
+
+if(WITH_LIBWPG)
+ find_package(LibWPG)
+ if(LIBWPG_FOUND)
+ set(WITH_LIBWPG01 ${LIBWPG01_FOUND})
+ set(WITH_LIBWPG02 ${LIBWPG02_FOUND})
+ list(APPEND INKSCAPE_INCS_SYS ${LIBWPG_INCLUDE_DIRS})
+ list(APPEND INKSCAPE_LIBS ${LIBWPG_LIBRARIES})
+ add_definitions(${LIBWPG_DEFINITIONS})
+ else()
+ set(WITH_LIBWPG OFF)
+ endif()
+endif()
+
+find_package(PNG REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${PNG_PNG_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${PNG_LIBRARY})
+
find_package(Popt REQUIRED)
-find_package(OpenSSL)
-INCLUDE(IncludeJava)
-# end Dependencies
+list(APPEND INKSCAPE_INCS_SYS ${POPT_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${POPT_LIBRARIES})
+add_definitions(${POPT_DEFINITIONS})
+
+if(WITH_DBUS)
+ find_package(DBus REQUIRED)
+ if(DBUS_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${DBUS_INCLUDE_DIR})
+ list(APPEND INKSCAPE_INCS_SYS ${DBUS_ARCH_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${DBUS_LIBRARIES})
+ else()
+ set(WITH_DBUS OFF)
+ endif()
+endif()
-#Linking
-LIST(APPEND INKSCAPE_LIBS
-# ${GTK2_LIBRARIES}
-# ${SIGC++_LIBRARIES}
-# ${GSL_LIBRARIES}
-# ${XML2_LIBRARIES}
-# ${XSLT_LIBRARIES}
-# ${IMAGEMAGICK++_LIBRARIES}
-# ${FREETYPE2_LIBRARIES}
-# ${GNOMEVFS2_LIBRARIES}
-# ${BOOST_LIBRARIES}
-# ${BOEHMGC_LIBRARIES}
-# ${PNG_LIBRARIES}
-# ${POPT_LIBRARIES}
-# ${OPENSSL_LIBRARIES}
+# ----------------------------------------------------------------------------
+# CMake's builtin
+# ----------------------------------------------------------------------------
+
+# Include dependencies:
+# use patched version until GTK2_CAIROMMCONFIG_INCLUDE_DIR is added
+find_package(GTK2 COMPONENTS gtk gtkmm REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS
+ ${GTK2_GDK_INCLUDE_DIR}
+ ${GTK2_GDKMM_INCLUDE_DIR}
+ ${GTK2_GDK_PIXBUF_INCLUDE_DIR}
+ ${GTK2_GDKCONFIG_INCLUDE_DIR}
+ ${GTK2_GDKMMCONFIG_INCLUDE_DIR}
+ ${GTK2_GLIB_INCLUDE_DIR}
+ ${GTK2_GLIBCONFIG_INCLUDE_DIR}
+ ${GTK2_GLIBMM_INCLUDE_DIR}
+ ${GTK2_GLIBMMCONFIG_INCLUDE_DIR}
+ ${GTK2_GTK_INCLUDE_DIR}
+ ${GTK2_GTKMM_INCLUDE_DIR}
+ ${GTK2_GTKMMCONFIG_INCLUDE_DIR}
+ ${GTK2_ATK_INCLUDE_DIR}
+ ${GTK2_ATKMM_INCLUDE_DIR}
+ ${GTK2_PANGO_INCLUDE_DIR}
+ ${GTK2_PANGOMM_INCLUDE_DIR}
+ ${GTK2_PANGOMMCONFIG_INCLUDE_DIR}
+ ${GTK2_CAIRO_INCLUDE_DIR}
+ ${GTK2_CAIROMM_INCLUDE_DIR}
+ ${GTK2_CAIROMMCONFIG_INCLUDE_DIR} # <-- not in cmake 2.8.4
+ ${GTK2_GIOMM_INCLUDE_DIR}
+ ${GTK2_SIGC++_INCLUDE_DIR}
+ ${GTK2_SIGC++CONFIG_INCLUDE_DIR}
)
-#Includes
-SET(INK_INCLUDES
-${CMAKE_BINARY_DIR}
-${PROJECT_SOURCE_DIR}
-${PROJECT_SOURCE_DIR}/src
-${GTK2_INCLUDE_DIRS}
-${SIGC++_INCLUDE_DIRS}
-${GSL_INCLUDE_DIRS}
-${XML2_INCLUDE_DIRS}
-${XSLT_INCLUDE_DIRS}
-${IMAGEMAGICK++_INCLUDE_DIRS}
-${FREETYPE2_INCLUDE_DIRS}
-${GNOMEVFS2_INCLUDE_DIRS}
-${BOOST_INCLUDE_DIRS}
-${BOEHMGC_INCLUDE_DIRS}
-${PNG_INCLUDE_DIRS}
-${POPT_INCLUDE_DIRS}
-${OPENSSL_INCLUDE_DIRS}
+list(APPEND INKSCAPE_LIBS
+ ${GTK2_GDK_LIBRARY}
+ ${GTK2_GDKMM_LIBRARY}
+ ${GTK2_GDK_PIXBUF_LIBRARY}
+ ${GTK2_GLIB_LIBRARY}
+ ${GTK2_GLIBMM_LIBRARY}
+ ${GTK2_GTK_LIBRARY}
+ ${GTK2_GTKMM_LIBRARY}
+ ${GTK2_ATK_LIBRARY}
+ ${GTK2_ATKMM_LIBRARY}
+ ${GTK2_PANGO_LIBRARY}
+ ${GTK2_PANGOMM_LIBRARY}
+ ${GTK2_CAIRO_LIBRARY}
+ ${GTK2_CAIROMM_LIBRARY}
+ ${GTK2_GIOMM_LIBRARY}
+ ${GTK2_SIGC++_LIBRARY}
+
)
-#C/C++ Flags
-INCLUDE_DIRECTORIES(${INK_INCLUDES})
-INCLUDE(ConfigChecks)
+
+find_package(Freetype REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${FREETYPE_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${FREETYPE_LIBRARIES})
+
+find_package(Boost REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${Boost_INCLUDE_DIRS})
+# list(APPEND INKSCAPE_LIBS ${Boost_LIBRARIES})
+
+find_package(ASPELL)
+if(ASPELL_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${ASPELL_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${ASPELL_LIBRARIES})
+ add_definitions(${ASPELL_DEFINITIONS})
+ set(HAVE_ASPELL TRUE)
+endif()
+
+if(WITH_GTKSPELL)
+ find_package(GtkSpell)
+ if(GTKSPELL_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${GTKSPELL_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${GTKSPELL_LIBRARIES})
+ add_definitions(${GTKSPELL_DEFINITIONS})
+ endif()
+ set(WITH_GTKSPELL ${GTKSPELL_FOUND})
+endif()
+
+find_package(OpenSSL)
+list(APPEND INKSCAPE_INCS_SYS ${OPENSSL_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${OPENSSL_LIBRARIES})
+
+find_package(LibXslt REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${LIBXSLT_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${LIBXSLT_LIBRARIES})
+add_definitions(${LIBXSLT_DEFINITIONS})
+
+find_package(LibXml2 REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${LIBXML2_INCLUDE_DIR})
+list(APPEND INKSCAPE_LIBS ${LIBXML2_LIBRARIES})
+add_definitions(${LIBXML2_DEFINITIONS})
+
+find_package(OpenMP)
+if(OpenMP_FOUND)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ if(APPLE AND ${CMAKE_GENERATOR} MATCHES "Xcode")
+ set(CMAKE_XCODE_ATTRIBUTE_ENABLE_OPENMP_SUPPORT "YES")
+ endif()
+ mark_as_advanced(OpenMP_C_FLAGS)
+ mark_as_advanced(OpenMP_CXX_FLAGS)
+endif()
+
+find_package(ZLIB REQUIRED)
+list(APPEND INKSCAPE_INCS_SYS ${ZLIB_INCLUDE_DIRS})
+list(APPEND INKSCAPE_LIBS ${ZLIB_LIBRARIES})
+
+find_package(ImageMagick COMPONENTS MagickCore Magick++)
+if(ImageMagick_FOUND)
+ list(APPEND INKSCAPE_INCS_SYS ${ImageMagick_MagickCore_INCLUDE_DIR})
+ list(APPEND INKSCAPE_LIBS ${ImageMagick_Magick++_LIBRARY})
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/IncludeJava.cmake)
+# end Dependencies
+
+
+# C/C++ Flags
+include_directories(${INKSCAPE_INCS})
+include_directories(SYSTEM ${INKSCAPE_INCS_SYS})
+
+unset(INKSCAPE_INCS)
+unset(INKSCAPE_INCS_SYS)
+
+include(${CMAKE_CURRENT_LIST_DIR}/ConfigChecks.cmake)