[CMake] FindGnuTLS in 2.8rc2

Dixon, Shane Shane.Dixon at atmel.com
Thu Oct 8 11:01:17 EDT 2009


Philip,

 

Okay, that fixed half of it.  I had to move the .lib from the bin folder to the lib folder.  I also had to rename it because it was libgnutls-26.lib and the FindGnuTLS looks for libgnutls.lib.  So FindGnuTLS.cmake finds the two paths automatically, but the header path is wrong.  All the GnuTLS provided headers use the format "gnutls/gnutls.h".  Everything is prefixed with "gnutls", but what I get from CMake is:

 

-- GNUTLS_LIBRARY              C:/Program Files/GnuTLS-2.9.7/lib/libgnutls.lib
-- GNUTLS_INCLUDE_DIR          C:/Program Files/GnuTLS-2.9.7/include/gnutls

 

Is this an error that it looks in the wrong directory?  It would have to be set to "C:/Program Files/GnuTLS-2.9.7/include/" to work correctly.  I can fix my source to just include "gnutls.h", but the gnutls.h has several references to files in "gnutls/*.h".  Is this a bug?  I had to modify the FindGnuTLS.cmake file to fix this:

 

FIND_PATH(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
   HINTS
   ${PC_GNUTLS_INCLUDEDIR}
   ${PC_GNUTLS_INCLUDE_DIRS}
   #PATH_SUFFIXES gnutls
   )

 

Should this be modified in the distributed FindGnuTLS.cmake file?

 

--

Shane


________________________________

From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Philip Lowman
Sent: Wednesday, October 07, 2009 7:40 PM
To: Dixon, Shane
Cc: cmake at cmake.org
Subject: Re: [CMake] FindGnuTLS in 2.8rc2


On Wed, Oct 7, 2009 at 6:38 PM, Dixon, Shane <Shane.Dixon at atmel.com> wrote: 

	One note is that I'm using the MSVC compiler not gnu so I had to run this in the GnuTLS folder:

	C:\Program Files\GnuTLS-2.9.7\bin>lib /def:libgnutls-26.def /nologo

	Per the instructions in GnuTLS.  It generates a MSVC compatible .lib in the /bin folder.  Is that going to hose things having it in the bin folder?


Yes, it needs to be put in the lib/ folder for CMAKE_PREFIX_PATH to help find it.  You could send a note/patch to the GnuTLS people to fix their documentation to have the user move the import library (.lib file) to "../lib" when done, or just run the lib tool from the lib directory.

The GnuTLS installer does put all of the MinGW libraries in lib/ where they belong so no problems there...

Also, in case you don't know, you can always show "advanced variables" in the cache editor and set the location of GNUTLS_LIBRARY manually, should CMake fail to auto-detect it.


-- 
Philip Lowman

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20091008/bef390e7/attachment-0001.htm>


More information about the CMake mailing list