Coder Social home page Coder Social logo

skynowa / cmakeqt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bhaisaab/cmakeqt

0.0 2.0 0.0 219 KB

CMake build system template for Qt based projects.

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

License: GNU General Public License v2.0

cmakeqt's Introduction

About
=====
CMakeQt, a cmake build system template for Qt based projects.
Copyright Rohit Yadav <[email protected]>, 2009-2014

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.

This release of cmakeqt will only work with old cmake and Qt4 contribs.

WWW
===
https://github.com/bhaisaab/cmakeqt
https://www.ohloh.net/p/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>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.