port-to-gtk3: Switch to Gtkmm3 (#7)
Switch to Gtkmm3 in configure.ac. Require version 3.0.0. Also update the build instructions in README and the package list in .gitlab-ci.yml. Starting from version 3.18.0 Gtkmm requires C++11 compilation [1][2][3]. Add a check for Gtkmm >= 3.18.0 in configure.ac and enable C++11 compilation accordingly. References: [1] Gtkmm 3.18.1 NEWS "Changes in 3.18 ... Use, and require C++11, ..." https://gitlab.gnome.org/GNOME/gtkmm/blob/3.18.1/NEWS#L35 [2] Murray's Blog - "gtkmm now uses C++11" https://www.murrayc.com/permalink/2015/07/31/gtkmm-now-uses-c11 [3] Murray's Blog - "gtkmm 3.18 and glibmm 2.46" https://www.murrayc.com/permalink/2015/09/25/gtkmm-3-18-and-glibmm-2-46 Closes #7 - Port to Gtk3
This commit is contained in:
parent
5379352766
commit
cc0740148e
|
@ -8,7 +8,7 @@ stages:
|
|||
before_script:
|
||||
- yum update -y
|
||||
- yum install -y which gnome-common gnome-doc-utils glib2-devel intltool
|
||||
gcc-c++ libuuid-devel parted-devel gtkmm24-devel make
|
||||
gcc-c++ libuuid-devel parted-devel gtkmm30-devel make
|
||||
polkit file rarian-compat
|
||||
|
||||
.ubuntu_image_template: &ubuntu_image_definition
|
||||
|
@ -17,7 +17,7 @@ stages:
|
|||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y gnome-common gnome-doc-utils libglib2.0-dev-bin
|
||||
uuid-dev libparted-dev libgtkmm-2.4-dev make
|
||||
uuid-dev libparted-dev libgtkmm-3.0-dev make
|
||||
policykit-1 rarian-compat
|
||||
|
||||
.build_stage_template: &build_stage_definition
|
||||
|
|
8
README
8
README
|
@ -86,7 +86,7 @@ b. Building from Source
|
|||
e2fsprogs
|
||||
parted
|
||||
gnome-common
|
||||
gtkmm24
|
||||
gtkmm3
|
||||
gettext
|
||||
gnome-doc-utils - required if help documentation is to be built
|
||||
|
||||
|
@ -96,11 +96,11 @@ b. Building from Source
|
|||
sudo apt-get build-dep gparted
|
||||
Or;
|
||||
sudo apt-get install build-essential e2fsprogs uuid uuid-dev \
|
||||
gnome-common libparted-dev libgtkmm-2.4-dev \
|
||||
gnome-common libparted-dev libgtkmm-3.0-dev \
|
||||
libdevmapper-dev gnome-doc-utils docbook-xml
|
||||
|
||||
On Fedora, you will need to run (as root);
|
||||
yum install gtkmm24-devel parted-devel e2fsprogs-devel gettext \
|
||||
yum install gtkmm30-devel parted-devel e2fsprogs-devel gettext \
|
||||
'perl(XML::Parser)' desktop-file-utils libuuid-devel \
|
||||
gnome-doc-utils docbook-dtds intltool gnome-common \
|
||||
gcc-c++
|
||||
|
@ -109,7 +109,7 @@ b. Building from Source
|
|||
On openSUSE, these dependencies may be obtained by running the
|
||||
following commands;
|
||||
sudo zypper install automake autoconf make gnome-common \
|
||||
libuuid-devel parted-devel gtkmm2-devel \
|
||||
libuuid-devel parted-devel gtkmm3-devel \
|
||||
gnome-doc-utils-devel docbook-xsl-stylesheets
|
||||
sudo zypper install -t pattern devel_c_c++
|
||||
|
||||
|
|
11
configure.ac
11
configure.ac
|
@ -199,7 +199,7 @@ AC_SUBST([GTHREAD_LIBS])
|
|||
AC_SUBST([GTHREAD_CFLAGS])
|
||||
|
||||
dnl GTKMM
|
||||
PKG_CHECK_MODULES([GTKMM], [gtkmm-2.4 >= 2.24.0])
|
||||
PKG_CHECK_MODULES([GTKMM], [gtkmm-3.0 >= 3.0.0])
|
||||
AC_SUBST([GTKMM_LIBS])
|
||||
AC_SUBST([GTKMM_CFLAGS])
|
||||
|
||||
|
@ -227,6 +227,15 @@ PKG_CHECK_EXISTS(
|
|||
],
|
||||
[AC_MSG_RESULT([no])]
|
||||
)
|
||||
dnl Check for gtkmm >= 3.18.0 which requires C++11 compilation.
|
||||
AC_MSG_CHECKING([for gtkmm >= 3.18.0 which requires C++11 compilation])
|
||||
PKG_CHECK_EXISTS(
|
||||
[gtkmm-3.0 >= 3.18.0],
|
||||
[need_cxx_compile_stdcxx_11=yes
|
||||
AC_MSG_RESULT([yes])
|
||||
],
|
||||
[AC_MSG_RESULT([no])]
|
||||
)
|
||||
dnl Enable C++11 compilation only if required.
|
||||
if test "x$need_cxx_compile_stdcxx_11" = xyes; then
|
||||
AX_CXX_COMPILE_STDCXX_11()
|
||||
|
|
Loading…
Reference in New Issue