Commit Graph

31 Commits

Author SHA1 Message Date
Adriaan de Groot
dcc66c2793 Clang: for gcc, don't produce empty COMPILE_FLAGS 2017-09-25 17:08:09 +02:00
Adriaan de Groot
6924bd7d23 Clang: produce fewer warnings (all caused by boost headers) 2017-09-25 16:33:48 +02:00
Adriaan de Groot
40c49bd50d Clang: be more explicit about marking third-party code.
- This is only a partial solution to warnings caused by third-party
   code, since #including the headers from other sources won't apply
   the warning-suppressions.
 - Flags are not applied when building the source as part of a larger
   target, but are on re-building just one object (it seems -- CMake
   issue to track down).
2017-09-21 04:53:09 -04:00
Adriaan de Groot
0c129f2460 Reduce third-part warnings a better way.
Thanks to Kevin Kofler for pointing out what I'd forgotten about
source-file flags. While at it, introduce a generic mechanism for
suppressing warnings in third-party code.

Mostly reverts 4930484931
2017-09-19 16:49:14 +02:00
Adriaan de Groot
4930484931 CMake: massage build of libcalamares
- Build also two OBJECT libraries,
 - Allow changing Clang warnings for third-party code.
2017-09-18 14:59:53 +02:00
Adriaan de Groot
eede92646d CMake: shuffle includes, drop useless (empty) QT_INCLUDE_DIR 2017-09-18 12:32:37 +02:00
Adriaan de Groot
a266ecb133 CMake: simplify definitions, distinguish kinds of sources 2017-09-17 06:48:07 -04:00
Adriaan de Groot
03d9dbe099 Clean up CMakeLists, linking 2017-09-13 18:29:56 +02:00
Teo Mrnjavac
2c3b56c803 Link against PythonQt; new PythonQtViewModule stub. 2016-12-16 17:03:00 +01:00
Kevin Kofler
00d9f211f5 Add support for C++/Qt batch job plugins
These job plugins work similarly to view modules, with the following
differences:

* These jobs need to link only libcalamares, not libcalamaresui. For
  this reason, PluginFactory was moved from libcalamaresui to
  libcalamares. (It depends only on QtCore.)

* Instead of deriving from ViewModule, derive from CppJob (which is a
  subclass of Job).

* Like process and Python jobs, a job plugin is a single job, whereas a
  ViewModule can generate a whole list of jobs.

The CppJob and CppJobModule classes are new. In Module::fromDescriptor,
the combination type=job, intf=qtplugin is now supported and mapped to
CppJobModule.
2016-09-27 17:25:09 +02:00
Kevin Kofler
7478c1266b Point the lib/calamares/libcalamares.so symlink to the versioned so.
Point the lib/calamares/libcalamares.so symlink for the Python modules
directly to the versioned lib/libcalamares.so.VERSION library rather
than to the lib/libcalamares.so symlink. This allows distributions to
install the lib/libcalamares.so symlink to a development package and
only ship lib/libcalamares.so.VERSION and lib/calamares/libcalamares.so
in the runtime package. It is also marginally faster (because only one
level of symlinks has to be resolved instead of two).

(I know this works because I have been manually fixing up this symlink
in the Fedora specfile so far.)
2014-11-14 12:30:56 +01:00
Teo Mrnjavac
08b90e975b Add retranslator class to CalamaresUtils. 2014-11-11 12:44:32 +01:00
Teo Mrnjavac
63534f7154 Add mount and chrootCall utilities to libcalamares + Python wrappers. 2014-07-29 20:21:40 +02:00
Teo Mrnjavac
0753e6ccde New GlobalStorage map. With Python API support. 2014-07-21 17:09:23 +02:00
Teo Mrnjavac
d9f4c74537 Add support for config map to Python job API.
Rename PythonJobHelper ==> CalamaresPython::Helper.
Add QVariant to boost::python::object conversion functions.
Rename some constants in the libcalamares Python API.
2014-07-18 14:36:30 +02:00
Teo Mrnjavac
e33e9de6f6 Symlink lib/calamares/libcalamares.so to lib/libcalamares.so for Python. 2014-07-17 19:42:16 +02:00
Teo Mrnjavac
a61a36d99d We have a Python API for jobmodules!
Created a Boost.Python module interface in libcalamares.
Added a PythonJob wrapper and exposed it in the Python module.
Rename target calamareslib ==> calamares so in Python it's libcalamares.
Python-related classes in libcalamares that aren't exported as C++
symbols are now in a CalamaresPrivate namespace.
Import the libcalamares python module into every Python script before
running it.
Added Python error handling to PythonJobHelper.
Added some more testing code to dummypython module.
2014-07-17 19:42:16 +02:00
Teo Mrnjavac
b924aeef2b Add optional Python jobs support to libcalamares. 2014-07-16 16:07:32 +02:00
Aurélien Gâteau
7096213206 Move partitionmanager code to src/modules/partition 2014-07-15 11:54:09 +02:00
Teo Mrnjavac
fe7a64d5ab Add ProcessJob, a wrapper for external commands. 2014-07-10 12:08:43 +02:00
Teo Mrnjavac
afa1d9dce0 To build with partitionmanager: cmake -DWITH_PARTITIONMANAGER=1 2014-06-27 15:55:25 +02:00
Teo Mrnjavac
6388171521 Stubs for JobQueue and Job. 2014-06-27 15:55:25 +02:00
Aurélien Gâteau
02af2dccb9 Introduce libcalapm
This adds a submodule pointing to a fork of KDE Partition Manager. All
Calamares-specific changes are in the "calamares" branch of this fork.
2014-06-26 16:46:06 +02:00
Aurélien Gâteau
3cc7fe3245 Rename config.h to CalamaresConfig.h
Avoid name clashes with partitionmanager's config.h
2014-06-26 14:22:13 +02:00
Teo Mrnjavac
ef48f36445 Add modules path in build dir if --debug.
Also fix config.h location.
2014-06-24 13:35:21 +02:00
Teo Mrnjavac
d20e3ce598 Add DLLEXPORT_PRO definitions. 2014-06-18 18:42:01 +02:00
Teo Mrnjavac
13fcf387c7 A bunch of work on loading plugins.
Also switched to C++11.
2014-06-18 18:05:04 +02:00
Aurélien Gâteau
1da7ba446d Fix link error on Qt5 libs 2014-06-17 14:59:49 +02:00
Teo Mrnjavac
b21dc4fe4c Added Utils, Logger, Translations, QCommandLineParser, init boilerplate 2014-06-06 17:19:59 +02:00
Teo Mrnjavac
27cea281bc Added KDSingleApplicationGuard boilerplate because it's a singleton.
Also DllMacro.h
2014-06-04 18:19:05 +02:00
Teo Mrnjavac
b5ec7c4702 CMake skeleton. 2014-06-04 16:35:26 +02:00