Building Seg3D 2.0 for Mac OS X
We are currently building against Qt 4.7.x. Qt 4.8.4 also appears to work.
See this page for current release build instructions.
Seg3D 2.0 currently builds under OS X 10.5 and higher. The CMake system was setup to run from the command line using gcc and make, or to use XCode. Both versions of the build system should work. To build Seg3D 2.0 CMake ( version 2.8 or higher ) is required as well as svn ( subversion, version 1.6 or higher ) for checking out the code. Currently the only thing not included in the source tree, is a copy of Qt. The current version requires Qt 4.6 or higher. A disk image with an installer can be found at . Note this page contains both a 64-bit or 32-bit version. Starting from OS X 10.6 the default compiler setup on OS X will build a 64-bit version, hence it is important to download a 64-bit version in that case, which is listed on the webpage, but it is not the default option.
The OS X binary installers are built with the following (advanced) settings. If using ccmake or the cmake gui, advanced view mode should be on.
- CMAKE_OSX_ARCHITECTURES: x86_64
- CMAKE_OSX_DEPLOYMENT_TARGET: 10.5
- CMAKE_OSX_SYSROOT: /Developer/SDKs/MacOSX10.5.sdk/
Everything except Qt is shipped with the source check out.
Code repository/ configuration
The code can be obtained from the subversion repository https://gforge.sci.utah.edu/svn/seg3d2. It will come with most of the dependencies. To configure the source use the CMakeLists.txt file in the src directory and point cmake at a target directory in which the code needs to be build. If Qt was installed using the .dmg provided at the Nokia website, CMake should be able to find all the dependencies needed and will generate a makefile.
To use Xcode run
cmake seg3d2/src -G Xcode
Binary / Distribution
On the Mac the make system will generate a fully functional Application bundle that contains all the Qt libraries inside the App bundle. This App should not depend on any other pieces and can be copied anywhere to run Seg3D. The App can be packaged as well using the packaging target defined by CPack.