Cocoa VTK: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(Style)
Line 12: Line 12:
We will need a folder to put the VTK build in, I use a folder in my home directory name Development.  Create a folder where you want VTK to reside.
We will need a folder to put the VTK build in, I use a folder in my home directory name Development.  Create a folder where you want VTK to reside.


''cd ~/Development''
cd ~/Development


Now drag the VTK folder into Development.
Now drag the VTK folder into Development.
Line 18: Line 18:
In ~/Development create a new directory.  I named mine VTKBuild.
In ~/Development create a new directory.  I named mine VTKBuild.


''mkdir VTKBuild''
mkdir VTKBuild


Move into that folder.
Move into that folder.


''cd VTKBuild''
cd VTKBuild


Issue the cmake command.
Issue the cmake command.


''cmake ../VTK''
cmake ../VTK


A lot of code will scroll by.  When it is done you will find a file named CMakeCache.txt in your VTKBuild folder.  Edit that file in your favorite text editor. You need to edit it to make VTK build for Cocoa instead of Carbon.  Find the following lines in the text file and change them to look like the following.  (You're turning OFFs to ONs and vice versa.)
A lot of code will scroll by.  When it is done you will find a file named CMakeCache.txt in your VTKBuild folder.  Edit that file in your favorite text editor. You need to edit it to make VTK build for Cocoa instead of Carbon.  Find the following lines in the text file and change them to look like the following.  (You're turning OFFs to ONs and vice versa.)


''VTK_USE_CARBON:BOOL=OFF''
* VTK_USE_CARBON:BOOL=OFF
 
* VTK_USE_COCOA:BOOL=ON
''VTK_USE_COCOA:BOOL=ON''


Finally, change the flag CMAKE_INSTALL_PREFIX from  
Finally, change the flag CMAKE_INSTALL_PREFIX from  


''CMAKE_INSTALL_PREFIX=/usr/local''
CMAKE_INSTALL_PREFIX=/usr/local


to
to


''CMAKE_INSTALL_PREFIX=~/Development/VTKBuild''
CMAKE_INSTALL_PREFIX=~/Development/VTKBuild


Save the file.
Save the file.
Line 46: Line 45:
Make sure you are in ~/Development/VTKBuild and issue the command
Make sure you are in ~/Development/VTKBuild and issue the command


''cmake ../VTK''
cmake ../VTK


again.  When it is complete, do another one for good measure since Drew McCormick seems to think it's good practice (and it only takes a second).
again.  When it is complete, do another one for good measure since Drew McCormick seems to think it's good practice (and it only takes a second).
Line 52: Line 51:
In ~/Development/VTKBuild issue the make command.
In ~/Development/VTKBuild issue the make command.


''make''
make


VTK is now being built and a lot of material will scroll by the screen.  Hopefully there will be no errors.  On my virgin MacBook Pro with Xcode 2.4 installed it all worked the first time.
VTK is now being built and a lot of material will scroll by the screen.  Hopefully there will be no errors.  On my virgin MacBook Pro with Xcode 2.4 installed it all worked the first time.
now issue the following command  
now issue the following command  


''make install''
make install


The make install command will copy all the .h header files for VTK into a single directory, the ~/Development/VTKBuild/include/vtk-5.1 directory, the one defined by CMAKE_INSTALL_PREFIX. We do this because the SimpleCocoaVTK Xcode project needs to have all the headers in one folder and installing VTK spreads the headers in a number of different directories.  This make install gathers them all up and puts them into one folder.  (Just copies though, the originals are still in the right place).
The make install command will copy all the .h header files for VTK into a single directory, the ~/Development/VTKBuild/include/vtk-5.1 directory, the one defined by CMAKE_INSTALL_PREFIX. We do this because the SimpleCocoaVTK Xcode project needs to have all the headers in one folder and installing VTK spreads the headers in a number of different directories.  This make install gathers them all up and puts them into one folder.  (Just copies though, the originals are still in the right place).

Revision as of 20:12, 28 November 2006

Installing VTK on Mac OS X 10.4.x for the purposes of Cocoa

This document outlines how to build and install VTK 5 on Mac OS X 10.4.x with Xcode 2.2 or later.

Additionally, it discusses SimpleCocoaVTK, a sample Cocoa application written by Sean McBride and Mike Jackson that uses VTK. It can be downloaded from http://www.rogue-research.com/vtk/SimpleCocoaVTK.html. This document explains how to get VTK installed so that the SimpleCocoaVTK Xcode project will function. SimpleCocoaVTK is an example, it is not required to use VTK.

CMake

The first step is to install CMake. CMake is a cross platform make and is required to build VTK. You can download the most recent stable build from http://www.cmake.org/HTML/Download.html. As of this writing I used version 2.4.4. Mount the downloaded dmg file as you would for any other install. Run the installer from the disk image and when it is done CMake will be installed. This step has been greatly simplified thanks to the installer.

VTK

Now secure a copy of VTK. You can download the most recent stable build from http://www.vtk.org/get-software.php#latest. As of this writing I used version 5.0.2. Double click the downloaded file and expand the folder on your desktop. Rename the folder just ‘VTK’.

We will need a folder to put the VTK build in, I use a folder in my home directory name Development. Create a folder where you want VTK to reside.

cd ~/Development

Now drag the VTK folder into Development.

In ~/Development create a new directory. I named mine VTKBuild.

mkdir VTKBuild

Move into that folder.

cd VTKBuild

Issue the cmake command.

cmake ../VTK

A lot of code will scroll by. When it is done you will find a file named CMakeCache.txt in your VTKBuild folder. Edit that file in your favorite text editor. You need to edit it to make VTK build for Cocoa instead of Carbon. Find the following lines in the text file and change them to look like the following. (You're turning OFFs to ONs and vice versa.)

  • VTK_USE_CARBON:BOOL=OFF
  • VTK_USE_COCOA:BOOL=ON

Finally, change the flag CMAKE_INSTALL_PREFIX from

CMAKE_INSTALL_PREFIX=/usr/local

to

CMAKE_INSTALL_PREFIX=~/Development/VTKBuild

Save the file.

Make sure you are in ~/Development/VTKBuild and issue the command

cmake ../VTK

again. When it is complete, do another one for good measure since Drew McCormick seems to think it's good practice (and it only takes a second).

In ~/Development/VTKBuild issue the make command.

make

VTK is now being built and a lot of material will scroll by the screen. Hopefully there will be no errors. On my virgin MacBook Pro with Xcode 2.4 installed it all worked the first time. now issue the following command

make install

The make install command will copy all the .h header files for VTK into a single directory, the ~/Development/VTKBuild/include/vtk-5.1 directory, the one defined by CMAKE_INSTALL_PREFIX. We do this because the SimpleCocoaVTK Xcode project needs to have all the headers in one folder and installing VTK spreads the headers in a number of different directories. This make install gathers them all up and puts them into one folder. (Just copies though, the originals are still in the right place).

SimpleCocoaVTK

To make Xcode aware of VTK we need to add two source trees, as outlined in the SimpleCocoaVTK documentation. Open the SimpleCocoaVTK project in Xcode. Then go to Xcode -> Preferences and look for the source tree icon along the top bar. In my Xcode it is the third icon from the right and looks like a traffic sign. Click the icon and a table display will come up. Click the + icon twice and add two rows to the table.

For the first row, set the setting name and display name to ‘vtk-lib’ (without the single quotes) and set the path to ‘/Users/rglover/Development/VTKBuild/bin’ (without the single quotes). Notice I have my username in there (rglover), replace it with your own.

For the second row, set the setting name and display name to ‘vtk-include’ (without the single quotes) and set the path to ‘/Users/rglover/Development/VTKBuild/include/VTK-5.1’ (without the single quotes).

Case is important here so make sure it is correct.

With the SimpleCocoaVTK Xcode project open do a ‘clean all’ by clicking on the hammer build icon and selecting the double broom clean all icon.

A final point, make sure zero link is off. To check this click the targets icon (looks like a bulls eye) in the left hand menu. Drop down the bulls eye until you see the SimpleCocoaVTK target (the standard A icon made of pencil/pen/ruler). Click SimpleCocoaVTK to select it and hit the info button (blue i icon in the top menu). Click the Build tab and make sure that the configuration drop down says ‘All Configurations’ and the collection drop down says ‘All Settings’.

In the search box type ‘zerolink’. The list will shorten to a manageable size and you will see zero link there. Click the checkbox button until it is empty (not a checkmark or a negative sign, just empty).

Close information and ‘clean all’ again.

Now build.

Fingers crossed, you should see the app build with no errors and begin to run.