From 5557c73f06d4c2b3640a93cb3dd2d0eba72ed2ca Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Wed, 29 Apr 2015 02:32:07 -0400 Subject: cmake: Don't depend on OpenSSL I'm not sure why this was in the cmake rules but it doesn't seem to be required for plain vanilla Inkscape builds. (bzr r14070.1.2) --- CMakeScripts/DefineDependsandFlags.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 12f0b5240..ffeab5808 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -227,9 +227,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}) -- cgit v1.2.3 From 7969df944138a5524d40be8e9030b90629f6ec18 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Wed, 29 Apr 2015 19:25:17 -0400 Subject: cmake: Add missing dependencies for libgomp and libjpg (bzr r14070.1.5) --- CMakeScripts/DefineDependsandFlags.cmake | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index ffeab5808..637e48d6a 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 @@ -33,6 +32,7 @@ else() list(APPEND INKSCAPE_LIBS "-lX11") # FIXME endif() +list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME list(APPEND INKSCAPE_LIBS "-lgslcblas") # FIXME if(WITH_GNOME_VFS) @@ -127,6 +127,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}) -- cgit v1.2.3 From 3c185d781ac7a7031397c6651baf046d900efc3a Mon Sep 17 00:00:00 2001 From: su_v Date: Fri, 1 May 2015 05:52:17 +0200 Subject: cmake: Fix osx-related issues with cmake-build Add new helper function to retrive pkg-config variables in Cmake; use paths defined as environment variables for builds on OS X (useful if MacPorts is not installed into default prefix); check backend of GTK2 on OS X in main cmake file (x11|quartz). (bzr r14080) --- CMakeScripts/DefineDependsandFlags.cmake | 30 +++++++++++++++++++++++++++++- CMakeScripts/HelperFunctions.cmake | 19 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 CMakeScripts/HelperFunctions.cmake (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index 637e48d6a..b0e5aa8b2 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -24,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 @@ -32,7 +57,10 @@ else() list(APPEND INKSCAPE_LIBS "-lX11") # FIXME endif() -list(APPEND INKSCAPE_LIBS "-lgomp") # FIXME +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) 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() -- cgit v1.2.3 From 046602640873c37516516c9903079d6c5528bd05 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Sat, 2 May 2015 02:05:29 -0400 Subject: cmake: Fix WPG 0.2 build variables WPG 0.1 appears to have been tested and made to work, but a parallel set of code checks WPG 0.2 and the variable names are all wrong (looks like they didn't get properly updated from the original automake scripts). The detection fails entirely on Ubuntu 14.04 and probably other recent distros. With this change, cmake now builds inkscape properly for me. (bzr r14087) --- CMakeScripts/DefineDependsandFlags.cmake | 4 ++-- CMakeScripts/Modules/FindLibWPG.cmake | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'CMakeScripts') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index b0e5aa8b2..321f0982c 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -145,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}) 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) -- cgit v1.2.3