diff options
Diffstat (limited to 'CMakeScripts')
| -rw-r--r-- | CMakeScripts/DefineDependsandFlags.cmake | 50 | ||||
| -rw-r--r-- | CMakeScripts/HelperFunctions.cmake | 19 | ||||
| -rw-r--r-- | CMakeScripts/Modules/FindLibWPG.cmake | 12 |
3 files changed, 68 insertions, 13 deletions
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 12f0b5240..321f0982c 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -3,8 +3,7 @@ set(INKSCAPE_LIBS "") set(INKSCAPE_INCS "") set(INKSCAPE_INCS_SYS "") -list(APPEND INKSCAPE_INCS - ${PROJECT_SOURCE_DIR} +list(APPEND INKSCAPE_INCS ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/src # generated includes @@ -25,6 +24,31 @@ if (WIN32) 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 + # TODO: verify whether linking the next two libs explicitly is always + # required, or only if MacPorts is installed in custom prefix: + list(APPEND INKSCAPE_LIBS "-liconv") # FIXME + list(APPEND INKSCAPE_LIBS "-lintl") # FIXME + endif() + list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0") # FIXME + list(APPEND INKSCAPE_LIBS "-lpangoft2-1.0") # FIXME + list(APPEND INKSCAPE_LIBS "-lfontconfig") # FIXME + # GTK+ backend + if(${GTK+_2.0_TARGET} MATCHES "x11") + # only link X11 if using X11 backend of GTK2 + list(APPEND INKSCAPE_LIBS "-lX11") # FIXME + elseif(${GTK+_2.0_TARGET} MATCHES "quartz") + # TODO: gtk-mac-integration (currently only useful for osxmenu branch) + # 1) add configure option (ON/OFF) for gtk-mac-integration + # 2) add checks (GTK+ backend must be "quartz") + # 3) link relevant lib(s) + endif() else() list(APPEND INKSCAPE_LIBS "-ldl") # FIXME list(APPEND INKSCAPE_LIBS "-lpangocairo-1.0") # FIXME @@ -33,6 +57,10 @@ else() list(APPEND INKSCAPE_LIBS "-lX11") # FIXME endif() +if(NOT APPLE) + # FIXME: should depend on availability of OpenMP support (see below) (?) + list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME +endif() list(APPEND INKSCAPE_LIBS "-lgslcblas") # FIXME if(WITH_GNOME_VFS) @@ -117,8 +145,8 @@ add_definitions(${POPPLER_DEFINITIONS}) if(WITH_LIBWPG) find_package(LibWPG) if(LIBWPG_FOUND) - set(WITH_LIBWPG01 ${LIBWPG01_FOUND}) - set(WITH_LIBWPG02 ${LIBWPG02_FOUND}) + set(WITH_LIBWPG-0.1 ${LIBWPG-0.1_FOUND}) + set(WITH_LIBWPG-0.2 ${LIBWPG-0.2_FOUND}) list(APPEND INKSCAPE_INCS_SYS ${LIBWPG_INCLUDE_DIRS}) list(APPEND INKSCAPE_LIBS ${LIBWPG_LIBRARIES}) add_definitions(${LIBWPG_DEFINITIONS}) @@ -127,6 +155,14 @@ if(WITH_LIBWPG) endif() endif() +FIND_PACKAGE(JPEG REQUIRED) +#IF(JPEG_FOUND) + #INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) + #TARGET_LINK_LIBRARIES(mpo ${JPEG_LIBRARIES}) +#ENDIF() +list(APPEND INKSCAPE_INCS_SYS ${JPEG_INCLUDE_DIR}) +list(APPEND INKSCAPE_LIBS ${JPEG_LIBRARIES}) + find_package(PNG REQUIRED) list(APPEND INKSCAPE_INCS_SYS ${PNG_PNG_INCLUDE_DIR}) list(APPEND INKSCAPE_LIBS ${PNG_LIBRARY}) @@ -227,9 +263,9 @@ if(WITH_GTKSPELL) 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(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}) diff --git a/CMakeScripts/HelperFunctions.cmake b/CMakeScripts/HelperFunctions.cmake new file mode 100644 index 000000000..0e6fff51a --- /dev/null +++ b/CMakeScripts/HelperFunctions.cmake @@ -0,0 +1,19 @@ +# pkg_check_variable() - a function to retrieve pkg-config variables in CMake +# +# source: http://bloerg.net/2015/03/06/pkg-config-variables-in-cmake.html + +find_package(PkgConfig REQUIRED) + +function(pkg_check_variable _pkg _name) + string(TOUPPER ${_pkg} _pkg_upper) + string(TOUPPER ${_name} _name_upper) + string(REPLACE "-" "_" _pkg_upper ${_pkg_upper}) + string(REPLACE "-" "_" _name_upper ${_name_upper}) + set(_output_name "${_pkg_upper}_${_name_upper}") + + execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_name} ${_pkg} + 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/Modules/FindLibWPG.cmake b/CMakeScripts/Modules/FindLibWPG.cmake index 4f173da2d..136267070 100644 --- a/CMakeScripts/Modules/FindLibWPG.cmake +++ b/CMakeScripts/Modules/FindLibWPG.cmake @@ -38,17 +38,17 @@ else (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS) 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}) + if (LIBWPG-0.2_FOUND AND LIBWPD-STREAM-0.9_FOUND AND LIBWPD-0.9_FOUND) + list(APPEND LIBWPG_INCLUDE_DIRS ${LIBWPG-0.2_INCLUDE_DIRS}) + list(APPEND LIBWPG_LIBRARIES ${LIBWPG-0.2_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) + endif (LIBWPG-0.2_FOUND AND LIBWPD-STREAM-0.9_FOUND AND LIBWPD-0.9_FOUND) + if (LIBWPG-0.1_FOUND OR LIBWPG-0.2_FOUND) set(LIBWPG_FOUND TRUE) - endif (LIBWPG01_FOUND OR LIBWPG_02_FOUND) + endif (LIBWPG-0.1_FOUND OR LIBWPG-0.2_FOUND) endif (PKG_CONFIG_FOUND) endif (LIBWPG_LIBRARIES AND LIBWPG_INCLUDE_DIRS) |
