On Nov 19, 2009, at 8:24 AM, Michael Jackson wrote:

> So, there are a few of us quickly port the HDF5 1.8 code to CMake. I'm 
> thinking that we should put in an HDF5Config.cmake file for other projects 
> use. Simple question:
> 
>  What goes in one of those? Is there a tutorial somewhere? Where does the 
> file get installed into? What does the consumer of the file need to put into 
> their cmake files?
> 
>  And what version of CMake does all that apply to?
> 

Mike,

I applaud this effort!  Now we just need a fully functional C++ interface for 
HDF5...

While I am somewhat of a novice at this, my experience is that the 
XXXConfig.cmake file basically replaces the FindXXX.cmake file and defines many 
of the same variables.

I suggest, however, that you use the "EXPORT" feature to generate a HDF5.cmake 
file that you include in your Config file.

For example, put something like the following in your CMakeLists.txt file:

#------- <snip> -------
# assume that "hdf5" is the library built...
install( TARGETS hdf5 EXPORT HDF5 DESTINATION lib/hdf5 )
install( EXPORT HDF5 DESTINATION lib/hdf5 )

configure_file(
  ${PROJECT_SOURCE_DIR}/HDF5Config.cmake.in
  ${PROJECT_BINARY_DIR}/config/HDF5Config.cmake
  @ONLY
  )
#------- </snip> -------


In your HDF5Configure.cmake.in file you might have something like:

#------- <snip> -------
set( HDF5_INCLUDE_DIR @HDF5_INCLUDE@ @TPL_INCLUDE_DIRS@ )
include( @CMAKE_INSTALL_PREFIX@/lib/hdf5/HDF5.cmake )
#------- </snip> -------

I have seen some packages install the Configure file in /share rather than /lib 
as well.

I just saw Brad's email come through.  He is actually the source of my 
understanding of the EXPORT approach...

HTH,

James
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to