aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindKERBEROS.cmake
AgeCommit message (Collapse)AuthorFilesLines
2018-04-22Fix up handling of the Kerberos package.Guy Harris1-11/+39
On Ubuntu 16.04, and possibly other versions of Ubuntu, and on Debian and other Debian derivatives, packages for MIT and Heimdal Kerberos can both be installed at the same time - including developer packages. Collisions between headers and libraries are handled by putting them in subdirectories of the system include and library directory and having their .pc files add -isystem flags to point to the appropriate include directory and -L flags to point to the appropriate library directory. CMake's pkg-config support, however, only looks for -I flags, not -isystem flags, in pkg-config output (using --cflags-only-I), so it doesn't get the directory in which to look for the headers, and just uses the results of --libs-only-l to get a list of library names and does nothing with the results of --libs-only-L, causing it not to look for libraries in the directory in which to look for the libraries. We fix this by: If FindKERBEROS.cmake found Kerberos with pkg-config, have it set KERBEROS_DEFINITIONS to the "other" compiler flags, which includes the -isystem flag. For all packages, adding the <PACKAGE>_DEFINITIONS values to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS so that they're used when compiling. If FindKERBEROS.cmake found Kerberos with pkg-config, having it search for each of the libraries in KERBEROS_LIBRARIES using find_library() with KERBEROS_LIBDIR and KERBEROS_LIBRARY_DIRS as hints, and re-assembling the resulting full paths into KERBEROS_LIBRARIES. Change-Id: Ie18b56b76934f542bd12dc737631c0190026d18a Reviewed-on: https://code.wireshark.org/review/27071 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-11-18CMake: Clean up Windows buildGraham Bloice1-2/+4
Remove options that aren't supported on Windows Don't use pkgconfig on Windows Change-Id: I79718a1c43f56a9ec88f690490931b80b727dd68 Reviewed-on: https://code.wireshark.org/review/24481 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-13cmake: fix kerberos library lookup, support HeimdalPeter Wu1-40/+56
A build with the gold linker broke with: run/libwireshark.so.0.0.0: error: undefined reference to 'krb5_c_decrypt' Fix this my restructuring the FindKERBEROS module to use the libraries found by pkg-config. While at it, check for MIT and Heimdal instead of assuming MIT. Remove HAVE_KEYTYPE_ARCFOUR_56 as this macro is not used. Change-Id: Iab23d79bc3f25e9c0fd7203b6f050f875fb4a2b5 Reviewed-on: https://code.wireshark.org/review/10907 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jörg Mayer <jmayer@loplof.de> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-01-13CMake: Copy libwireshark dependent DLLs to the target directory.Gerald Combs1-4/+23
Add a "copy_cli_dlls" target which copies the DLLs required to run our command line programs to the run directory. Fix the spelling of "KERBEROS". Start filling in variables so that we can populate config.nsh. Change-Id: I9b3ed912dfbffecbf09f2893efa2c9d82e709521 Reviewed-on: https://code.wireshark.org/review/6513 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-03Fix Windows x64 CMake buildGraham Bloice1-1/+1
Unfortunately Kerberos for Windows (kfw) has a different lib name for x86 & x64. Fix FindKERBEROS.cmake to check for both lib names. Change-Id: I525df6de099d4e50322226317bda8d93d7a8dd23 Reviewed-on: https://code.wireshark.org/review/6246 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-10-01cmake: use pkg-config for resolving dependenciesPeter Wu1-3/+14
Changes: * Fix glib2 search path. * Add pkg-config support to CAP, GEOIP, GNUTLS, LUA, PortAudio (API 19), zlib, kerberos. * Add pkg-config support to libnl3, libnl2 and libnl1 (but tested only with libnl3). This makes it easier to do 32-bit builds on 64-bit hosts by just setting `PKG_CONFIG_LIBDIR`. Due to how HINTS work, it is still fragile though: missing 32-bit libraries will cause a fallback to 64-bit libraries. A future patch could check for `<PREFIX>_FOUND` and remove the manual `find_path` and `find_library` hackery since the paths are already known. Change-Id: Ieb4fb74695c96afb1a4c70168e84abb1fa4612c6 Reviewed-on: https://code.wireshark.org/review/4292 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-31Continue to remove $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^\# \$Id\$/,+1 d') (start with dash) Change-Id: Ia4b5a6c2302f6a531f6a86c1ec3a2f8205c8c2dd Reviewed-on: https://code.wireshark.org/review/881 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-09-23Beginnings of win cmake support (not yet working), created by Graham Bloice,Jörg Mayer1-3/+6
some smaller changes by me. - README.cmake Document how to (one day) run on Windows - CMakeLists.txt Use MSVC compiler flags for MSVC instead of gcc flags - FindWSWinLibs.cmake New: Creates HINTS for finding includes and libraries inside the Wireshark support library installation. - FindXXX.cmake Make use of HINTS generated by FindWSWinLibs.cmake This has not really been tested on Windows as my installation seems to have automagically downloaded some fixes and is in an inconsistent state since. Will probably need to reinstall. svn path=/trunk/; revision=52194
2009-09-23- Add $Id: $ tagsJörg Mayer1-0/+3
- FindHtmlViewer.cmake: Try to add reading the name of the html viewer from the HTML_VIEWER environment variable (untested) svn path=/trunk/; revision=30104
2009-09-10Update to add the last missing detection stuff.Jörg Mayer1-0/+38
Some of it is untested, kerberos is currently a hack. Apart from that, package detection should be complete. svn path=/trunk/; revision=29838