ahaczewski / cmakeqt

CMake build system template for Qt based projects.

Home Page:https://www.ohloh.net/p/cmakeqt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About
=====
CMakeQt, a cmake build system template for Qt based projects.
Copyright Rohit Yadav <rohityadav89@gmail.com>, 2009-12

Feel free to use and modify it according to your project.
If you like my work, show you appreciation by giving me kudos on my 'ohloh' profile.
For reporting bugs, feature requests, for donations and just to say hi, contact the author.

WWW
===
https://www.ohloh.net/p/cmakeqt
https://github.com/bhaisaab/cmakeqt

History
=======
Initially the build system was just for VLMC, but I thought why not make a
build system template that anyone can hack easily and use in their own projects,
thus CMakeQt! I think of CMakeQt as VLMC - /src; so just the build system.

Some projects that use CMakeQt (or parts of source code)
==============================

- VLMC: http://git.videolan.org/?p=vlmc.git;a=summary
- CernVM Installer: http://cernvm.cern.ch/portal/cernvm-installer
- Blender: http://www.blender.org
- Phonon-backend-vlc: http://gitorious.org/phonon/phonon-vlc
- Tano Player: http://sourceforge.net/projects/tano/
- Graffiti: https://github.com/bhaisaab/graffiti

Source
======

Github: http://github.com/bhaisaab/cmakeqt

Grab the latest source:
  git clone git://github.com/bhaisaab/cmakeqt.git

Translations
============

Languages that only needed to be shipped can be selected using LANGS, for example:
  cmake -DLANGS="en;fr" ..

To create ts files, either simply do a `make lupdate` or cd to ts/ folder and do:
  cd ts
  lupdate ../src/* -ts template.ts

Now, send this template to the translators and ask them to rename and send you the file as cmakeqt_<lang-token>.ts;
where, lang token can be fr_FR etc.

If you add a new language translation, simple add the token to the lang list in ts/CMakeLists.txt
For testing I've added a french translation, which is explicitly ran in src/main.cpp

Hack hack hack!

Building
========

  mkdir build && cd build
  cmake .. && make

The binary will be created in <build-folder>/bin

Packaging
=========

1. On Linux:
  make package

  To force deb:
    cpack -G DEB

  To force rom:
    cpack -G RPM

2. On Mac: (gcc, g++, make, cmake, qt 4.6+ etc. must be installed...)
  cd contribs
  sh contribs-mac.sh
  This will by default create a Mac Bundle, vlmc.app in /build/bin

  To create a dmg image:
    Uncomment #dmg in /src/CMakeLists.txt, at the end of the file.
    and follow the build process, the dmg will be created in /build/bin

3. To cross-compile and package on linux for windows: (mingw, wine, nsis must be installed...)

  cd contribs
  sh contribs.sh
  cd ..
  mkdir win32 && cd win32
  cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake -DQT_MOC_EXECUTABLE=../contribs/tools/moc.exe ..
  make
  make installer

  This will create an .exe installer in /win32/bin

Distribution via Launchpad
==========================

Launchpad.net provides PPA facility for distribution of debian builds.
The /debian folder holds debian package building rules.

You build and upload your source pkgs by:
  debuild -k<pgp key ID>
  debuild -k<pgp key ID> -S -sa # creates only the source pkg
  dput ppa:<ppa-id>/<pkg> <source.changes>

To add/install the pkg, one can do:
  sudo add-apt-repository ppa:<ppa-id>/<pkg>
  sudo apt-get update
  sudo apt-get install <pkg>

About

CMake build system template for Qt based projects.

https://www.ohloh.net/p/cmakeqt

License:GNU General Public License v2.0