diff options
Diffstat (limited to 'CMakeScripts')
| -rw-r--r-- | CMakeScripts/ConfigCompileFlags.cmake | 6 | ||||
| -rw-r--r-- | CMakeScripts/ConfigPaths.cmake | 26 | ||||
| -rw-r--r-- | CMakeScripts/DefineDependsandFlags.cmake | 380 | ||||
| -rw-r--r-- | CMakeScripts/HelperFunctions.cmake | 4 | ||||
| -rw-r--r-- | CMakeScripts/HelperMacros.cmake | 170 | ||||
| -rw-r--r-- | CMakeScripts/IncludeJava.cmake | 21 | ||||
| -rw-r--r-- | CMakeScripts/UseGlibMarshal.cmake | 48 | ||||
| -rw-r--r-- | CMakeScripts/UsePkgConfig.cmake | 166 | ||||
| -rw-r--r-- | CMakeScripts/inkscape-version.cmake | 30 |
9 files changed, 417 insertions, 434 deletions
diff --git a/CMakeScripts/ConfigCompileFlags.cmake b/CMakeScripts/ConfigCompileFlags.cmake index 3164dda60..453ceef21 100644 --- a/CMakeScripts/ConfigCompileFlags.cmake +++ b/CMakeScripts/ConfigCompileFlags.cmake @@ -4,15 +4,15 @@ add_definitions(-O2) # Define the flags for profiling if desired: if(WITH_PROFILING) - set(COMPILE_PROFILING_FLAGS "-pg") - set(LINK_PROFILING_FLAGS "-pg") + 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) if(WIN32) - add_definitions(-DXP_WIN) + add_definitions(-DXP_WIN) endif(WIN32) # For Inkboard: diff --git a/CMakeScripts/ConfigPaths.cmake b/CMakeScripts/ConfigPaths.cmake index 1af591222..3b13a7734 100644 --- a/CMakeScripts/ConfigPaths.cmake +++ b/CMakeScripts/ConfigPaths.cmake @@ -1,16 +1,16 @@ -MESSAGE(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") +message(STATUS "Creating build files in: ${CMAKE_CURRENT_BINARY_DIR}") -IF(WIN32) - SET(PACKAGE_LOCALE_DIR "locale") +if(WIN32) + set(PACKAGE_LOCALE_DIR "locale") set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") -ELSE(WIN32) - # TODO: check and change this to correct value: - if(NOT PACKAGE_LOCALE_DIR) - SET(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this - endif(NOT PACKAGE_LOCALE_DIR) +else(WIN32) + # TODO: check and change this to correct value: + if(NOT PACKAGE_LOCALE_DIR) + set(PACKAGE_LOCALE_DIR "${CMAKE_INSTALL_PREFIX}/share/locale") # packagers might overwrite this + endif(NOT PACKAGE_LOCALE_DIR) - if(NOT SHARE_INSTALL) - set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") - endif(NOT SHARE_INSTALL) - mark_as_advanced(SHARE_INSTALL) -ENDIF(WIN32) + if(NOT SHARE_INSTALL) + set(SHARE_INSTALL "share" CACHE STRING "Data file install path. Must be a relative path (from CMAKE_INSTALL_PREFIX), with no trailing slash.") + endif(NOT SHARE_INSTALL) + mark_as_advanced(SHARE_INSTALL) +endif(WIN32) diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index e745b871f..f29b98a1f 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -4,10 +4,10 @@ set(INKSCAPE_INCS "") set(INKSCAPE_INCS_SYS "") list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} - ${PROJECT_SOURCE_DIR}/src + ${PROJECT_SOURCE_DIR}/src - # generated includes - ${CMAKE_BINARY_DIR}/include + # generated includes + ${CMAKE_BINARY_DIR}/include ) # ---------------------------------------------------------------------------- @@ -17,55 +17,55 @@ list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} find_package(GSL REQUIRED) list(APPEND INKSCAPE_INCS_SYS ${GSL_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${GSL_LIBRARIES}) -if (WIN32) - list(APPEND INKSCAPE_LIBS "-L$ENV{DEVLIBS_PATH}/lib") # FIXME - list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0.dll") # FIXME - list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0.dll") # FIXME - list(APPEND INKSCAPE_LIBS "-lpangowin32-1.0.dll") # FIXME - list(APPEND INKSCAPE_LIBS "-lgthread-2.0.dll") # FIXME +if(WIN32) + list(APPEND INKSCAPE_LIBS "-L$ENV{DEVLIBS_PATH}/lib") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0.dll") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0.dll") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangowin32-1.0.dll") # FIXME + list(APPEND INKSCAPE_LIBS "-lgthread-2.0.dll") # FIXME elseif(APPLE) - if(DEFINED ENV{CMAKE_PREFIX_PATH}) - # Adding the library search path explicitly seems not required - # if MacPorts is installed in default prefix ('/opt/local') - - # Cmake then can rely on the hard-coded paths in its modules. - # Only prepend search path if $CMAKE_PREFIX_PATH is defined: - list(APPEND INKSCAPE_LIBS "-L$ENV{CMAKE_PREFIX_PATH}/lib") # FIXME - endif() - list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0") # FIXME - list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0") # FIXME - list(APPEND INKSCAPE_LIBS "-lfontconfig") # FIXME - if(${GTK+_2.0_TARGET} MATCHES "x11") - # only link X11 if using X11 backend of GTK2 - list(APPEND INKSCAPE_LIBS "-lX11") # FIXME - endif() -else() - list(APPEND INKSCAPE_LIBS "-ldl") # FIXME - list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0") # FIXME - list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0") # FIXME - list(APPEND INKSCAPE_LIBS "-lfontconfig") # FIXME + if(DEFINED ENV{CMAKE_PREFIX_PATH}) + # Adding the library search path explicitly seems not required + # if MacPorts is installed in default prefix ('/opt/local') - + # Cmake then can rely on the hard-coded paths in its modules. + # Only prepend search path if $CMAKE_PREFIX_PATH is defined: + list(APPEND INKSCAPE_LIBS "-L$ENV{CMAKE_PREFIX_PATH}/lib") # FIXME + endif() + list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0") # FIXME + list(APPEND INKSCAPE_LIBS "-lfontconfig") # FIXME + if(${GTK+_2.0_TARGET} MATCHES "x11") + # only link X11 if using X11 backend of GTK2 list(APPEND INKSCAPE_LIBS "-lX11") # FIXME + endif() +else() + list(APPEND INKSCAPE_LIBS "-ldl") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0") # FIXME + list(APPEND INKSCAPE_LIBS "-lfontconfig") # FIXME + list(APPEND INKSCAPE_LIBS "-lX11") # FIXME endif() 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() + 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(LCMS2) - if(LCMS2_FOUND) - list(APPEND INKSCAPE_INCS_SYS ${LCMS2_INCLUDE_DIRS}) - list(APPEND INKSCAPE_LIBS ${LCMS2_LIBRARIES}) - add_definitions(${LCMS2_DEFINITIONS}) + find_package(LCMS2) + if(LCMS2_FOUND) + list(APPEND INKSCAPE_INCS_SYS ${LCMS2_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${LCMS2_LIBRARIES}) + add_definitions(${LCMS2_DEFINITIONS}) set (HAVE_LIBLCMS2 1) - else() + else() find_package(LCMS) if(LCMS_FOUND) list(APPEND INKSCAPE_INCS_SYS ${LCMS_INCLUDE_DIRS}) @@ -94,31 +94,31 @@ list(APPEND INKSCAPE_LIBS ${BOEHMGC_LIBRARIES}) add_definitions(${BOEHMGC_DEFINITIONS}) if(ENABLE_POPPLER) - 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.26.0" OR - POPPLER_VERSION VERSION_EQUAL "0.26.0") - set(POPPLER_EVEN_NEWER_COLOR_SPACE_API ON) - endif() - if(POPPLER_VERSION VERSION_GREATER "0.29.0" OR - POPPLER_VERSION VERSION_EQUAL "0.29.0") - set(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API ON) - endif() - else() - set(ENABLE_POPPLER_CAIRO OFF) + 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() -else() - set(HAVE_POPPLER OFF) + if(POPPLER_VERSION VERSION_GREATER "0.26.0" OR + POPPLER_VERSION VERSION_EQUAL "0.26.0") + set(POPPLER_EVEN_NEWER_COLOR_SPACE_API ON) + endif() + if(POPPLER_VERSION VERSION_GREATER "0.29.0" OR + POPPLER_VERSION VERSION_EQUAL "0.29.0") + set(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API ON) + endif() + else() set(ENABLE_POPPLER_CAIRO OFF) + endif() +else() + set(HAVE_POPPLER OFF) + set(ENABLE_POPPLER_CAIRO OFF) endif() list(APPEND INKSCAPE_INCS_SYS ${POPPLER_INCLUDE_DIRS}) @@ -126,50 +126,50 @@ list(APPEND INKSCAPE_LIBS ${POPPLER_LIBRARIES}) add_definitions(${POPPLER_DEFINITIONS}) if(WITH_LIBWPG) - find_package(LibWPG) - if(LIBWPG_FOUND) - set(WITH_LIBWPG01 ${LIBWPG-0.1_FOUND}) - set(WITH_LIBWPG02 ${LIBWPG-0.2_FOUND}) - set(WITH_LIBWPG03 ${LIBWPG-0.3_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() + find_package(LibWPG) + if(LIBWPG_FOUND) + set(WITH_LIBWPG01 ${LIBWPG-0.1_FOUND}) + set(WITH_LIBWPG02 ${LIBWPG-0.2_FOUND}) + set(WITH_LIBWPG03 ${LIBWPG-0.3_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() if(WITH_LIBVISIO) - find_package(LibVisio) - if(LIBVISIO_FOUND) - set(WITH_LIBVISIO00 ${LIBVISIO-0.0_FOUND}) - set(WITH_LIBVISIO01 ${LIBVISIO-0.1_FOUND}) - list(APPEND INKSCAPE_INCS_SYS ${LIBVISIO_INCLUDE_DIRS}) - list(APPEND INKSCAPE_LIBS ${LIBVISIO_LIBRARIES}) - add_definitions(${LIBVISIO_DEFINITIONS}) - else() - set(WITH_LIBVISIO OFF) - endif() + find_package(LibVisio) + if(LIBVISIO_FOUND) + set(WITH_LIBVISIO00 ${LIBVISIO-0.0_FOUND}) + set(WITH_LIBVISIO01 ${LIBVISIO-0.1_FOUND}) + list(APPEND INKSCAPE_INCS_SYS ${LIBVISIO_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${LIBVISIO_LIBRARIES}) + add_definitions(${LIBVISIO_DEFINITIONS}) + else() + set(WITH_LIBVISIO OFF) + endif() endif() if(WITH_LIBCDR) - find_package(LibCDR) - if(LIBCDR_FOUND) - set(WITH_LIBCDR00 ${LIBCDR-0.0_FOUND}) - set(WITH_LIBCDR01 ${LIBCDR-0.1_FOUND}) - list(APPEND INKSCAPE_INCS_SYS ${LIBCDR_INCLUDE_DIRS}) - list(APPEND INKSCAPE_LIBS ${LIBCDR_LIBRARIES}) - add_definitions(${LIBCDR_DEFINITIONS}) - else() - set(WITH_LIBCDR OFF) - endif() + find_package(LibCDR) + if(LIBCDR_FOUND) + set(WITH_LIBCDR00 ${LIBCDR-0.0_FOUND}) + set(WITH_LIBCDR01 ${LIBCDR-0.1_FOUND}) + list(APPEND INKSCAPE_INCS_SYS ${LIBCDR_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${LIBCDR_LIBRARIES}) + add_definitions(${LIBCDR_DEFINITIONS}) + else() + set(WITH_LIBCDR OFF) + endif() endif() FIND_PACKAGE(JPEG) IF(JPEG_FOUND) - list(APPEND INKSCAPE_INCS_SYS ${JPEG_INCLUDE_DIR}) - list(APPEND INKSCAPE_LIBS ${JPEG_LIBRARIES}) - set(HAVE_JPEG ON) + list(APPEND INKSCAPE_INCS_SYS ${JPEG_INCLUDE_DIR}) + list(APPEND INKSCAPE_LIBS ${JPEG_LIBRARIES}) + set(HAVE_JPEG ON) ENDIF() find_package(PNG REQUIRED) @@ -183,42 +183,42 @@ add_definitions(${POPT_DEFINITIONS}) find_package(Potrace) if(POTRACE_FOUND) - list(APPEND INKSCAPE_INCS_SYS ${POTRACE_INCLUDE_DIRS}) - list(APPEND INKSCAPE_LIBS ${POTRACE_LIBRARIES}) - set(HAVE_POTRACE ON) - add_definitions(-DHAVE_POTRACE) + list(APPEND INKSCAPE_INCS_SYS ${POTRACE_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${POTRACE_LIBRARIES}) + set(HAVE_POTRACE ON) + add_definitions(-DHAVE_POTRACE) else(POTRACE_FOUND) - set(HAVE_POTRACE OFF) - message(STATUS "Could not locate the Potrace library headers: the Trace Bitmap and Paintbucket tools will be disabled") + set(HAVE_POTRACE OFF) + message(STATUS "Could not locate the Potrace library headers: the Trace Bitmap and Paintbucket tools will be disabled") endif() 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() + 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() if(WITH_GTEST) - if(EXISTS "${GMOCK_DIR}" AND IS_DIRECTORY "${GMOCK_DIR}") + if(EXISTS "${GMOCK_DIR}" AND IS_DIRECTORY "${GMOCK_DIR}") - else() - set(WITH_GTEST off) - endif() + else() + set(WITH_GTEST off) + endif() endif() # ---------------------------------------------------------------------------- # CMake's builtin # ---------------------------------------------------------------------------- -SET (TRY_GTKSPELL 1) +set(TRY_GTKSPELL 1) # Include dependencies: # use patched version until GTK2_CAIROMMCONFIG_INCLUDE_DIR is added -IF ("${WITH_GTK3_EXPERIMENTAL}") +if("${WITH_GTK3_EXPERIMENTAL}") pkg_check_modules( GTK REQUIRED @@ -229,36 +229,36 @@ IF ("${WITH_GTK3_EXPERIMENTAL}") gdl-3.0>=3.3.5 ) message("Using EXPERIMENTAL Gtkmm 3 build") - SET (WITH_GTKMM_3_0 1) + set(WITH_GTKMM_3_0 1) message("Using external GDL") - SET(WITH_EXT_GDL 1) + set(WITH_EXT_GDL 1) - # Check whether we can use new features in Gtkmm 3.10 - # TODO: Drop this test and bump the version number in the GTK test above - # as soon as all supported distributions provide Gtkmm >= 3.10 - pkg_check_modules(GTKMM_3_10 - gtkmm-3.0>=3.10, - ) + # Check whether we can use new features in Gtkmm 3.10 + # TODO: Drop this test and bump the version number in the GTK test above + # as soon as all supported distributions provide Gtkmm >= 3.10 + pkg_check_modules(GTKMM_3_10 + gtkmm-3.0>=3.10, + ) - IF ("${GTKMM_3_10_FOUND}") + if("${GTKMM_3_10_FOUND}") message("Using Gtkmm 3.10 build") - SET (WITH_GTKMM_3_10 1) - ENDIF() + set (WITH_GTKMM_3_10 1) + endif() pkg_check_modules(GDL_3_6 gdl-3.0>=3.6) - IF ("${GDL_3_6_FOUND}") + if("${GDL_3_6_FOUND}") message("Using Gdl 3.6 or higher") - SET (WITH_GDL_3_6 1) - ENDIF() + set (WITH_GDL_3_6 1) + endif() - SET (TRY_GTKSPELL ) + set(TRY_GTKSPELL ) pkg_check_modules(GTKSPELL3 gtkspell3-3.0) - IF ("${GTKSPELL3_FOUND}") + if("${GTKSPELL3_FOUND}") message("Using GtkSpell3 3.0") - SET (WITH_GTKSPELL 1) - ENDIF() + set (WITH_GTKSPELL 1) + endif() list(APPEND INKSCAPE_INCS_SYS ${GTK_INCLUDE_DIRS} ${GTKSPELL3_INCLUDE_DIRS} @@ -268,7 +268,7 @@ IF ("${WITH_GTK3_EXPERIMENTAL}") ${GTK_LIBRARIES} ${GTKSPELL3_LIBRARIES} ) -ELSE() +else() find_package(GTK2 COMPONENTS gtk gtkmm REQUIRED) list(APPEND INKSCAPE_INCS_SYS ${GTK2_GDK_INCLUDE_DIR} @@ -295,7 +295,7 @@ ELSE() ${GTK2_GIOMMCONFIG_INCLUDE_DIR} ${GTK2_SIGC++_INCLUDE_DIR} ${GTK2_SIGC++CONFIG_INCLUDE_DIR} - ) + ) list(APPEND INKSCAPE_LIBS ${GTK2_GDK_LIBRARY} @@ -314,8 +314,8 @@ ELSE() ${GTK2_GIOMM_LIBRARY} ${GTK2_SIGC++_LIBRARY} ${GTK2_GOBJECT_LIBRARY} - ) -ENDIF() + ) +endif() find_package(Freetype REQUIRED) list(APPEND INKSCAPE_INCS_SYS ${FREETYPE_INCLUDE_DIRS}) @@ -327,21 +327,21 @@ list(APPEND INKSCAPE_INCS_SYS ${Boost_INCLUDE_DIRS}) 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) + list(APPEND INKSCAPE_INCS_SYS ${ASPELL_INCLUDE_DIR}) + list(APPEND INKSCAPE_LIBS ${ASPELL_LIBRARIES}) + add_definitions(${ASPELL_DEFINITIONS}) + set(HAVE_ASPELL TRUE) endif() if("${TRY_GTKSPELL}" AND "${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}) - else() - set(WITH_GTKSPELL OFF) - endif() + find_package(GtkSpell) + if(GTKSPELL_FOUND) + list(APPEND INKSCAPE_INCS_SYS ${GTKSPELL_INCLUDE_DIR}) + list(APPEND INKSCAPE_LIBS ${GTKSPELL_LIBRARIES}) + add_definitions(${GTKSPELL_DEFINITIONS}) + else() + set(WITH_GTKSPELL OFF) + endif() endif() #find_package(OpenSSL) @@ -359,23 +359,23 @@ list(APPEND INKSCAPE_LIBS ${LIBXML2_LIBRARIES}) add_definitions(${LIBXML2_DEFINITIONS}) if(WITH_OPENMP) - 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) - # '-fopenmp' is in OpenMP_C_FLAGS, OpenMP_CXX_FLAGS and implies '-lgomp' - # uncomment explicit linking below if still needed: - set(HAVE_OPENMP ON) - #list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME - else() - set(HAVE_OPENMP OFF) - set(WITH_OPENMP OFF) + 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) + # '-fopenmp' is in OpenMP_C_FLAGS, OpenMP_CXX_FLAGS and implies '-lgomp' + # uncomment explicit linking below if still needed: + set(HAVE_OPENMP ON) + #list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME + else() + set(HAVE_OPENMP OFF) + set(WITH_OPENMP OFF) + endif() endif() find_package(ZLIB REQUIRED) @@ -383,34 +383,34 @@ list(APPEND INKSCAPE_INCS_SYS ${ZLIB_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${ZLIB_LIBRARIES}) if(WITH_IMAGE_MAGICK) - find_package(ImageMagick COMPONENTS MagickCore Magick++) - if(ImageMagick_FOUND) - # the component-specific paths apparently fail to get detected correctly - # on some linux distros (or with older Cmake versions). - # Use variables which list all include dirs and libraries instead: - list(APPEND INKSCAPE_INCS_SYS ${ImageMagick_INCLUDE_DIRS}) - list(APPEND INKSCAPE_LIBS ${ImageMagick_LIBRARIES}) - # TODO: Cmake's ImageMagick module misses required defines for newer - # versions of ImageMagick. See also: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776832 - #add_definitions(-DMAGICKCORE_HDRI_ENABLE=0) # FIXME (version check?) - #add_definitions(-DMAGICKCORE_QUANTUM_DEPTH=16) # FIXME (version check?) - else() - set(WITH_IMAGE_MAGICK OFF) # enable 'Extensions > Raster' - endif() + find_package(ImageMagick COMPONENTS MagickCore Magick++) + if(ImageMagick_FOUND) + # the component-specific paths apparently fail to get detected correctly + # on some linux distros (or with older Cmake versions). + # Use variables which list all include dirs and libraries instead: + list(APPEND INKSCAPE_INCS_SYS ${ImageMagick_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${ImageMagick_LIBRARIES}) + # TODO: Cmake's ImageMagick module misses required defines for newer + # versions of ImageMagick. See also: + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776832 + #add_definitions(-DMAGICKCORE_HDRI_ENABLE=0) # FIXME (version check?) + #add_definitions(-DMAGICKCORE_QUANTUM_DEPTH=16) # FIXME (version check?) + else() + set(WITH_IMAGE_MAGICK OFF) # enable 'Extensions > Raster' + endif() endif() include(${CMAKE_CURRENT_LIST_DIR}/IncludeJava.cmake) set(ENABLE_NLS OFF) if(WITH_NLS) - find_package(Gettext) - if(GETTEXT_FOUND) - message(STATUS "Found gettext + msgfmt to convert language files. Translation enabled") - set(ENABLE_NLS ON) - else(GETTEXT_FOUND) - message(STATUS "Cannot find gettext + msgfmt to convert language file. Translation won't be enabled") - endif(GETTEXT_FOUND) + find_package(Gettext) + if(GETTEXT_FOUND) + message(STATUS "Found gettext + msgfmt to convert language files. Translation enabled") + set(ENABLE_NLS ON) + else(GETTEXT_FOUND) + message(STATUS "Cannot find gettext + msgfmt to convert language file. Translation won't be enabled") + endif(GETTEXT_FOUND) endif(WITH_NLS) diff --git a/CMakeScripts/HelperFunctions.cmake b/CMakeScripts/HelperFunctions.cmake index 85cbe7157..f4ed255d5 100644 --- a/CMakeScripts/HelperFunctions.cmake +++ b/CMakeScripts/HelperFunctions.cmake @@ -12,8 +12,8 @@ function(pkg_check_variable _pkg _name) set(_output_name "${_pkg_upper}_${_name_upper}") execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_name} ${_pkg} - OUTPUT_VARIABLE _pkg_result - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_VARIABLE _pkg_result + OUTPUT_STRIP_TRAILING_WHITESPACE) set("${_output_name}" "${_pkg_result}" CACHE STRING "pkg-config variable ${_name} of ${_pkg}") endfunction() diff --git a/CMakeScripts/HelperMacros.cmake b/CMakeScripts/HelperMacros.cmake index f19baf5f2..f2fbed64b 100644 --- a/CMakeScripts/HelperMacros.cmake +++ b/CMakeScripts/HelperMacros.cmake @@ -1,26 +1,26 @@ # A macro to replace slashes and spaces in a string with underscores macro(SANITIZE_PATH _string_var) - string(REGEX REPLACE "[\\/ ]+" "_" ${_string_var} ${${_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) + # 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() + 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) + unset(_SRC) + unset(_SRC_EXT) endmacro() @@ -29,11 +29,11 @@ macro(add_inkscape_lib name sources) - add_library(${name} ${sources}) + add_library(${name} ${sources}) - # works fine without having the includes - # listed is helpful for IDE's (QtCreator/MSVC) - inkscape_source_group("${sources}") + # works fine without having the includes + # listed is helpful for IDE's (QtCreator/MSVC) + inkscape_source_group("${sources}") endmacro() @@ -44,88 +44,88 @@ 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) + 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) + 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() 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} + 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 + 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) + if (${PREFIX}_LIBRARY) + set(${PREFIX}_FOUND TRUE) + set(${PREFIX}_VERSION ${_${PREFIX}_VERSION}) + endif (${PREFIX}_LIBRARY) - set(${PREFIX}_INCLUDE_DIRS - ${${PREFIX}_INCLUDE_DIR} + 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) + 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/IncludeJava.cmake b/CMakeScripts/IncludeJava.cmake index 1e20a4ca5..09f2bbea6 100644 --- a/CMakeScripts/IncludeJava.cmake +++ b/CMakeScripts/IncludeJava.cmake @@ -1,14 +1,13 @@ # - include the src/javainc dir in the include path and the correct config path too +include_directories(${CMAKE_SOURCE_DIR}/src/bind/javainc) -INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc ) - -IF (WIN32) - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/win32 ) -ENDIF (WIN32) -IF (UNIX) - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/linux ) -ENDIF (UNIX) -IF (SOLARIS) - INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/bind/javainc/solaris ) -ENDIF (SOLARIS) +if(WIN32) + include_directories(${CMAKE_SOURCE_DIR}/src/bind/javainc/win32) +endif(WIN32) +if(UNIX) + include_directories(${CMAKE_SOURCE_DIR}/src/bind/javainc/linux) +endif(UNIX) +if(SOLARIS) + include_directories(${CMAKE_SOURCE_DIR}/src/bind/javainc/solaris) +endif(SOLARIS) diff --git a/CMakeScripts/UseGlibMarshal.cmake b/CMakeScripts/UseGlibMarshal.cmake index c9481a4f6..8fabcaa38 100644 --- a/CMakeScripts/UseGlibMarshal.cmake +++ b/CMakeScripts/UseGlibMarshal.cmake @@ -9,32 +9,32 @@ # GLIB_MARSHAL_OUTPUT_CPP - Result of Generation # GLIB_MARSHAL_OUTPUT_LOCATION - Where we are putting the Output -FIND_PROGRAM(GLIB_MARSHAL_EXECUTABLE NAMES glib-genmarshal PATHS /usr/local/bin ) +find_program(GLIB_MARSHAL_EXECUTABLE NAMES glib-genmarshal PATHS /usr/local/bin ) -MACRO(GLIB_MARSHAL GLIB_MARSHAL_PREFIX GLIB_MARSHAL_FILE GLIB_MARSHAL_OUTPUT_LOCATION) - IF(GLIB_MARSHAL_EXECUTABLE) - SET(GLIB_MARSHAL_OUTPUT_EXTRA_LINE "#include \"${GLIB_MARSHAL_FILE}.h\" \n" ) +macro(GLIB_MARSHAL GLIB_MARSHAL_PREFIX GLIB_MARSHAL_FILE GLIB_MARSHAL_OUTPUT_LOCATION) + if(GLIB_MARSHAL_EXECUTABLE) + set(GLIB_MARSHAL_OUTPUT_EXTRA_LINE "#include \"${GLIB_MARSHAL_FILE}.h\" \n" ) - MESSAGE(STATUS "Generating header and sourcefiles from ${GLIB_MARSHAL_FILE}.list (Glib-Marshal)") - EXECUTE_PROCESS(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --header ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list - OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_HEADER ) - EXECUTE_PROCESS(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --body ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list - OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_CPP ) + message(STATUS "Generating header and sourcefiles from ${GLIB_MARSHAL_FILE}.list (Glib-Marshal)") + execute_process(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --header ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list + OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_HEADER ) + execute_process(COMMAND ${GLIB_MARSHAL_EXECUTABLE} --prefix=${GLIB_MARSHAL_PREFIX} --body ${CMAKE_CURRENT_SOURCE_DIR}/${GLIB_MARSHAL_FILE}.list + OUTPUT_VARIABLE GLIB_MARSHAL_OUTPUT_CPP ) # check whether the generated file is the same as the existing one - 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}") - FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_EXTRA_LINE}") - FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_CPP}") - ELSE() - MESSAGE(STATUS "${GLIB_MARSHAL_FILE}.h unchanged") - ENDIF() - ENDIF() -ENDMACRO() + 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}") + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_EXTRA_LINE}") + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${GLIB_MARSHAL_FILE}.cpp "${GLIB_MARSHAL_OUTPUT_CPP}") + else() + message(STATUS "${GLIB_MARSHAL_FILE}.h unchanged") + endif() + endif() +endmacro() diff --git a/CMakeScripts/UsePkgConfig.cmake b/CMakeScripts/UsePkgConfig.cmake index f80e01ba8..86c2425f7 100644 --- a/CMakeScripts/UsePkgConfig.cmake +++ b/CMakeScripts/UsePkgConfig.cmake @@ -23,97 +23,81 @@ # Calling PKGCONFIG_DEFINITION will fill the definition (e.g -D_REENTRANT) into the argument, # e.g. PKGCONFIG_DEFINITION(libart-2.0 LIBART_DEFINITION) -FIND_PROGRAM(PKGCONFIG_EXECUTABLE NAMES pkg-config PATHS /usr/local/bin ) - -MACRO(STRIP_NEWLINES _string_var) - STRING(REGEX REPLACE "[\n\r]+" "" ${_string_var} ${${_string_var}}) -ENDMACRO(STRIP_NEWLINES _string_var) - -MACRO(PKGCONFIG_FOUND _package _found) - # reset the variable at the beginning - SET(${_found}) - - # if pkg-config has been found - IF(PKGCONFIG_EXECUTABLE) - - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --print-errors --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) +find_program(PKGCONFIG_EXECUTABLE NAMES pkg-config PATHS /usr/local/bin ) + +macro(STRIP_NEWLINES _string_var) + string(REGEX REPLACE "[\n\r]+" "" ${_string_var} ${${_string_var}}) +endmacro(STRIP_NEWLINES _string_var) + +macro(PKGCONFIG_FOUND _package _found) + # reset the variable at the beginning + set(${_found}) + + # if pkg-config has been found + if(PKGCONFIG_EXECUTABLE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --print-errors --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) + if(${_pkgconfigDevNull}) + message(STATUS "${_pkgconfigDevNull}") + endif(${_pkgconfigDevNull}) - IF(${_pkgconfigDevNull}) - MESSAGE(STATUS "${_pkgconfigDevNull}") - ENDIF(${_pkgconfigDevNull}) - - IF(NOT _return_VALUE) - SET(${_found} "TRUE") - ENDIF(NOT _return_VALUE) - ENDIF(PKGCONFIG_EXECUTABLE) - -ENDMACRO(PKGCONFIG_FOUND _found) - -MACRO(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags) - # reset the variables at the beginning - SET(${_include_DIR}) - SET(${_link_DIR}) - SET(${_link_FLAGS}) - SET(${_cflags}) - - # if pkg-config has been found - IF(PKGCONFIG_EXECUTABLE) - - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) + if(NOT _return_VALUE) + set(${_found} "TRUE") + endif(NOT _return_VALUE) + endif(PKGCONFIG_EXECUTABLE) +endmacro(PKGCONFIG_FOUND _found) + +macro(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags) + # reset the variables at the beginning + set(${_include_DIR}) + set(${_link_DIR}) + set(${_link_FLAGS}) + set(${_cflags}) + + # if pkg-config has been found + if(PKGCONFIG_EXECUTABLE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) # and if the package of interest also exists for pkg-config, then get the information - IF(NOT _return_VALUE) - - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir OUTPUT_VARIABLE ${_include_DIR} ) - - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir OUTPUT_VARIABLE ${_link_DIR} ) - - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs OUTPUT_VARIABLE ${_link_FLAGS} ) - - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags OUTPUT_VARIABLE ${_cflags} ) - - STRIP_NEWLINES(${_cflags}) - - ENDIF(NOT _return_VALUE) - - ENDIF(PKGCONFIG_EXECUTABLE) - -ENDMACRO(PKGCONFIG _include_DIR _link_DIR _link_FLAGS _cflags) - -MACRO(PKGCONFIG_VERSION _package _version) - # reset the variables at the beginning - SET(${_version}) - - # if pkg-config has been found - IF(PKGCONFIG_EXECUTABLE) - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) - - # and if the package of interest also exists for pkg-config, then get the information - IF(NOT _return_VALUE) - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --modversion OUTPUT_VARIABLE ${_version} ) - ENDIF(NOT _return_VALUE) - - ENDIF(PKGCONFIG_EXECUTABLE) - -ENDMACRO(PKGCONFIG_VERSION _package _version) - -MARK_AS_ADVANCED(PKGCONFIG_EXECUTABLE) - -MACRO(PKGCONFIG_DEFINITION _package _definition) - # reset the variables at the beginning - SET(${_definition}) - - # if pkg-config has been found - IF(PKGCONFIG_EXECUTABLE) - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) - - # and if the package of interest also exists for pkg-config, then get the information - IF(NOT _return_VALUE) - EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --cflags-only-other OUTPUT_VARIABLE ${_definition} ) - ENDIF(NOT _return_VALUE) - - ENDIF(PKGCONFIG_EXECUTABLE) - -ENDMACRO(PKGCONFIG_DEFINITION _package _definition) - -MARK_AS_ADVANCED(PKGCONFIG_EXECUTABLE) + if(NOT _return_VALUE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir OUTPUT_VARIABLE ${_include_DIR} ) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir OUTPUT_VARIABLE ${_link_DIR} ) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs OUTPUT_VARIABLE ${_link_FLAGS} ) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags OUTPUT_VARIABLE ${_cflags} ) + strip_newlines(${_cflags}) + endif(NOT _return_VALUE) + endif(PKGCONFIG_EXECUTABLE) +endmacro(PKGCONFIG _include_DIR _link_DIR _link_FLAGS _cflags) + +macro(PKGCONFIG_VERSION _package _version) + # reset the variables at the beginning + set(${_version}) + + # if pkg-config has been found + if(PKGCONFIG_EXECUTABLE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) + + # and if the package of interest also exists for pkg-config, then get the information + if(NOT _return_VALUE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --modversion OUTPUT_VARIABLE ${_version} ) + endif(NOT _return_VALUE) + endif(PKGCONFIG_EXECUTABLE) +endmacro(PKGCONFIG_VERSION _package _version) + +mark_as_advanced(PKGCONFIG_EXECUTABLE) + +macro(PKGCONFIG_DEFINITION _package _definition) + # reset the variables at the beginning + set(${_definition}) + + # if pkg-config has been found + if(PKGCONFIG_EXECUTABLE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) + + # and if the package of interest also exists for pkg-config, then get the information + if(NOT _return_VALUE) + exec_program(${PKGCONFIG_EXECUTABLE} ARGS --print-errors ${_package} --cflags-only-other OUTPUT_VARIABLE ${_definition} ) + endif(NOT _return_VALUE) + endif(PKGCONFIG_EXECUTABLE) +endmacro(PKGCONFIG_DEFINITION _package _definition) + +mark_as_advanced(PKGCONFIG_EXECUTABLE) diff --git a/CMakeScripts/inkscape-version.cmake b/CMakeScripts/inkscape-version.cmake index a72946ac5..cf6cadbc4 100644 --- a/CMakeScripts/inkscape-version.cmake +++ b/CMakeScripts/inkscape-version.cmake @@ -10,25 +10,25 @@ set(INKSCAPE_REVISION "unknown") if(EXISTS ${INKSCAPE_SOURCE_DIR}/.bzr/) - execute_process(COMMAND - bzr revno --tree ${INKSCAPE_SOURCE_DIR} - OUTPUT_VARIABLE INKSCAPE_REVISION - OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND + bzr revno --tree ${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") + ${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) + ${INKSCAPE_BINARY_DIR}/src/inkscape-version.cpp.txt + ${INKSCAPE_BINARY_DIR}/src/inkscape-version.cpp) |
