From 15ce614b351f905666d3f48a729d6b035f3aaf0b Mon Sep 17 00:00:00 2001 From: Tobias Ellinghaus Date: Wed, 10 Jan 2018 17:39:24 +0100 Subject: Explicitly link against libX11 for ld.gold Some linkers, like gold, don't find symbols in libraries not explicitly linked against. So we have to add libX11. On systems not using X11 this shouldn't hurt. --- CMakeScripts/DefineDependsandFlags.cmake | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'CMakeScripts/DefineDependsandFlags.cmake') diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake index ca0afe004..ffaf833f0 100644 --- a/CMakeScripts/DefineDependsandFlags.cmake +++ b/CMakeScripts/DefineDependsandFlags.cmake @@ -39,7 +39,7 @@ if(WIN32) list(APPEND INKSCAPE_LIBS "-lgomp") list(APPEND INKSCAPE_LIBS "-lwinpthread") - + if(HAVE_MINGW64) list(APPEND INKSCAPE_CXX_FLAGS "-m64") else() @@ -116,7 +116,7 @@ if(ENABLE_POPPLER) set(HAVE_POPPLER ON) if(ENABLE_POPPLER_CAIRO) if(POPPLER_CAIRO_FOUND AND POPPLER_GLIB_FOUND) - set(HAVE_POPPLER_CAIRO ON) + set(HAVE_POPPLER_CAIRO ON) endif() if(POPPLER_GLIB_FOUND AND CAIRO_SVG_FOUND) set(HAVE_POPPLER_GLIB ON) @@ -220,7 +220,7 @@ if(WITH_DBUS) list(APPEND INKSCAPE_INCS_SYS ${DBUS_INCLUDE_DIRS} ${CMAKE_BINARY_DIR}/src/extension/dbus/) list(APPEND INKSCAPE_LIBS ${DBUS_LIBRARIES}) add_definitions(${DBUS_CFLAGS_OTHER}) - + else() set(WITH_DBUS OFF) endif() @@ -379,6 +379,14 @@ list(REMOVE_DUPLICATES INKSCAPE_CXX_FLAGS) foreach(flag ${INKSCAPE_CXX_FLAGS}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" CACHE STRING "" FORCE) endforeach() + +# Some linkers, like gold, don't find symbols recursively. So we have to link against X11 explicitly +find_package(X11) +if(X11_FOUND) + list(APPEND INKSCAPE_INCS_SYS ${X11_INCLUDE_DIRS}) + list(APPEND INKSCAPE_LIBS ${X11_LIBRARIES}) +endif(X11_FOUND) + # end Dependencies list(REMOVE_DUPLICATES INKSCAPE_LIBS) -- cgit v1.2.3