[Insight-users] ITK, FLTK and VTK on Mac OS X

Bill Hoffman bill.hoffman@kitware.com
Tue, 11 Mar 2003 08:16:27 -0500


At 07:45 PM 3/10/2003, Robb Brown wrote:

>>CMake 1.65 should build VTK on OSX.   What were the errors?
>
>CMake reports that it failed to compile the VTK extensions (to CMake).  
>Then it won't let you generate the make files.

Can you send me the CMakeError.log file when 1.65 fails?

>I have my ITK Applications compiling now with FLTK and VTK (CMake 1.7) by replacing the
>FIND_PACKAGE(X) statements with
>INCLUDE(${CMAKE_ROOT}/Modules/Find{X}.cmake)

The FIND_PACKAGE command is part of 1.7.

>which is the way VTK does it.  I also had to change any VTK_WRAP_TCL2() or VTK_WRAP_PYTHON2() commands to omit the 2.

This means that the extensions are still not working for you.


>There's still a little problem where wrapping the vtkITK example into Python (which CMake insists on doing because that's the way VTK was compiled) fails because CMake tries to -L the VTK python modules.  This is a problem in the CMakeLists.txt file that I remember having with vtkLocal in the past on the Mac.
>
>What exactly is FIND_PACKAGE?  It doesn't seem to be covered in any of the CMake documentation and only CMake 1.65 seems to support it.
>

Here is what Brad posted to the CMake list about FIND_PACKAGE:

This command was added just before the 1.6 release.  It is intended to
make it easier to transition other projects into CMake-built projects.
It works as follows:

FIND_PACKAGE(FOO)

1.) Search ${CMAKE_MODULE_PATH} for a file called FindFOO.cmake,
    followed by ${CMAKE_ROOT}/Modules.  If found, include it and stop.
2.) Create a FOO_DIR cache entry that should be set by the user to a
    directory containing a file called FOOConfig.cmake.  If set, and
    the file exists, it is included.

In case (1), the user usually has to set a bunch of FOO_INCLUDE_DIR,
FOO_LIBRARY, ... variables that are requested by the "find" module.  In
case (2), the project knows about CMake and has created a FOOConfig.cmake
containing all the proper settings (VTK and ITK do this).  Then the user
need only set FOO_DIR to the location of FOOConfig.cmake, and all the rest
of the settings are loaded automatically.

The idea is that CMake cannot provide a FindFOO.cmake module for every
project FOO.  FIND_PACKAGE is a way of generalizing the find mechanism so
projects don't have to use ${CMAKE_ROOT}/Modules for everything.
Eventually some kind of version support may be added too.



>_____________________________
>Robb Brown
>Seaman Family MR Center
>Calgary, AB
>
>_______________________________________________
>Insight-users mailing list
>Insight-users@public.kitware.com
>http://public.kitware.com/mailman/listinfo/insight-users