mirror of
https://github.com/openSUSE/libsolv.git
synced 2026-02-05 12:45:46 +01:00
4a0b11dcdfffb23cd4ac1c1572caf2fd320b76bb
CMake 4.0.0 removed a support for CMake scripts older than 3.5 and a build
with CMake 4.0.0-rc2 fails like this:
$ /usr/bin/cmake -S . -B redhat-linux-build
CMake Warning (dev) at CMakeLists.txt:1 (PROJECT):
cmake_minimum_required() should be called prior to this top-level project()
call. Please see the cmake-commands(7) manual for usage documentation of
both commands.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at CMakeLists.txt:3 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-- Configuring incomplete, errors occurred!
There seems to be no way of making the script working with all
versions. CMake 3.5 was relased in 2016.
This patch increases the minimal version to 3.5 and moves it to the top
of the script as it needs to be the very first thing of a script as
recommeded by cmake:
CMake Warning (dev) at CMakeLists.txt:1 (PROJECT):
cmake_minimum_required() should be called prior to this top-level project()
call. Please see the cmake-commands(7) manual for usage documentation of
both commands.
I did not set a supported upper version of CMake since I guess
we do not want to update it with every new minor CMake release.
Other printed CMake warnings are not news are not addressed with
this patch.
Libsolv
=======
This is libsolv, a free package dependency solver using a satisfiability
algorithm.
The code is based on two major, but independent, blocks:
1. Using a dictionary approach to store and retrieve package and
dependency information in a fast and space efficient manner.
2. Using satisfiability, a well known and researched topic, for
resolving package dependencies.
The sat-solver code has been written to aim for the newest packages,
record the decision tree to provide introspection, and also provides
the user with suggestions on how to deal with unsolvable
problems. It also takes advantage of repository storage to
minimize memory usage.
Supported package formats:
- rpm/rpm5
- deb
- arch linux
- haiku
- apk
Supported repository formats:
- rpmmd (primary, filelists, comps, deltainfo/presto, updateinfo)
- susetags, suse product formats
- mandriva/mageia (synthesis, info, files)
- arch linux
- red carpet helix format
- haiku
- apk
Build instructions
==================
Requires: cmake 2.8.5 or later
mkdir build
cd build
cmake ..
make
////
vim: syntax=asciidoc
////
Description
Library for solving packages and reading repositories
http://en.opensuse.org/openSUSE:Libzypp_satsolver
Languages
C
86%
SWIG
5.3%
Perl
4.3%
CMake
3.2%
Raku
0.9%
Other
0.3%