- 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).
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
- Add a target 'example-distro' which must be manually invoked
This creates an example.sqfs with a minimal binary distro
based on the build hosts's /bin and /lib.
The purpose is to provide a simple test image which the
default configuration of the unpackfs module can use to
create a system within which the *other* steps of the
installation can run.
Example files are some zoneinfo's (remember to choose an
existing zone when using the example distro), groups and
sudoers files, etc ..
The example distro has a special /xbin which contains bogus
binaries for many system-administration tasks (e.g. useradd
which would otherwise come from /usr/sbin).
A new option BUILD_TESTING is available; you can turn this off at
CMake-time, but building the tests themselves is harmless (although
it takes some CPU time).
The main advantage of doing this is that running the tests becomes
simple:
make test
Instead of figuring out which tests there are and how to run them
individually. Note that the partition-manager tests will normally
fail, because they require an additional environment variable to
be set to tell them what disk to destroy.
The INSTALL_CONFIG is "on" by default. When set to off,
no *.conf file, both global and related to a single module,
will be installed. A warning message is printed by cmake too,
and the module description is edited to make this visible.
This is useful for testing, when we want to install our
own libraries and binary but keep the configuration of the
live system we are testing on (e.g. path to distro image).
Tested on the master branch.
We need master to have a higher version than the stable branch. I used
2.4.80 so that it can be bumped again to 2.4.90 when starting to do
alpha/beta/RC releases.
Only search for BoostPython3 if Python was found. Otherwise,
${PYTHONLIBS_VERSION_STRING} expands to nothing and the
find_boost_python3 macro gets called with invalid arguments.
Rename com.github.calamares.calamares.bin to
com.github.calamares.calamares.policy. This matches how other policy
files in the same directory are named.
This also adds ImageRegistry, a SVG cache, a bunch of utility functions
for shared pixmaps in CalamaresUtilsGui and renames several qrc files
in viewmodules.
Honor SYSCONFDIR as specified by CMake arguments instead of
using a hard-coded path.
Since GNUInstallDirs set CMAKE_INSTALL_FULL_SYSCONFDIR to
CMAKE_INSTALL_PREFIX/etc we need to change the default ourselves.
This doesn't work when the partition manager is enabled because it
uses ECM and ECMConfig.cmake fails with an error if the required
CMake is not less than 2.8.13
Added a note here to remember about this.
This reverts commit 2020eb0eb3.
FindPythonLibs.cmake from CMake 2.8.x is not capable of finding Python
libraries on Maui, updating to CMake 3.x solves the problem.
Looks like it is better crafted.
Other parties interested in Calamares should already have CMake 3.x
so this is not a problem.
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.
Now linking with -Wl,--no-undefined!
Moved find_package KF5 from the root CMakeLists.txt to the partitioning
module where it belongs. KF5 deps should be limited to plugins.
Lots of random fixage to make stuff link.
Removed CalamaresApplication reference from Settings.
Removed the use of AbstractPage, we don't need it right now.