Mac OS X Development

From NNTPGrab

Jump to: navigation, search

This page will document the steps required to get started on developing NNTPGrab on Mac OS X environments

Contents

[edit] Requirements

[edit] Environment

NNTPGrab requires some external dependencies which are not bundled with XCode or the Qt SDK. These can be installed by performing these commands in the Terminal:

mkdir -p ~/Development/NNTPGrab
cd ~/Development
svn co http://svn.openftd.org/svn/build_env/osx NNTPGrab

When using Qt Creator, some environment variables need to be set to allow the build scripts to detect all the external dependencies which are required for NNTPGrab. Please perform these commands in the Terminal:

echo ~/Development/NNTPGrab/deps/bin > ~/tmp
sudo mv ~/tmp /etc/paths.d/NNTPGrab

cp /etc/profile ~/tmp
chmod 644 ~/tmp
echo "export PKG_CONFIG_LIBDIR=~/Development/NNTPGrab/deps/lib/pkgconfig" >> ~/tmp
sudo mv ~/tmp /etc/profile
sudo chown root:wheel /etc/profile
source /etc/profile

cd ~/Development/NNTPGrab/deps/share/aclocal
sudo cp glib-2.0.m4 glib-gettext.m4 intltool.m4 nls.m4 pkg.m4 /usr/share/aclocal

cd ~/Development/NNTPGrab/deps/lib
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libgio-2.0.la
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libglib-2.0.la
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libgmodule-2.0.la
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libgobject-2.0.la
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libgthread-2.0.la
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libintl.la
sed -i '' "s|PREFIX|`echo ~`/Development/NNTPGrab/deps|g" libsoup-2.4.la

cd ~/Development/NNTPGrab/deps/lib/pkgconfig
sed -i '' "s|PREFIX|`echo ~`|" gio-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" gio-unix-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" glib-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" gmodule-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" gmodule-export-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" gmodule-no-export-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" gobject-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" gthread-2.0.pc
sed -i '' "s|PREFIX|`echo ~`|" libsoup-2.4.pc

Restart the Terminal application now to allow the new environment variables to be set

[edit] Retrieving and preparing the source code

Retrieve the NNTPGrab source code and prepare it with these commands:

cd ~/Development/NNTPGrab
svn co http://svn.openftd.org/svn/nntpgrab/trunk src
cd src
./autogen.sh
./configure \
   --prefix=`echo ~`/Development/NNTPGrab/dest \
   --disable-gui \
   --disable-webinterface \
   --disable-dependency-tracking \
   CPPFLAGS="-I`echo ~`/Development/NNTPGrab/deps/include" \
   CFLAGS="-arch ppc -arch i386 -arch x86_64" \
   DYLD_LIBRARY_PATH="`echo ~`/Development/NNTPGrab/deps/lib"
make

[edit] Qt Creator

Now everything's ready we can open the project in Qt Creator. Start Qt Creator and select File -> Open File or Project. Now navigate to the folder Development/NNTPGrab/src and select the file NNTPGrab.creator

The Qt version of the NNTPGrab Server is currently bundled as a seperate project. To work on this, open the project file server_qt/server_qt.pro

The Qt version of the NNTPGrab GUI is currently bundled as a seperate project. To work on this, open the project file client/gui_qt/gui_qt.pro

Views
  • Page
  • Discussion
  • Edit
  • History
Personal tools
  • Log in / create account
Toolbox
  • What links here
  • Related changes
  • Special pages
  • Printable version