All Projects → skypjack → qt_cpackifw

skypjack / qt_cpackifw

Licence: MIT license
Skel for Qt/CPackIFW based build systems

Programming Languages

CMake
9771 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to qt cpackifw

Cmake Examples
Useful CMake Examples
Stars: ✭ 7,220 (+31291.3%)
Mutual labels:  cpack
c-template
Boilerplate to set up a c project, include CuTest unit testing, cmake build setup
Stars: ✭ 69 (+200%)
Mutual labels:  cpack

Qt meets CPackIFW

Skel for Qt/CPackIFW based build systems.

Introduction

The web isn't full of examples of use for CPackIFW yet. That's a fact.
I spent a few hours configuring a minimal build system that worked on Linux, Windows and OSX. To do that I looked into the code of CMake and I opened a bug to the CPackIFW module. Then I wrote to the author of the module asking for a workaround, I must admit that he's a really nice person and he gave me a couple of hints that helped me to find the right way.
So far so good. At the end of the day I've a build system up and running that I can use almost everywhere to prepare a standalone installer for my application. That being said, I don't want to spend the same amount of time next time to pack it from scratch and that's why I created a minimal project from which to start in case.

Requirements

Currently, qt_cpackifw requires:

  • CMake version 3.4 or later.
  • Qt Installer Framework 2.0 or later.

Unfortunately, for CPackIFW is still relatively young and it has been designed originally for Linux and Windows systems, it has some issues on OSX. I've documented them directly in the CMakeLists.txt file.
Note also that the generator expression $<TARGET_BUNDLE_DIR:tgt> isn't available since CMake version 3.9. Because of that, the CMakeLists.txt contains a few workarounds to overcome these shortcomings.

Targets

From within the build directory, just run the following commands to create the package:

$ cmake ..
$ make package

License

Copyright (c) 2017 Michele Caini.
Code released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].