On 17/03/2012 22.11, Marcus D. Hanwell wrote:
On Sat, Mar 17, 2012 at 5:03 PM, Bill Lorensen<bill.loren...@gmail.com>  wrote:
Folks,

I've recently created a number of super builds using CMake's External
Project mechanism. Each external project requires some sort of
download, configuration, build and possibly install. The CMake defines
needed to correctly access the results of the external project vary
significantly. The trickiest part is find the proper download,
configuration and CMake defines.

For example, for the Point Cloud Library (http://pointclouds.org/) I
created these external projects:
VTK - git, cmake, make; VTK_DIR
FLANN - zip, cmake, make install; FLANN_LIBRARY, FLANN_INCUDE_DIR
Eigen - .tar.bz2,; EIGEN_INCLUDE_DIR
Qhull - git, cmake, make;QHULL_LIBRARY,QHULL_INCLUDE_DIR
Boost - .tar.gz, bootstrap.sh, b2; BOOST_ROOT
GTest - .zip, cmake, make; GTEST_ROOT,GTEST_INCLUDE_DIR

Slicer4 has many more.

Should we start collecting sample ExternalProject_Add files for
external projects?
We have talked about doing this too (I have Eigen, Boost, GTest and
others for example). The standard CMake based projects hardly seem
worth it, but it depends on what you want to do with them I suppose.
For the work we are doing in chemistry we have been working on an
experimental superbuild that uses a common prefix in the build tree to
install to, and then all we need pass in is CMAKE_PREFIX_PATH - this
can make the logic significantly easier for dependent CMake projects
as it will always search within the prefix first.
I did something similar, trying to collet all the build of stuff that I had to do in a single place powered by cmake Used CMAKE_PREFIX_PATH and a single source place where all the builds download and expand

you can have a look at

https://hpc-forge.cineca.it/svn/CmakeBuilds/lib/

It's just for my use only, so really dirty and not properly checked, I' m also looking for good starting point for common stuff like Qt, boost and others (I' tried to collect in the folder Packages the tricky part of building the components,) I' ve tried to define a dependency graph but it' still messy

anyway I would really appreciate a place where to share good "recipies" for CMake building packeges

Thanks
                  Luigi






The Qt external project was pretty tricky too, and we are using that
in several places along with smaller libraries like libxml2.

Marcus
--

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



--
Luigi Calori
SuperComputing Applications and Innovation Department
CINECA - via Magnanelli, 6/3, 40033 Casalecchio di Reno (Bologna) - ITALY
Tel: +39 051 6171509  Fax: +39 051 6132198
hpc.cineca.it

--

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