diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-01-13 10:15:18 -0800 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-01-14 17:32:15 +0000 |
commit | 86fde7857f30d4fe1300047b5a12a8d656b46e7f (patch) | |
tree | 319165939d633a96be9a0c4e8fb77bcab14b1c4e /cmake | |
parent | 20e2c05d9b380158bfa27dcb94dd23ba7cad3ec6 (diff) | |
download | wireshark-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.cmake | 58 | ||||
-rw-r--r-- | cmake/modules/FindGTK3.cmake | 42 |
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) - |