wiki:MacOSXBuild

Version 2 (modified by mlucas, 17 years ago) ( diff )

--

MacOSX Build

ossimPlanet is being initially developed on the OSX platform with the XCode developer tools.

Binary Installer

The easiest way to get up and running is to install the latest binary installer. During initial development, a fairly recent version of the software will be available at http://ossim.telascience.org/ossimdata/MacOSX/ . Look for and download the dmg file which will should mount after download. (e.g. ossim_1.6.6rc20.pkg.dmg ) Double click the package installer and the libararies and frameworks will be installed in standard locations:

Development

Dependencies

All dependencies necessary to build ossim and ossimplanet can now be downloaded from here. Download and unpack in your /Users/Shared/Development directory.

unpack and place in /Users/Shared/Development run ranlib on all of the static libraries there.

 cd /Users/Shared/Development/ossim_dependencies/lib
 ranlib *.a
 cd ../nuiSDK/lib
 ranlib *.a

svn checkout summary

svn will now checkout a master ossim repository, functionality is divided into the subdirectories shown below:

  • ossim - base library for image and geospatial processing
  • ossim_qt - qt3 interface (imagelinker, iview applications)
  • libwms - provides OGC Web Mapping Services interface
  • ossimPlanet - base library for planet visualization
  • ossimPlanetQt - qt4 interface for ossimPlanet application
  • ossim_plugins - dynamic plugins for ossim
  • ossimplanetCocoa - Cocoa version of ossimplanet

Follow the svn instructions to checkout the source code trees. We recommend you set up your source code under /Users/Shared/Development to match up with the path settings in the xcode projects.

xcode assumes that all modules are located side by side in:

 /Users/Shared/Development/ossim

Building and Running in Xcode

The MacOSX build is performed with xcode. It assumes that all of the svn subtrees have been checked out per the svn instructions and are sitting side by side in your development directory. Navigate into the ossim subdirectory and load the xcode project

   /Users/Shared/Development/ossim/xcode/ossim/ossim.xcodeproj

Loading this project into xcode will reveal Targets and subtargets that will build all of the ossim related frameworks and apps. It assumes ossim_dependencies has been downloaded and placed in /Users/Shared/Development.

There are xcode projects in each of these directories with appropriate dependencies between the projects. All projects now load a common_settings xcode config file where cross project settings and environmental variables are maintained. The projects now build into a shared build directory located in /var/tmp. We have taken steps to minimize the potential conflicts with other paths and projects and reduce start up effort with common settings.

In the ossim.xcodeproj select the All target and build. The All target is an aggregate target that will build all of the dependencies. Select the ossimPlanet application as the executable and run. Note, ossimplanetCocoa has its own xcode project.

Package Building

Here are some quick notes on building and packaging. After building the All target, select the build_package_dir target and build. This target creates a package directory in the xcode build directory. Applications, tools, frameworks, support files and dependencies are then staged into the package directory.

Next, in the Developer/Applications/Utilities folder open up PackageMaker and open the ossim package maker file that is located in the ossim_package_support directory. Note that the ossim_package_support directory is available as a module checkout at www.remotesensing.org:/cvs. It contains geoids and initial reference images for the packaging. Once you have opened the ossim packagemaker file, select build and an installer package will be generated. Optionally, you can use a utility such as DropDMG to create a dmg disk image for distribution. This is a universal installer for ossim applications and frameworks.

updated 18 Apr 2007 mrl

Note: See TracWiki for help on using the wiki.