summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-01-13 10:15:18 -0800
committerGerald Combs <gerald@wireshark.org>2015-01-14 17:32:15 +0000
commit86fde7857f30d4fe1300047b5a12a8d656b46e7f (patch)
tree319165939d633a96be9a0c4e8fb77bcab14b1c4e /cmake
parent20e2c05d9b380158bfa27dcb94dd23ba7cad3ec6 (diff)
downloadwireshark-86fde7857f30d4fe1300047b5a12a8d656b46e7f.tar.gz
CMake: Copy wireshark-gtk dependent DLLs to the target directory.
Add a "copy_gtk_dlls" target similar to "copy_cli_dlls". Change-Id: Id1df1d0ec00c46fccec90c4b8c0c8a2d2a14766a Reviewed-on: https://code.wireshark.org/review/6527 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/FindGTK2.cmake58
-rw-r--r--cmake/modules/FindGTK3.cmake42
2 files changed, 98 insertions, 2 deletions
diff --git a/cmake/modules/FindGTK2.cmake b/cmake/modules/FindGTK2.cmake
index 0491b8050b..f879b88d1c 100644
--- a/cmake/modules/FindGTK2.cmake
+++ b/cmake/modules/FindGTK2.cmake
@@ -35,6 +35,13 @@
# GTK2_INCLUDE_DIRS - All include directories
# GTK2_LIBRARIES - All libraries
# GTK2_DEFINITIONS - Additional compiler flags
+# GTK2_DLL_DIR - (Windows) Path to required GTK2 DLLS
+# GTK2_DLLS - (Windows) List of required GTK2 DLLS
+# GTK2_ETC_DIR - (Windows) Path to GTK2 configuration files
+# GTK2_LIB_DIR - (Windows) Path to additional GTK2 library files
+# GTK2_ENGINES_DLL_DIR - (Windows) Path to required GTK2 theme engine DLLS
+# GTK2_ENGINES_DLLS - (Windows) List of required GTK2 theme engine DLLS
+# GTK2_THEMES_DIR - (Windows) Path to GTK2 theme files
#
#
#
@@ -894,6 +901,49 @@ endforeach()
if(_GTK2_did_we_find_everything AND NOT GTK2_VERSION_CHECK_FAILED)
set(GTK2_FOUND true)
+ if(WIN32)
+ set(GTK2_DLL_DIR "${GTK2_HINTS}/bin"
+ CACHE PATH "Path to GTK+ 2 DLLS")
+ file( GLOB _gtk2_dlls RELATIVE "${GTK2_DLL_DIR}"
+ "${GTK2_DLL_DIR}/libgtk-win32-*.dll"
+ "${GTK2_DLL_DIR}/libgdk-win32-*.dll"
+ "${GTK2_DLL_DIR}/libgdk_pixbuf-*.dll"
+ "${GTK2_DLL_DIR}/libatk-*.dll"
+ "${GTK2_DLL_DIR}/libpango-*.dll"
+ "${GTK2_DLL_DIR}/libpangowin32-*.dll"
+ "${GTK2_DLL_DIR}/libcairo-*.dll"
+ "${GTK2_DLL_DIR}/libpangocairo-*.dll"
+ "${GTK2_DLL_DIR}/libexpat-*.dll"
+ "${GTK2_DLL_DIR}/libffi-*.dll"
+ "${GTK2_DLL_DIR}/libfontconfig-*.dll"
+ "${GTK2_DLL_DIR}/libpangoft2-*.dll"
+ "${GTK2_DLL_DIR}/libfreetype-*.dll"
+ "${GTK2_DLL_DIR}/libharfbuzz-*.dll"
+ "${GTK2_DLL_DIR}/libjasper-*.dll"
+ "${GTK2_DLL_DIR}/libjpeg-*.dll"
+ "${GTK2_DLL_DIR}/liblzma-*.dll"
+ "${GTK2_DLL_DIR}/libpixman-*.dll"
+ "${GTK2_DLL_DIR}/libpng??-*.dll"
+ "${GTK2_DLL_DIR}/libtiff-*.dll"
+ "${GTK2_DLL_DIR}/libxml2-*.dll"
+ )
+ set(GTK2_DLLS "${_gtk2_dlls}"
+ CACHE PATH "List of GTK+ 2 DLLS")
+ set(GTK2_ETC_DIR "${GTK2_HINTS}/etc"
+ CACHE PATH "Path to GTK+ 2 configuration files")
+ set(GTK2_LIB_DIR "${GTK2_HINTS}/lib/gtk-2.0"
+ CACHE PATH "Path to additional GTK+ 2 library files")
+ set(GTK2_ENGINES_DLL_DIR "${GTK2_LIB_DIR}/2.10.0/engines"
+ CACHE PATH "Path to GTK+ 2 theme engine DLLS")
+ file( GLOB _gtk2_engines_dlls RELATIVE "${GTK2_ENGINES_DLL_DIR}"
+ "${GTK2_ENGINES_DLL_DIR}/lib*.dll"
+ )
+ set(GTK2_ENGINES_DLLS "${_gtk2_engines_dlls}"
+ CACHE PATH "List of GTK+ 2 theme engine DLLS")
+ set(GTK2_THEMES_DIR "${GTK2_HINTS}/share/themes/MS-Windows/gtk-2.0"
+ CACHE PATH "Path to GTK+ 2 theme files")
+ mark_as_advanced(GTK2_DLL_DIR GTK2_DLLS GTK2_ETC_DIR GTK2_LIB_DIR GTK2_ENGINES_DLL_DIR GTK2_ENGINES_DLLS)
+ endif()
else()
# Unset our variables.
set(GTK2_FOUND false)
@@ -904,9 +954,15 @@ else()
set(GTK2_INCLUDE_DIRS)
set(GTK2_LIBRARIES)
set(GTK2_DEFINITIONS)
+ set(GTK2_DLL_DIR)
+ set(GTK2_DLLS)
+ set(GTK2_ETC_DIR)
+ set(GTK2_LIB_DIR)
+ set(GTK2_ENGINES_DLL_DIR)
+ set(GTK2_ENGINES_DLLS)
+ set(GTK2_THEMES_DIR)
endif()
if(GTK2_INCLUDE_DIRS)
list(REMOVE_DUPLICATES GTK2_INCLUDE_DIRS)
endif()
-
diff --git a/cmake/modules/FindGTK3.cmake b/cmake/modules/FindGTK3.cmake
index b66aa3e722..2a79f6a822 100644
--- a/cmake/modules/FindGTK3.cmake
+++ b/cmake/modules/FindGTK3.cmake
@@ -6,6 +6,10 @@
# GTK3_INCLUDE_DIRS - The GTK3 include directory
# GTK3_LIBRARIES - The libraries needed to use GTK3
# GTK3_DEFINITIONS - Compiler switches required for using GTK3
+# GTK3_DLL_DIR - (Windows) Path to required GTK2 DLLS
+# GTK3_DLLS - (Windows) List of required GTK3 DLLS
+# GTK3_ETC_DIR - (Windows) Path to GTK3 configuration files
+# GTK3_LIB_DIR - (Windows) Path to additional GTK3 library files
#=============================================================================
# Copyright 2011 Duncan Mac-Vicar P. <duncan@kde.org>
#
@@ -103,10 +107,46 @@ find_package_handle_standard_args(GTK3 DEFAULT_MSG GTK3_LIBRARY GTK3_INCLUDE_DIR
if( GTK3_FOUND )
set( GTK3_LIBRARIES ${GTK3_LIBRARY} )
set( GTK3_INCLUDE_DIRS ${GTK3_INCLUDE_DIR} )
+ if(WIN32)
+ set(GTK3_DLL_DIR "${GTK3_HINTS}/bin"
+ CACHE PATH "Path to GTK+ 3 DLLS")
+ file( GLOB _gtk3_dlls RELATIVE "${GTK3_DLL_DIR}"
+ "${GTK3_DLL_DIR}/libgtk-*.dll"
+ "${GTK3_DLL_DIR}/libgdk-*.dll"
+ "${GTK3_DLL_DIR}/libgdk_pixbuf-*.dll"
+ "${GTK3_DLL_DIR}/libatk-*.dll"
+ "${GTK3_DLL_DIR}/libpango-*.dll"
+ "${GTK3_DLL_DIR}/libpangowin32-*.dll"
+ "${GTK3_DLL_DIR}/libcairo-*.dll"
+ "${GTK3_DLL_DIR}/libpangocairo-*.dll"
+ "${GTK3_DLL_DIR}/libexpat-*.dll"
+ "${GTK3_DLL_DIR}/libffi-*.dll"
+ "${GTK3_DLL_DIR}/libfontconfig-*.dll"
+ "${GTK3_DLL_DIR}/libpangoft2-*.dll"
+ "${GTK3_DLL_DIR}/libfreetype-*.dll"
+ "${GTK3_DLL_DIR}/libharfbuzz-*.dll"
+ "${GTK3_DLL_DIR}/libjasper-*.dll"
+ "${GTK3_DLL_DIR}/libjpeg-*.dll"
+ "${GTK3_DLL_DIR}/liblzma-*.dll"
+ "${GTK3_DLL_DIR}/libpixman-*.dll"
+ "${GTK3_DLL_DIR}/libpng??-*.dll"
+ "${GTK3_DLL_DIR}/libtiff-*.dll"
+ "${GTK3_DLL_DIR}/libxml2-*.dll"
+ )
+ set(GTK3_DLLS "${_gtk3_dlls}"
+ CACHE PATH "List of GTK+ 3 DLLS")
+ set(GTK3_ETC_DIR "${GTK3_HINTS}/etc"
+ CACHE PATH "Path to GTK+ 3 configuration files")
+ set(GTK3_LIB_DIR "${GTK3_HINTS}/lib/gtk-3.0"
+ CACHE PATH "Path to additional GTK+ 3 library files")
+ endif()
else()
set( GTK3_LIBRARIES )
set( GTK3_INCLUDE_DIRS )
+ set( GTK3_DLL_DIR )
+ set( GTK3_DLLS )
+ set( GTK3_ETC_DIR )
+ set( GTK3_LIB_DIR )
endif()
mark_as_advanced(GTK3_INCLUDE_DIRS GTK3_LIBRARIES)
-